Class DatasetGraphChanges

java.lang.Object
org.apache.jena.sparql.core.DatasetGraphWrapper
org.apache.jena.rdfpatch.system.DatasetGraphChanges
All Implemented Interfaces:
org.apache.jena.atlas.lib.Closeable, org.apache.jena.atlas.lib.Sync, org.apache.jena.sparql.core.DatasetGraph, org.apache.jena.sparql.core.Transactional

public class DatasetGraphChanges extends org.apache.jena.sparql.core.DatasetGraphWrapper
Connect a DatasetGraph with RDFChanges. All operations on the DatasetGraph that cause changes have the change sent to the RDFChanges.

Optionally, a sync handler can be given that is called on sync() or begin. This class is stateless so updating the wrapped dataset is possible via the sync handler.

Synchronization can also be performed externally on the wrapped dataset.

Use DatasetGraphRealChanges to get a dataset that logs only changes that have a real effect - that makes the changes log reversible (play delete for each add) to undo a sequence of changes.

See Also:
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.apache.jena.sparql.core.Transactional

    org.apache.jena.sparql.core.Transactional.Promote
  • Constructor Summary

    Constructors
    Constructor
    Description
    DatasetGraphChanges(org.apache.jena.sparql.core.DatasetGraph dsg, RDFChanges monitor)
    Create a DatasetGraphChanges which does not have any sync handlers
    DatasetGraphChanges(org.apache.jena.sparql.core.DatasetGraph dsg, RDFChanges changesMonitor, Runnable syncHandler, Consumer<org.apache.jena.query.ReadWrite> txnSyncHandler)
    Create a DatasetGraphChanges which calls different patch log synchronization handlers on sync() and begin().
  • Method Summary

    Modifier and Type
    Method
    Description
    void
     
    void
    add(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
     
    void
    add(org.apache.jena.sparql.core.Quad quad)
     
    void
    addGraph(org.apache.jena.graph.Node graphName, org.apache.jena.graph.Graph data)
     
    void
     
    void
    begin(org.apache.jena.query.ReadWrite readWrite)
     
    void
    begin(org.apache.jena.query.TxnType txnType)
     
    void
     
    void
    delete(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
     
    void
    delete(org.apache.jena.sparql.core.Quad quad)
     
    void
    deleteAny(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
     
    org.apache.jena.graph.Graph
     
    org.apache.jena.graph.Graph
    getGraph(org.apache.jena.graph.Node graphNode)
     
     
    boolean
     
    boolean
    promote(org.apache.jena.sparql.core.Transactional.Promote type)
     
    void
    removeGraph(org.apache.jena.graph.Node graphName)
     
    void
     

    Methods inherited from class org.apache.jena.sparql.core.DatasetGraphWrapper

    clear, close, contains, contains, containsGraph, end, find, find, find, findNG, getBase, getBaseForQuery, getContext, getLock, getUnionGraph, getWrapped, isEmpty, isInTransaction, listGraphNodes, prefixes, size, supportsTransactionAbort, supportsTransactions, toString, transactionMode, transactionType, unwrap

    Methods inherited from class java.lang.Object

    equals, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.apache.jena.sparql.core.DatasetGraph

    addAll, stream, stream

    Methods inherited from interface org.apache.jena.sparql.core.Transactional

    calc, calculate, calculateRead, calculateWrite, exec, execute, executeRead, executeWrite
  • Constructor Details

    • DatasetGraphChanges

      public DatasetGraphChanges(org.apache.jena.sparql.core.DatasetGraph dsg, RDFChanges monitor)
      Create a DatasetGraphChanges which does not have any sync handlers
    • DatasetGraphChanges

      public DatasetGraphChanges(org.apache.jena.sparql.core.DatasetGraph dsg, RDFChanges changesMonitor, Runnable syncHandler, Consumer<org.apache.jena.query.ReadWrite> txnSyncHandler)
      Create a DatasetGraphChanges which calls different patch log synchronization handlers on sync() and begin(). syncHandler defaults (with null) to "no action". Transactional usage preferred.
  • Method Details

    • getMonitor

      public RDFChanges getMonitor()
    • sync

      public void sync()
      Specified by:
      sync in interface org.apache.jena.atlas.lib.Sync
      Overrides:
      sync in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • add

      public void add(org.apache.jena.sparql.core.Quad quad)
      Specified by:
      add in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      add in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • delete

      public void delete(org.apache.jena.sparql.core.Quad quad)
      Specified by:
      delete in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      delete in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • add

      public void add(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      Specified by:
      add in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      add in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • delete

      public void delete(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      Specified by:
      delete in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      delete in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • getDefaultGraph

      public org.apache.jena.graph.Graph getDefaultGraph()
      Specified by:
      getDefaultGraph in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      getDefaultGraph in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • getGraph

      public org.apache.jena.graph.Graph getGraph(org.apache.jena.graph.Node graphNode)
      Specified by:
      getGraph in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      getGraph in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • addGraph

      public void addGraph(org.apache.jena.graph.Node graphName, org.apache.jena.graph.Graph data)
      Specified by:
      addGraph in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      addGraph in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • removeGraph

      public void removeGraph(org.apache.jena.graph.Node graphName)
      Specified by:
      removeGraph in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      removeGraph in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • deleteAny

      public void deleteAny(org.apache.jena.graph.Node g, org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      Specified by:
      deleteAny in interface org.apache.jena.sparql.core.DatasetGraph
      Overrides:
      deleteAny in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • begin

      public void begin()
      Specified by:
      begin in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      begin in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • begin

      public void begin(org.apache.jena.query.TxnType txnType)
      Specified by:
      begin in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      begin in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • begin

      public void begin(org.apache.jena.query.ReadWrite readWrite)
      Specified by:
      begin in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      begin in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • promote

      public boolean promote()
      Specified by:
      promote in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      promote in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • promote

      public boolean promote(org.apache.jena.sparql.core.Transactional.Promote type)
      Specified by:
      promote in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      promote in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • commit

      public void commit()
      Specified by:
      commit in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      commit in class org.apache.jena.sparql.core.DatasetGraphWrapper
    • abort

      public void abort()
      Specified by:
      abort in interface org.apache.jena.sparql.core.Transactional
      Overrides:
      abort in class org.apache.jena.sparql.core.DatasetGraphWrapper