I opened https://issues.apache.org/jira/browse/JENA-528 for this.  Please
add comments there, vote it up and perhaps watch it.

Claude


On Wed, Sep 4, 2013 at 1:32 AM, Holger Knublauch <[email protected]>wrote:

> On 9/4/2013 3:15, Claude Warren wrote:
>
>> As I recall the discuss around this topic dealt with the idea that you
>> could add each triple inside a transaction and when the transaction
>> committed transaction code would do the bulk update if supported.
>>
>
> If this were the case, then the code in the GraphUtil helper functions
> should probably wrap the individual performUpdate calls with a transaction,
> but they don't.
>
>
>     However
>> I may be way off base here.  I have no objection to retaining the BUH.
>>
>
> I would greatly appreciate seeing this resolved before the final release.
> As suggested earlier, we could gain time for a proper redesign by avoiding
> the calls to the GraphUtil replacement functions, or changing those
> functions so that they call graph.getBulkUpdateHandler() for the time
> being, and possibly undeprecate BUH for now.
>
> Thanks,
> Holger
>
>
>
>> Claude
>>
>>
>> On Tue, Sep 3, 2013 at 12:17 AM, Holger Knublauch <[email protected]
>> >wrote:
>>
>>  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
>>>>
>>>>
>>>>
>>
>


-- 
I like: Like Like - The likeliest place on the web<http://like-like.xenei.com>
LinkedIn: http://www.linkedin.com/in/claudewarren

Reply via email to