- From: Andy Seaborne <andy@apache.org>
- Date: Wed, 14 Aug 2013 11:27:04 +0100
- To: public-sparql-dev@w3.org
The evaluation of GRAPH is defined by http://www.w3.org/TR/sparql11-query/#defn_evalGraph eval(D(G), Graph(var,P)) = Let R be the empty multiset foreach IRI i in D R := Union(R, Join( eval(D(D[i]), P) , Ω(?var->i) ) the result is R so it's a loop over Join( eval on graph_i of pattern {} Ω(?var->i) ) eval on graph_i of pattern {} is a binding od one row, no variables; the join identity. Joined to a binding of ?var/i and you get ?var/i. Union it all and it's the set of graph IRIs (no duplicates because the join identity does not introduce any). Andy On 13/08/13 20:10, Axel Polleres wrote: >> [[ >> The group pattern: >> { } >> matches any graph (including the empty graph) with one solution that does not bind any variables. >> ]] > > This only means that upon > > SELECT ?G WHERE { GRAPH ?G {} } > > also empty named graphs should be returned, which would not be the case for > > SELECT ?G WHERE { GRAPH ?G { ?S ?P ?O } } > > Obviously, this makes a difference for all graph stores that support empty named graphs. > So, to my understanding at least, this is not a bug in the spec. > > HTH, > Axel > > On 13 Aug 2013, at 20:21, David Booth <david@dbooth.org> wrote: > >> Hi Axel, >> >> That doesn't work in Sesame 2.7.1 at least, apparently because ?G is not bound, even though there is one solution. The SPARQL 1.1 spec says: >> http://www.w3.org/TR/sparql11-query/#emptyGroupPattern >> [[ >> The group pattern: >> { } >> matches any graph (including the empty graph) with one solution that does not bind any variables. >> ]] >> >> Is this a bug in the spec? >> >> David >> >> On 08/13/2013 11:48 AM, Axel Polleres wrote: >>> Hi Quentin, >>> >>> how about just >>> >>> SELECT ?G WHERE { GRAPH ?G {} } >>> >>> (no need to dump all triples, if the only concern is which ?G exist) >>> >>> BTW, public-sparql-dev@w3.org may be the list you wanted to use. >>> >>> best, >>> Axel >>> > >
Received on Wednesday, 14 August 2013 10:27:32 UTC