Re: What is "the serious bug in entailment semantics" found by J. Perez"?

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