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

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

From: Sandro Hawke <sandro@w3.org>
Date: Fri, 09 Nov 2012 20:45:44 -0500
Message-ID: <509DB1C8.2020605@w3.org>
To: public-rdf-wg@w3.org
+1 to Richard's proposal in 
http://lists.w3.org/Archives/Public/public-rdf-wg/2012Nov/0116.html

A detail:

On 11/09/2012 07:56 AM, Richard Cyganiak wrote:
>>> >>2. You are concerned that the proposal is not phrased as actual literal spec text. Thus is does not yet spell out all the details that would enable you, as the editor of the spec, to assess whether the text is appropriate for the spec.
>> >
>> >Well, since you're praising my vagueness, I'll praise yours. Details
>> >would help. But I think there's enough here to work with, since the
>> >general direction is clear. But yes, I would like to know whether you
>> >think the full rules can be written out,
> I don't see a reason to believe that the full rules can't be written out.
>

The very short way to define a well-formed lists is that it's one which 
can be serialized losslessly in Turtle using the parens syntax.

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.   Graphs which 
can only be serialized in Turtle using one or more of those terms are 
not expected to be well-supported by tools.   Systems are encouraged to 
recognize well-formed list structures in graphs and handle them more 
efficiently.

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.

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. 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 01:46:00 GMT

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