Re: interesting examples

On 28/11/16 15:02, Peter F. Patel-Schneider wrote:
>
>
> 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.

In proposal B the limitation happens on the inner (only) BGP.

> 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 16:29:14 UTC