- From: Andy Seaborne <andy.seaborne@epimorphics.com>
- Date: Wed, 19 Oct 2011 11:32:18 +0100
- To: public-rdf-wg@w3.org
I went and read:
http://www.w3.org/TR/rdf-primer/#collections
http://www.w3.org/2007/02/turtle/primer/
http://www.w3.org/TR/rdf-mt/#collections
==== Suggestion:
1/ (primer) Not start by comparing to containers - indeed put before the
container section.
2/ (primer) defining "well-formed"
(formally in RDF semantics).
3/ strengthening the text [1, below] with "common (good?) practice is to
impose additional restrictions on the use of this vocabulary in order
restrict data to RDF collections of that are well-formed.
4/ Discouraging subclassing/subpropertying the vocabulary (?? not sure here)
5/ Discuss in relation to the Turtle syntax.
==== Primer
The explanation is in good shape; however, it does refer to RDF/XML and
rdf:parseType="Collection" so adding Turtle (or, better, are we going to
have a Turtle only primer, promoting
http://www.w3.org/2007/02/turtle/primer/
?)
It does (at the end) defer to semantics for "well-formedness". Adding
the semantic extensions for "well-formedness" into the primer would be good.
==== RDF Semantics
The first para has:
[[
Collections differ from containers in allowing branching structure and
in having an explicit terminator, allowing applications to determine the
exact set of items in the collection.
]]
This is unclear - branching as in "bad lists" multi-tails, or
multi-first vs branching as in "lists-within-lists". (and Seqs can be
branched with "Seqs-in-Seqs").
This text is good:
[[
It is intended for use typically in a context where a container is
described using blank nodes to connect a 'well-formed' sequence of
items, each described by two triples of the form
]]
so editorial revising the section to highlight this.
This seems to be the right route:
[[ [1]
Semantic extensions MAY place extra syntactic well-formedness
restrictions on the use of this vocabulary in order to rule out such graphs.
]]
and MAY => SHOULD or possibly saying "application can assume well-formed
lists unless told otherwise"
==== Speculation
It might also be a good idea to say that lists (the head of) should be
used as objects, not subjects, in preparation for lists-as-literals.
i.e. speak against:
(1 2 3 4) :property "foo" .
==== Subsidiary
== rdfs:comment
http://www.w3.org/1999/02/22-rdf-syntax-ns#
is not entirely readable. We have already said we want to make this URL
do something more modern so it is open to editing:
rdf:nil:
<rdfs:comment>The empty list, with no items in it. If the rest of a list
is nil then the list has no more items in it.</rdfs:comment>
rdf:first:
<rdfs:label>first</rdfs:label>
<rdfs:comment>The first item in the subject RDF list.</rdfs:comment>
rdf:rest:
<rdfs:label>rest</rdfs:label>
<rdfs:comment>The rest of the subject RDF list after the first
item.</rdfs:comment>
== Turtle issues
This isn't allowed
(1 2 3 ) .
a propertyObjectList is required
and this isn't RDF:
() .
Andy
Received on Wednesday, 19 October 2011 10:32:48 UTC