- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Sat, 10 Nov 2012 14:04:11 +0000
- To: Sandro Hawke <sandro@w3.org>
- Cc: public-rdf-wg@w3.org
On 10 Nov 2012, at 01:45, Sandro Hawke wrote: > An alternative articulation of Richard's proposal, with basically the same intent: one SHOULD NOT publish RDF graphs in Turtle which explicitly use the terms rdf:first, rdf:rest, or rdf:nil. What? No, that's completely different, and I'd -1 this articulation. This expresses what should be a constraint on the abstract syntax as a constraint on one concrete syntax. That's the XMP / RSS 1.0 anti-pattern. > Graphs which can only be serialized in Turtle using one or more of those terms are not expected to be well-supported by tools. That's backward. You're saying that Turtle doesn't have syntactic sugar for non-well-formed lists, and therefore such lists are not well-supported by tools, and therefore one shouldn't use such lists. But in reality the issue is that non-well-formed lists don't make sense, and therefore are not well-supported by tools, and there one shouldn't use them. The fact that Turtle didn't bother to include syntactic sugar for non-well-formed lists is *not* a reason against their use. > Systems are encouraged to recognize well-formed list structures in graphs and handle them more efficiently. Sounds reasonable. > Unfortunately, RDF/XML has a much more limited class of lists it can serialize without using the collection terms -- it can't handle typed or language-tagged literals in lists, as I recall. One more reason for *not* explaining or motivating well-formed lists in terms of concrete syntaxes. > I think formally the graph-structure constraint is something like: a "list node" is either rdf:nil or a blank nodes with one inbound arc and two outbound arcs, one using predicate rdf:first and the other using predicate rdf:rest with its object being a list node. The only use of rdf:first/rest/nil SHOULD be in these structures. This sounds about right to me. Best, Richard > That's my understanding of the constraint enforced by the constraint of being serializable in Turtle, but I might have gotten it wrong. > > -- Sandro > > > > > >
Received on Saturday, 10 November 2012 14:04:35 UTC