- 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