- From: Steve Harris <steve.harris@garlik.com>
- Date: Tue, 16 Mar 2010 13:47:08 +0000
- To: Andy Seaborne <andy.seaborne@talis.com>
- Cc: SPARQL Working Group <public-rdf-dawg@w3.org>
One thing, all aggregates are supposed to be able to have DISTINCT as a flag, I don't think this is possible with the draft grammar. Also, for completeness, maybe we should have ALL, as the opposite, which is the default (as per SQL)? What about user-defined aggregates too? Can't see them. It seems a bit odd that COUNT() only takes Var, not Expression. COUNT(expr) is potentially useful, eg. COUNT(?x && ?y) # count rows where both ?x and ?y are defined. - Steve On 16 Mar 2010, at 10:54, Andy Seaborne wrote: > I'd taken a pass at a complete grammar for SPARQL 1.1 > > http://www.w3.org/2009/sparql/docs/sparql-grammar-11.html > > and attached. > > ** > Would someone with the power please enable public access to this file? > (chairs, team). I can't set the access control on it. > > Paul - I have tried to add the current update forms as I remember > them. Please can you let me know what I have got wrong from where > you are planning on going with the update doc. I have added Steve's > suggestion of DEFAULT as I understood it (never use absence, always > use DEFAULT, to refer tot the default graph). > > Andy > > The following are the current test cases: this is a woefully > incomplete set of tests: more test cases very welcome. > > > (empty string) > > LOAD <foo> INTO <blah> > > LOAD <foo1> <foo2> INTO <blah> > > LOAD <foo> INTO DEFAULT > > LOAD <foo> > > CLEAR DEFAULT > > CLEAR <g> > > DROP <g> > > CREATE <g> > > INSERT DATA { <X> <p> 123 } > > WITH <x> INSERT DATA { <X> <p> 123 } > > WITH <x> INSERT DATA > { > <X> <p> 123 > GRAPH <g> { <x1> <p1> 456 . } > } > > > WITH <x> INSERT DATA { > <X> <p> 123 > GRAPH <g> { <x1> <p1> 456 . } > GRAPH <g> {<X> <p> 123 } > } > > DELETE WHERE { ?x ?p ?o } > > WITH <x> DELETE WHERE { ?x ?p ?o } > > DELETE WHERE { GRAPH <g> { ?x ?p ?o } } > > DELETE { ?x ?p ?o } WHERE { GRAPH <g> { ?x ?p ?o } } > > DELETE { ?x ?p ?o } INSERT { ?x ?p ?o } WHERE { GRAPH <g> { ?x ?p ? > o } } > > INSERT { ?x ?p ?o } WHERE { GRAPH <g> { ?x ?p ?o } } > > CREATE <g> CLEAR <G> LOAD <data> INTO <G> WITH <x> DELETE WHERE { ? > x ?p ?o } > > CREATE <g> ; CLEAR <G> ; LOAD <data> INTO <G> ; WITH <x> DELETE > WHERE { ?x ?p ?o } > > <sparql-grammar-11.html> -- Steve Harris, Garlik Limited 2 Sheen Road, Richmond, TW9 1AE, UK +44 20 8973 2465 http://www.garlik.com/ Registered in England and Wales 535 7233 VAT # 849 0517 11 Registered office: Thames House, Portsmouth Road, Esher, Surrey, KT10 9AD
Received on Tuesday, 16 March 2010 13:47:39 UTC