Re: updated draft

good evening;

> On 2017-04-02, at 19:37, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote:
> 
> […]
>> 
>>> 
>>> So you do not agree, for example, that that it is problematic that according
>>> to the SPARQL specification that the running the query
>>> 
>>> SELECT ?x WHERE {
>>>   ?x :p :d .
>>>   FILTER EXISTS { ?x :q :b . } }
>>> 
>>> against the graph
>>> 
>>> _:c :p :d .
>>> :e :q :b .
>>> 
>>> produces a result set containing a query solution that maps ?x to _:c?
>>> 
>>> peter
>> 
>> it would be problematic were the recommendation to require an implementation to produce that result.
>> the recommendation does not require that.
>> i do understand that various interpretations of the recommendation lead one to believe that it implies that result.
>> those interpretations are flawed.
>> 
>> best regards, from berlin,
>> 
>> 
>> 
>> ---
>> james anderson | james@dydra.com | http://dydra.com
> 
> Are you saying that the SPARQL specification at
> https://www.w3.org/TR/sparql11-query/ does not require this result?   My
> understanding is that it does.

we have been in disagreement on the conclusion, that the recommendation requires this interpretation, since the point when that example was put forward.

> 
> 
> My understanding is that, assuming that joins of empty BGPs are removed
> everywhere, the SPARQL specification translates the above query into
> 
> Project( ToList(Filter( exists ( BGP(?x :q :b) ) , BGP(?x :p :d) ) ) ,
>   { ?x } )
> 
> This expression is evaluated on the graph by first evaluating BGP(?x :p :d),
> resulting in the singleton multiset of solutions {{ {(?x,_:c)} }}.  Then the
> exists substitution is performed for the solution {(?x,_:c)}, resulting in
> BGP(_:c :q :b), whose subsequent evalution results in the multiset of
> solutions {{ {} }}, i.e., a multiset containing the empty solution.
> 
> Because the result is not the empty multiset, the filter does not filter out
> the solution {(?x,_:c)}.  So the result of the Filter expression is the
> singleton multiset of solutions {{ {(?x,_:c)} }}, and then the result of the
> entire query is the unordered list of solutions [ {(?x,_:c)} ].
> 
> What is wrong with this analysis?

your interpretation employs blank nodes in a manner which makes no sense.

best regards, from berlin.
---
james anderson | james@dydra.com | http://dydra.com

Received on Sunday, 2 April 2017 18:02:27 UTC