Re: another problem with Proposal B

On 13/04/17 22:04, james anderson wrote:
> good evening;
>
>> On 2017-04-13, at 21:50, Peter F. Patel-Schneider <pfpschneider@gmail.com> wrote:
>>
>> [ā€¦] This removes the
>> initial empty BGP in many group graph patterns, including
>>  { VALUES ?junk { } BIND ( ?this AS ?that ) ?that a ex:bad . }
>> resulting in
>>  Join( Extend( empty multiset, ?that, ?this ), BGP( ?that a ex:bad ) )
>
> are these the same with respect to ā€œZā€ and simplification?
>
>      { VALUES ?junk { } BIND ( ?this AS ?that ) ?that a ex:bad . }

Similar, not same; there is an inner Z the start of the graph pattern. 
"Inner" in the sense that it ends up most nested in the algebra as the 
group graph pattern builds from left to right. The {} is part of the 
VALUES expression.

   (join
     (extend ((?that ?this))
       (join
         (Z)
         (table empty)))
     (bgp (triple ?that rdf:type ex:bad)) )

which becomes

   (join
     (extend ((?that ?this))
       (table empty))
     (bgp (triple ?that rdf:type ex:bad))))

>
> and
>
>      { { } BIND ( ?this AS ?that ) ?that a ex:bad . }

which has two Z, the implicit one and the one due to {}.

which is:

   (join
     (extend ((?that ?this))
       (join
         (Z)
         (Z)))
     (bgp (triple ?that rdf:type ex:bad))))

which becomes

  (join
     (extend ((?that ?this))
       (Z))
     (bgp (triple ?that rdf:type ex:bad))))

which is different because

VALUES ?junk { }

is a data table of no rows of one variable

whereas

{ { } BIND ( ?this AS ?that )

has an empty BGP, which evaluates to one row of no variables.

     Andy

>
> best regards, from berlin,
>
>
>
>

Received on Tuesday, 18 April 2017 15:51:33 UTC