- From: Enrico Franconi <franconi@inf.unibz.it>
- Date: Tue, 8 Aug 2006 11:19:56 +0200
- To: Fred Zemke <fred.zemke@oracle.com>
- Cc: public-rdf-dawg@w3.org
Basically the definition of "Basic Graph Pattern E-matching" <http:// www.w3.org/2001/sw/DataAccess/rq23/rq24.html#BGPgeneral> is not equivalent to the expected implementation as described in <http:// www.w3.org/2001/sw/DataAccess/rq23/rq24.html#BGPsparql>. This means that the definition of "Basic Graph Pattern E-matching" has to be changed. Jorge Pérez wrote: > In the following I will write blank nodes in uppercase and > uris in lowercase (just to simplify notation). > > Consider the graph > > G = { (a, p, a), (X, p, Y) } > > and the basic graph pattern query > > Q = { (?q, p, ?q) }. > > I'm considering simple entailment and Q does not have any blank > node, so > we can choose G itself to be the scoping graph and the terms of G > to be > the scoping set, and then any replacement of the single variable in Q > results in a well formed RDF graph for simple entailment. So > applying the > definitions in the current specification of SPARQL, one obtains that a > mapping S is a solution if the graph > > { (a, p, a), (X, p, Y), (S(?q), p, S(?q)) } > > is entailed (simple entailment) by G. This leads to three distinct > solutions, S(?q) = a, S(?q) = X, and S(?q) = Y, because this three > graphs > > { (a, p, a), (X, p, Y), (X, p, X) } > { (a, p, a), (X, p, Y), (Y, p, Y) } > { (a, p, a), (X, p, Y) } > > are entailed by G. The problem (from my point of view) is that this > example > shows is that the claim currently in section 5.2 in the specification > (rq24) > > "A pattern solution can then be defined as follows: to match a > basic graph > pattern under simple entailment, it is possible to proceed by > finding a > mapping from blank nodes and variables in the basic graph pattern > to terms > in the graph being matched; a pattern solution is then a mapping > restricted to just the variables, possibly with blank nodes > renamed. [...]" > > is not true. In my example, because Q does not have any blank node, > the > only mapping that one finds from ?q to the terms of G is ?q -> a. cheers --e.
Received on Tuesday, 8 August 2006 09:20:13 UTC