Re: Example updates

On Thu, Dec 3, 2009 at 5:57 AM, Steve Harris <steve.harris@garlik.com> wrote:
> On 3 Dec 2009, at 01:44, Paul Gearon wrote:
>
>> On Wed, Dec 2, 2009 at 6:32 AM, Steve Harris <steve.harris@garlik.com>
>> wrote:
>>>
>>> On 1 Dec 2009, at 21:06, Paul Gearon wrote:
<snip/>
>>>> (2)
>>>> WITH <people_graph>
>>>> INSERT INTO <email_graph> {?person foaf:mbox ?email };
>>>> INSERT INTO <name_graph> {?person foaf:name ?name }
>>>> WHERE {
>>>>  ?person a foaf:Person
>>>>  OPTIONAL { ?person foaf:mbox ?email }
>>>>  OPTIONAL { ?person foaf:name ?name }
>>>> }
>>>
>>> Surely variable bindings don't span the ; ?
>>
>> I expected them to come out of the WHERE, so yes, they do. The only
>> binding that occurs in the above example is in the WHERE clause. The
>> INSERTs are just using an already bound set of variables.
>
> To me that seems very strange.

I see where you are coming from, but recall that the ; characters are
just there to separate the various INSERTs and DELETEs. They are all
supposed to be part of the same command, and that command has a single
WHERE clause.

>From what I can see, the need for these separator characters is really
to protect having multiple directives, and wouldn't be needed if your
proposed option of using GRAPH inside a single INSERT and single
DELETE were adopted. (The point I failed to realize on my first time
through this). I'm still uncomfortable with "quadifying" the syntax in
this way, but it's starting to make more sense to me, particularly if
we can use WITH to reduce the use of the word GRAPH everywhere.

Regards,
Paul

Received on Thursday, 3 December 2009 16:39:08 UTC