Re: Inline data

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.

- Steve

-- 
Steve Harris, CTO
Garlik, a part of Experian 
1-3 Halford Road, Richmond, TW10 6AW, UK
+44 20 8439 8203  http://www.garlik.com/
Registered in England and Wales 653331 VAT # 887 1335 93
Registered office: Landmark House, Experian Way, NG2 Business Park, Nottingham, Nottinghamshire, England NG80 1ZZ

Received on Monday, 30 April 2012 17:03:14 UTC