incubator-jena-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Stephen Allen" <>
Subject SPARQL 1.1 Update in ARQ 2.8.7
Date Wed, 26 Jan 2011 15:19:21 GMT

I am working on updating Parliament to ARQ 2.8.7 from 2.8.5.  I've noticed
that there are now two parallel SPARQL/Update mechanisms [1].  I'm guessing
the "submission" package refers to the SPARQL Update member submission [2]
and "request" is the new support added for the SPARQL 1.1 Update working
draft [3]?

I'd like to implement the new mechanism for Parliament.  Previously, I was
able to subclass UpdateProcessorVisitor (now
UpdateProcessorSubmissionVisitor) in order to provide my own implementation
for certain methods.  As an example, Parliament is implemented as a
collection of triple stores, so it can safely read from one graph while
writing to another one (and thus avoid buffering all statements in an
ArrayList).  Also ARQ currently stores all WHERE clause bindings in a
ArrayList during an insert/delete operation, but I would like to make this
more memory efficient for large updates by serializing bindings to disk in a
temporary file (after it passes a threshold).

With an eye towards not copying a lot of ARQ code into my codebase, would it
be possible to change the class access modifier of
com.hp.hpl.jena.sparql.modify.UpdateEngineWorker to public instead of
package-private and make some of the private methods protected instead (also


P.S. I note that the following SPARQL/Update functions are specified in your
implementation/grammar: ADD, MOVE, COPY.  However I don't see them in the
latest working draft [3].  Presumably they are coming in the future?

[1] "com.hp.hpl.jena.sparql.modify.request" and

View raw message