W3C home > Mailing lists > Public > public-rdf-wg@w3.org > November 2012

Re: Proposal to resolve ISSUE-102 (well-formed lists)

From: Richard Cyganiak <richard@cyganiak.de>
Date: Sat, 10 Nov 2012 14:04:11 +0000
Cc: public-rdf-wg@w3.org
Message-Id: <8A418340-DA5F-443F-BB50-AEEF074CCB72@cyganiak.de>
To: Sandro Hawke <sandro@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 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:25:52 GMT