You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jena.apache.org by Mark D Wood <ma...@kodakalaris.com> on 2015/05/01 20:34:23 UTC

Fuseki's transactional model

What is Fuseki's transactional model?   I understand that TDB uses transactions<https://jena.apache.org/documentation/tdb/tdb_transactions.html>, but its bulk loader does not.

In particular, if I use the graph store HTTP protocol<http://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/> and POST an RDF document, is that operation performed as a transaction?  (What constitutes a bulk load from the perspective of Fuseki?)

Thanks,
-Mark



Re: Fuseki's transactional model

Posted by Andy Seaborne <an...@apache.org>.
On 01/05/15 19:34, Mark D Wood wrote:
> What is Fuseki's transactional model?   I understand that TDB uses
> transactions<https://jena.apache.org/documentation/tdb/tdb_transactions.html>,
> but its bulk loader does not.
>
> In particular, if I use the graph store HTTP
> protocol<http://www.w3.org/TR/2013/REC-sparql11-http-rdf-update-20130321/>
> and POST an RDF document, is that operation performed as a
> transaction?  (What constitutes a bulk load from the perspective of
> Fuseki?)
>
> Thanks, -Mark
>
>
>

Hi Mark,

Each HTTP request is a transaction, that includes the Graph Store Protocol.

If the storage is TDB, it becomes a TDB transaction.
If it's in-memory, then it is done with a MRSW lock (no abort).

There is no specific bulk load for Fuseki.  The TDB bulk loaders work by 
not having transaction overheads and also by manipulating the low level 
files directly.

Currently, that's a size limitation.  Outside Apache Jena, there is a 
different version of TDB and I've done 25m triples loads with a 1G heap. 
  (25m just being a test size, not an innate limit).  Getting that ready 
is resource-limited.

	Andy