W3C home > Mailing lists > Public > public-rdf-comments@w3.org > May 2013

Re: Collection / Grammar Issue

From: Richard Cyganiak <richard@cyganiak.de>
Date: Thu, 16 May 2013 10:24:58 +0100
Message-Id: <77077E9A-691D-4A7E-91DD-EBA4E5588DDD@cyganiak.de>
Cc: Alex Milowski <alex@milowski.com>, "public-rdf-comments@w3.org" <public-rdf-comments@w3.org>
To: Sandro Hawke <sandro@w3.org>
On 16 May 2013, at 03:34, Sandro Hawke <sandro@w3.org> wrote:
> On 05/15/2013 07:41 PM, Alex Milowski wrote:
>> I ran across a problem while implementing a Turtle parser.
>> 
>> In section 3 of [1], the 7th example is: 
>> 
>> @prefix : <http://example.org/stuff/1.0/> .
>> (1 [:p :q] ( 2 ) ) .
> 
> (unofficial reply, trying to clarify)
> 
> Why would you want a turtle file that's just a list?

(Another unofficial reply)

Why not? RDF is supposed to be a flexible data model that can represent data coming from any source. Having a data source that is simply a list of things, and wanting to represent that in RDF, doesn't strike me as far-fetched. For example, there is a text/uri-list media type: http://amundsen.com/hypermedia/urilist/

For the record, I believe this limitation in the grammar is there because the Turtle grammar was derived from the SPARQL grammar, and SPARQL doesn't support such “naked lists” in triple patterns, because in a query they really wouldn't make sense.

I don't see this limitation in Turtle as a big problem, because there are workarounds such as spelling out the list in rdf:first and rdf:rest triples. So just changing the example is fine with me. Adding a note about it might be appropriate.

Richard



>  How would you use that?
> 
>         -- Sandro
> 
>> The production for triples in section 6.5 is:
>> 
>> [6] triples ::= subject predicateObjectList | blankNodePropertyList predicateObjectList?
>> [7] predicateObjectList ::= verb objectList (';' (verb objectList)?)*
>> [10] subject ::= iri | BlankNode | collection
>> 
>> According to these productions, the example is invalid.  The subject reduces to the collection and must be followed by a verb.  Yet, the example does not have a following predicate object list.
>> 
>> If this is truly suppose to be valid, I think the productions need to be:
>> 
>>    triples
>>             ::= subject predicateObjectList | 
>>                         collection predicateObjectList? | 
>>                         blankNodePropertyList predicateObjectList?
>>    subject ::= iri | BlankNode
>> 
>> BTW, it would be a wonderful editorial change to number the examples. 
>> 
>> [1] http://www.w3.org/TR/2013/CR-turtle-20130219/
>> 
>> -- 
>> --Alex Milowski
>> "The excellence of grammar as a guide is proportional to the paucity of the
>> inflexions, i.e. to the degree of analysis effected by the language
>> considered."
>> 
>> Bertrand Russell in a footnote of Principles of Mathematics
> 
Received on Thursday, 16 May 2013 09:25:29 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:29:56 UTC