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

From: Enrico Franconi <franconi@inf.unibz.it>
Date: Tue, 8 Aug 2006 11:19:56 +0200
Message-Id: <F503668C-A5CE-4BBC-820B-5360D55D916A@inf.unibz.it>

To: Fred Zemke <fred.zemke@oracle.com>
```
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

This archive was generated by hypermail 2.3.1 : Wednesday, 7 January 2015 15:00:51 UTC