Uploaded image for project: 'Apache Jena'
  1. Apache Jena
  2. JENA-2071

Deprecate DatasetChanges

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Major
    • Resolution: Done
    • Jena 3.17.0
    • Jena 4.0.0
    • ARQ, Text
    • 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:

      1. Move the machinery and tests of DatasetChanges/DatasetGraphMonitor/QuadAction into jena-text
      2. Rename the moved classes so there are no name clashes of classes with the same name.
      3. Deprecate the existing jena-arq DatasetChanges/DatasetGraphMonitor/QuadAction, with warnings that they will be removed/changed because they are not transaction-aware.
      4. 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

          Activity

            People

              andy Andy Seaborne
              andy Andy Seaborne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: