You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Stephen Allen <sa...@apache.org> on 2012/08/24 21:52:48 UTC
Re: scope of transaction in Fuseki for SPARQL UPDATE
On Fri, Aug 24, 2012 at 11:42 AM, Bill Roberts <bi...@swirrl.com> 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
Re: scope of transaction in Fuseki for SPARQL UPDATE
Posted by Bill Roberts <bi...@swirrl.com>.
Great, thanks very much Stephen for the comprehensive answer.
Bill
On 24 Aug 2012, at 20:52, Stephen Allen <sa...@apache.org> wrote:
> On Fri, Aug 24, 2012 at 11:42 AM, Bill Roberts <bi...@swirrl.com> 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