- From: Andy Seaborne <andy@apache.org>
- Date: Tue, 29 Nov 2016 16:40:28 +0000
- To: "Peter F. Patel-Schneider" <pfpschneider@gmail.com>, public-sparql-exists@w3.org
On 26/11/16 21:47, Peter F. Patel-Schneider wrote:
> On 11/26/2016 11:39 AM, Andy Seaborne wrote:
>>
>>
>> On 25/11/16 20:17, Peter F. Patel-Schneider wrote:
>>> What I am missing here is the intent behind the proposal.
>>>
>>> The intent behind my proposal (propsal A) is to be as simple as possible while
>>> fixing all of the known problems. If this changes some of the weird
>>> situations then so be it.
>>>
>>> The intent behind this proposal appears to keep results the same, except for
>>> the problematic cases. However, this is not stated anywhere that I can see.
>>> It is also the case that this proposal changes some non-problematic results.
>>>
>>> So, just what is this proposal supposed to be doing?
>>
>> Your characterisation is reasonable. It is least change (your examples today
>> are not right). To be least change - it simply replaces substitution, where
>> the variable binding is lost, with a mechanism which inserts the variable
>> binding.
>
> However, that doesn't always work, at least for MINUS as the extra variable
> bindings may connect the two sides of MINUS.
I don't follow this point.
Proposal B leaves in the variable bindings of the MINUS RHS so it does
not disturb the variable occurrences.
See the "interesting examples".
Proposal A does not handle FILTERS using passed in values in the RHS of
MINUS.
SELECT ?x WHERE {
?x :p ?v .
FILTER ( EXISTS {
?x :p :v .
MINUS { ?x :p ?w . FILTER(?w < ?v) }
} )
}
the FILTER is an eval error for unbound ?v
Andy
Received on Tuesday, 29 November 2016 16:41:03 UTC