Re: interesting examples

On 11/28/2016 06:45 AM, Andy Seaborne wrote:
> 
> 
> On 26/11/16 21:36, Peter F. Patel-Schneider wrote:
>> Yes, I forgot about the phantom empty BGPs in the algebra.  My mistake.
>>
>> That addresses one or two of the cases, but not, I think, all the MINUS ones.
>>
>> I'll update my message.
>>
>>
>> What about { SELECT ?x WHERE { } }?  Isn't that translated as follows?
>>
>> Translate( { SELECT ?x WHERE { } } )
>> Join( Z, Translate( SELECT ?x WHERE { } ) )
>> Join( Z, ToMultiSet( ... ) )
>> ToMultiSet( ... )
> 
> ToMultiSet of a empty BGP which is included in the injection.

Yes there will be an empty BGP inside the ToMultiSet, but the problem is that
there is no BGP outside the multiset to limit the results of the subselect.  I
think that this causes problems in

SELECT ?x WHERE {
  ?x :p :v .
  FILTER ( EXISTS {
    SELECT (?y as ?x) WHERE {
      ?y :r :w .
      }
    } )
  }

>> Also, is every case of OPTIONAL going to work out in Proposal B?
> 
> Should do -  including doubly nested optionals.

I hope so, but I'm not certain.

> 
>    Andy
> 
>>
>> peter

Received on Monday, 28 November 2016 15:02:54 UTC