- From: Sandro Hawke <sandro@w3.org>
- Date: Tue, 01 May 2012 08:45:48 -0400
- To: Andy Seaborne <andy.seaborne@epimorphics.com>
- Cc: public-rdf-dawg@w3.org
On Tue, 2012-05-01 at 09:10 +0100, Andy Seaborne wrote:
>
> On 30/04/12 18:02, Steve Harris wrote:
> > On 30 Apr 2012, at 13:27, Andy Seaborne wrote:
> >
> >>
> >>
> >> On 30/04/12 13:12, Eric Prud'hommeaux wrote:
> >>
> >>> This seems like a balance between consistency and convenience. It's
> >>> grammatically distinguishable in LL/LALR(1) with this patch:
> >>>
> >>> -[29] DataBlock ::= Var* '{' ( '(' DataBlockValue* ')' | NIL )* '}'
> >>> +[29] DataBlock ::= '(' Var* ')' '{' ( '(' DataBlockValue* ')' | NIL )* '}'
> >>> | Var '{' DataBlockValue* '}'
> >>>
> >>> IMO, it actually adds some consistency by sticking parens around the
> >>> var list.
> >>
> >>
> >> Rest assured that the worked example is also a working example! I added the feature as an extension to ARQ and it parses OK (including for the GraphPatternNotTriples which is the more senstive-to-change area).
> >>
> >> (Speculative thoughts from here)
> >>
> >>> One problem with "DATA" is that SPARQL's data is RDF triples, not
> >>> variable bindings. Practically, we may some day want to add premises
> >>> like:
> >>
> >> Using the FROM clause would seem good here:
> >>
> >>> DATA { :Fido a :Dog }
> >>> SELECT ?mammal { ?mammal a :Mammal }
> >>
> >> SELECT ?mammal { ?mammal a :Mammal }
> >> FROM DATA { :Fido a :Dog }
> >>
> >> or
> >>
> >> SELECT ?mammal { ?mammal a :Mammal }
> >> FROM { :Fido a :Dog }
> >
> > I agree with Eric, I think DATA is a bad choice of word here.
> >
> > I prefer BINDINGS to DATA - BINDINGS is more similar to BIND () than it is to DATA { … }, which should help people trying to learn.
> >
> > If we want to avoid strings starting lexically with BIND, then maybe VALUES? À la SQL.
>
> VALUES works for me.
+1
> Just for completeness, we could use syntax and
> splash out [*] on new delimiter tokens e.g. "{|" "|}"
>
> {| ?x <a> <b> <c> |}
>
> {| (?x ?y)
> (<a> 123)
> (<b> 456)
> (<c> 789)
> |}
>
> Andy
>
> [*] Sorry about that - to say it's raining here at the moment is
> understatement.
Just brainstorming: another angle is to think more in terms of a verb,
saying what is being done with the bindings/data/values, like
"INCLUDE" (or "INCLUDING") or "EXTEND" or "USE" or something like that.
-- Sandro
Received on Tuesday, 1 May 2012 12:46:00 UTC