On Fri, Aug 24, 2012 at 11:42 AM, Bill Roberts <[email protected]> wrote:
> With Fuseki, if I send a SPARQL UPDATE to the 'update' endpoint that contains
> more than one operation, eg
>
>
>
> DELETE {…pattern…} WHERE {…} ;
> INSERT DATA { …some triples…}
>
> what is the scope of the transaction? Does it include both of the
> operations? Or does each operation happen in a separate transaction?
>
> (Note that I am thinking of a case that can't easily be merged into a single
> DELETE..INSERT..WHERE pattern so does require more than one operation}
>
The relevent part of SPARQL 1.1 Update [1] is:
Each request SHOULD be treated atomically by a SPARQL 1.1
Update service, i.e., the execution of all the operations in one
request should be performed atomically. Any resulting concurrency
issues will be a matter for each implementation to consider
according to its own architecture.
Fuseki will perform multiple update operations in a single request
atomically. It depends on the underlying store as to whether or not
this is a full ACID transaction. TDB will use transactions.
-Stephen
[1] http://www.w3.org/TR/sparql11-update/#updateServices