Re: BIND, FILTERs and BGPs

Slight update:

>      { F1 P1 KW(Expr AS ?Var)  P2 F2}
>      =:=
>      { { SELECT * (Expr AS ?Var) { P1 P2 } } F1 F2 }

I think we agreed (although with a narrow majority) rather on

>      { { SELECT * (Expr AS ?Var) { P1 } } P2 F1 F2 }

i.e. order-dependence, in the last call [1].


best,
Axel


1. http://www.w3.org/2009/sparql/meeting/2010-10-12#line0228

On 14 Oct 2010, at 09:10, Andy Seaborne wrote:

> 
> 
> On 14/10/10 12:18, Axel Polleres wrote:
> ...
> >> I suggest that a sequence of BINDs is considered as ending one BGP, not
> >> having nested BGPs subject to FILTERs.
> >>
> >> ASK { BIND("foo" AS ?bar) . BIND(2 AS ?two) . FILTER(?two = 2) }
> >>
> >
> > ah, ok, gotcha, so you say all BINDs and FILTERS belong to the same group and will be ordered
> > in the sense that first the BINDs are evaluated lexicographically and then the FILTERs.
> > that looks fine to me then in principle, it just means that the Subselect rwriting discussed
> > in the last call would need to put the FILTERs outside the subselect, right?
> 
> I wasn't planning on defining the translation of BIND in to the algebra
> using that syntactic form.  Instead, I was thinking of going direct
> during group pattern translatation whch already gathers up FILTER
> (not that there are BGPs in the *syntax* any more because of paths).
> 
> However, roughly, if P1 and P2 are constrained appropriately:
> 
>      { F1 P1 KW(Expr AS ?Var)  P2 F2}
>      =:=
>      { { SELECT * (Expr AS ?Var) { P1 P2 } } F1 F2 }
> 
> 
>         Andy
> 
> >
> > cheers,
> > Axel
> 

Received on Thursday, 14 October 2010 17:16:40 UTC