- 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