Hi group,
I did not see any response to my question below, which is usual for this
list where responses are usually fast and competent. As this is quite a
crucial issue for our upgrade right now, I would like to ask again, and
rephrase my question. I understand SDB is rather unsupported, but the
issue is really a question on the core API.
Deprecating the BulkUpdateHandler will not only affect SDB but any other
database such as Oracle RDF (the Jena adapter of which implements its
own BUH right now). Granted, the class is not gone yet, but some
existing API calls (Model.add) already bypass the BulkUpdateHandler, and
I believe this was premature (revision 1419595). My suggestion is to
continue to delegate Model.add through the BulkUpdateHandler for the
upcoming release until the interface has been truly removed/replaced
with something else. BUH does not represent much implementation overhead
for Graph implementers, because they can simply use the default
implementation. The current implementation is too inefficient for our
product.
If there is a cleaner mechanism to get the same performance, then I'd be
happy to hear about it.
Thanks
Holger
On 8/29/2013 9:39, Holger Knublauch wrote:
SDB currently implements its own BulkUpdateHandler, and I just made
some tests that indicate that it is significantly faster than using
GraphUtil.add (2 seconds versus 40 seconds for 10k triples). Now that
BulkUpdateHandler has been deprecated, and Model.add is already using
GraphUtil.add, what call sequence are we supposed to use to retain the
good performance of the BulkUpdateHandler? Could a method
Graph.add(Iterable<Triple>) be added to allow graphs to optimize the
behavior for specific Graph types?
Thanks
Holger