- From: Richard Cyganiak <richard@cyganiak.de>
- Date: Fri, 17 May 2013 15:51:37 +0100
- To: Eric Prud'hommeaux <eric@w3.org>
- Cc: Andy Seaborne <andy.seaborne@epimorphics.com>, "public-rdf-comments@w3.org" <public-rdf-comments@w3.org>
On 17 May 2013, at 15:32, Eric Prud'hommeaux <eric@w3.org> wrote:
> It's a little odd that we allow
> [ :p :o ] . --> _:b1 :p :o .
> and not
> ( 1 ) . --> _:b1 rdf:first 1 ; rdf:rest rdf:nil .
> The former is enabled by blankNodePropertyList in:
> [6] triples ::= subject predicateObjectList
> | blankNodePropertyList predicateObjectList?
>
> We could enable the latter
To me that would be a sensible change, but not sure if worth another LC.
Richard
> by changing that to:
> [6] triples ::= subject predicateObjectList
> | blankNodePropertyList predicateObjectList?
> | nonEmptyCollection predicateObjectList?
>
> , adding the referenced production:
> [15b] nonEmptyCollection ::= '(' object+ ')'
>
> , adding a Term Constructur below Collection
> <http://www.w3.org/TR/turtle/#handle-collection>
> ┌──────────────┬──────────────┬────────────────────────────────────────────┐
> │ production │ type │ procedure │
> │ "collection" │ "blank node" │ "A blank node is generated. Note the │
> │ │ │ rules for collection in the next section." │
> └──────────────┴──────────────┴────────────────────────────────────────────┘
>
> , changing Triple Constructors to include nonEmptyCollection
> <http://www.w3.org/TR/turtle/#collection>
>
> adding some tests, and going through another LC.
>
>
>> Richard
>>
>>
>>
>>>
>>> To make this work (SPARQL 1.0), there is a certain amount of jumping through hoops. It makes the treatment of argument lists in function have to have special grammar rules for ().
>>>
>>> Andy
>>>
>>> Unofficial:
>>> http://www.sparql.org/query-validator.html
>>>
>>> (does W3C want to take this and support it c.f. http://www.w3.org/RDF/Validator/)
>>>
>>>> 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
>
> --
> -ericP
Received on Friday, 17 May 2013 14:52:08 UTC