On 04/09/12 08:30, Dave Reynolds wrote:
On 03/09/12 18:33, Andy Seaborne wrote:
As part of wanting to tidy up and reduce the "core" of Jena, I'd like to
propose we

   Remove BulkUpdateHandler interface
     Migrate it's few useful operation to Graph.

   Start to provide reification with "standard" only.
     graph.QueryHandler only used to support reification.

Seems reasonable. I've used BulkUpdateHandler in client code on the
assumption that a store *might* optimize the updates but at least some
of those cases are, or could be made, add(Graph) calls.

Presumably this would this be a normal deprecate-then-remove-later cycle?

The Model operations remain -

Model.add(Statement[])
Model.add(StmtIterator iter)
Model.add(List<Statement> statements)

We could also consider simplification at the Model level- that wasn't on my list.

It's interesting if you're using Graph level in an application - I'd like to promote the Graph "SPI" as a more formally API after the cleaning up.

Is that code still in use?

At the SPI level (Graph API), there is less of a contract on migration.

The reasoner does use the bulk update handler - but that's in-codebase so that will just be cleaned up as part of the change. (Elsewhere in the main code base most calls to getBulkUpdateHandler are ... implementations of getBulkUpdateHandler over another graph!)

TDB has a bulk update handler to do removeAll and remove(s,p,o) without the problems isomorphic to CCME.

SDB has a bulk update handler but the implementation of removeAll is in the graph anyway.

In executing on this, I'd do at least a local deprecation cycle to track down and migrate the current code without needing a local big bang.

Then at least a minor number version change to 2.10.0 would be good when the change happens.

Observation on the deprecate-remove cycle: we know people don't upgrade incrementally because they don't need to.

Another issue on the release pipeline is that some users are not testing the development builds, only checking after a release. That's bad for them and less than helpful for us. I don't want the effect of this to be making work for the project. We make the deliverables in exactly the form we release in every night so the only difference is location.

        Andy


Dave


Reply via email to