Re: Collection / Grammar Issue

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