All,

I've finally completed the work I was doing on streaming SPARQL Updates.  Yay!

There should be no user visible changes from this update, but there
will be some changes for 3rd party storage engines.  Specifically they
need to implement a couple of new methods in their UpdateEngineFactory
implementation.  See the changes to
jena-tdb/com.hp.hpl.jena.tdb.modify.UpdateEngineTDB in revision
1440841 to see what probably needs to be done for your engine.

What this change enables:
  1) Update requests that can contain an unlimited number of queries
  2) Update queries that can contain an unlimited number of quads
inside of INSERT DATA and DELETE DATA queries
  3) If the underlying storage engine is transactional, then Fuseki
can now stream the updates directly to the engine, theoretically
allowing an unlimited number of quads to be inserted in a single
query*

To exploit these new capabilities to the fullest, you probably need to
use jena-client, which is able create streaming update requests both
for local datasets, and remote HTTP endpoints.

Please let me know if you notice any problems.  As this is a pretty
big feature change, I would appreciate test reports if you have time.

-Stephen


* I believe TDB still buffers uncommitted changes in memory, so there
is still a limit here (but it is a lot better than before, which
stored multiple copies of the update request in memory).  You can test
this unlimited feature by using GraphStoreNull, which will just throw
away new quads (use the assembler attached to JENA-330 to stand up a
Fuseki instance using GraphStoreNull).

Reply via email to