- 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