Details
-
Improvement
-
Status: Closed
-
Major
-
Resolution: Done
-
Jena 3.17.0
-
None
Description
The interface org.apache.jena.sparql.core.DatasetChanges is not transaction-aware.
If there is to be such a change interface, the contract needs to be sorted out as to how it interacts with transactions and quad visibility while a transaction is in progress and not yet committed. This would mean alterations, not just incremental additions, and a clear contract of its behaviour.
This proposal is to deprecate, warning of removal of the current code to make space for a future, better functionality.
DatasetChanges is intertwined with DatasetGraphText which manages the transaction interactions itself.
Proposal: create space for future change. For Jena 4.0.0:
- Move the machinery and tests of DatasetChanges/DatasetGraphMonitor/QuadAction into jena-text
- Rename the moved classes so there are no name clashes of classes with the same name.
- Deprecate the existing jena-arq DatasetChanges/DatasetGraphMonitor/QuadAction, with warnings that they will be removed/changed because they are not transaction-aware.
- Remove usage from jena-tdb2 (it seems to be inaccessible) - there isn't the equivalent in jena-tdb.
This leaves jena-text functionality unchanged.
For information: There is a more sophisticated DatasetGraphChanges in RDF Delta which runs "inside" the transaction (it can see the changes as they happen) and also hooks into the transaction lifecycle.
Attachments
Issue Links
- links to