On 26/04/12 18:44, Andy Seaborne wrote:
On 26/04/12 17:58, Robert Vesse wrote:
Ok


Not sure I entirely understand what the proposal on BINDINGS is so please
correct me if I'm wrong. It sounds like it will be possible to the do the
following:

SELECT *
{
BINDINGS ?x { (<a> ) (<b> ) (<c> ) }
?x<property> ?value .
}

Or have I misunderstood?

No - spot on although the word may not be BINDINGS. BIND and BINDINGS -
similar but different.

It's a data table - it's logically joined to the rest of the group.

The eval order is

patterns - BIND - Inline DATA - FILTER

i.e. between BIND and FILTER.

And, ideally, I want to suggest a two syntax forms:

# One variable short form.
DATA ?var1 { 1 2 <a> <b> }

# Multi variable
DATA (?var1 ?var2) {
(1 <b>)
(3 <a>) }

because one variable is a common usage.

But we'll have to see about the details - I am just experimenting with
the design at the moment in preparation for a complete proposal to
SPARQL-WG.

Comments welcome - nothing too radical is going to be accepted though.

Implementation in ARQ dev build.

I did find that you can't do the eval reordering game - the DATA block has to execute where it's defined so that OPTIONALs work as (I) expected.

        Andy

Reply via email to