W3C home > Mailing lists > Public > public-rdf-dawg@w3.org > April to June 2012

Re: Inline data

From: Andy Seaborne <andy.seaborne@epimorphics.com>
Date: Tue, 01 May 2012 13:58:30 +0100
Message-ID: <4F9FDDF6.4090407@epimorphics.com>
To: public-rdf-dawg@w3.org


On 01/05/12 13:45, Sandro Hawke wrote:
> 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

The editor will go with that for now.

>
>> 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:

ack

	Andy

> 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:59:00 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 16:15:48 GMT