Re: another problem with proposal B

On 03/15/2017 08:45 AM, Andy Seaborne wrote:
> 
> 
> On 10/03/17 18:36, Peter F. Patel-Schneider wrote:
>> while correctly leaving legal things like
>>
>> SELECT ?a WHERE {
>>  FILTER EXISTS { SELECT ?b WHERE { BIND ( ex:a AS ?a ) ?a ex:q ?b . } }
>>  ?a ex:p ?b .
>> }
>>
>> However, the evaluation rules for EXISTS break down.
> 
> I don't understand the point here - could you expand on this example please?
> 
>     Andy

Hmm.  Maybe there is no problem here.  I was trying to turn a pre-binding
problem into an EXISTS problem.

Consider

SELECT ?b WHERE { BIND ( ex:a AS ?a ) ?a ex:q ?b . }

with ?b pre-bound.

The translation ends up as a projection, and PrjMap is not defined on projection.

However a subselect wraps the projection inside a ToMultiSet.

So, sorry, not a problem with EXISTS, just one with pre-binding.

However, Project does show up in other places, so maybe there is still a bit
of a problem.


The solution is, I think, to change to


For any algebra expression X, define the Variable Remapping PrjMap(X):

   PrjMap(X) = replace all project operations with PrjMap(P,PV) for each
projection in X.


peter

Received on Wednesday, 15 March 2017 19:25:25 UTC