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

On 10 Aug 2006, at 08:25, Pat Hayes wrote:

>> 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>.
>
> Actually I think it is, but the issue still needs to be discussed.

No, it is not 'equivalent', but it is 'implied by'.
Indeed, you are saying that:

> This semantic condition then becomes a *necessary but possibly not  
> sufficient* condition on an answer set; that is, it does not  
> *define* the answer set, but merely imposes a semantic constraint  
> upon it.

I propose to fix the semantics to make the semantic definition  
equivalent to the implementation hint. You propose to upgrade the  
implementation hint to become a definition:

> The answer set may be *defined* in some other way - for current  
> purposes, by a matching algorithm - and the spec should then show  
> that this definition does indeed conform to the semantic constraint.

I oppose this, since the definition of answer set would not be a  
semantic definition based on entailment anymore. At this point why  
just not reduce the semantic definition to be just G |= S(Q) ? This  
would be also a necessary but possibly not sufficient condition on an  
answer set, but weaker than the current one. I am looking for the  
strongest condition, i.e., the necessary and sufficient. We already  
have one, we are working on it, give us time.

>>> 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.
>
> No, bnodes count as terms, so the terms in this example are a, X  
> and Y , so the mappings one finds here are ?q->A, ?q->X and ?q->Y.  
> Which is exactly what the definition gives one; so this does not  
> seem to be a strict counterexample to the wording in the spec, at  
> least on these grounds.

Pat, Jorge was referring to the subgraph pattern matching algorithm  
here, so it is a counterexample, as you say below.

> However, Enrico's point is well taken, as the usual algorithms in  
> use do not simply 'find a mapping' as the above quote says (and  
> whatever that means exactly :-), but instead perform *pattern  
> matching* against the graph; and if one does that, then the only  
> binding one finds is indeed the (?q-> a) case, since the pattern (? 
> q P ?q) does not match (X p Y).

Yep.

cheers
-e.

Received on Thursday, 10 August 2006 07:51:35 UTC