RDF Collections

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