Re: Discussion for replacement in proposal B (early binding)

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