Re: agenda reminder for tomorrow...

> Concerning insert-data-same-bnode2.ru I prefer that the scope of  bnode
> _:b be one insert data  and hence that the generated bnodes be different.
> The reason is that if you execute the two insert data using one query or
> using two queries, the result is the same. Also it is more uniform with
> insert where.

GRAPH is not a factor so let's simplify a bit:

Consider

1/
One operation
Two uses of a bNode label in one INSERT DATA

INSERT DATA { _:b :p :o1 .
               _:b :p :o2 . }

2/
One operation
Only one syntactic mention of of _:b

INSERT DATA { _:b :p :o1 ; :p :o2 . }

3/ Two operations, one request
INSERT DATA { _:b :p :o1 } ;
INSERT DATA { _:b :p :o2 }

4/ Two operations, two requests

Request 1:
INSERT DATA { _:b :p :o1 }

Request 2:
INSERT DATA { _:b :p :o2 }


Cases (1) and (2) have the same bNode and because of (2) they must be 
the same bNode.  And it's that way in Turtle and SPARQL 1.0.

Cases (1) and (4) must be different.

We are left where the change happens - is (3) like (4) or (1)/(2)?

We already distinguish requests as atomic ("SHOULD be").  So across two 
requests, other things can change.  Requests are also the unit in the 
protocol and in the grammar.

I see (3) as just a different syntax, like (2) is to (1) hence I prefer 
(3) to be be like (1).  The rule is labels are scoped to the document 
(which is the request) rather than make an "operation" a significant unit.

This is not a "must be" technical decision - it's about style.

It also means ";" works like concatenating Turtle files in regards to 
label scoping.

	Andy

Received on Tuesday, 2 October 2012 10:23:21 UTC