Class DiffGraph

java.lang.Object
org.apache.jena.graph.impl.WrappedGraph
org.topbraid.jenax.util.TransparentWrappedGraph
org.topbraid.jenax.util.DiffGraph
All Implemented Interfaces:
org.apache.jena.graph.Graph, org.apache.jena.graph.impl.GraphWithPerform

public class DiffGraph extends TransparentWrappedGraph
A WrappedGraph that filters out deleted triples or adds added triples, without modifying the underlying base graph. This class is for single-threaded use only, typically used as temporary graph layer on top of an existing graph for the duration of some algorithm. This runs in two modes, based on the updateBaseGraph flag. By default/legacy (false) the system will only add triples that exist in none of the subgraphs of the delegate graph and claim to delete triples even if they exist in subgraphs only. If true, the adds will always be applied even if one of the subgraphs already contains the triple. This is making sure that transformations will always produce all requested triples. Furthermore this mode is more correct w.r.t. deletes because it will only allow deleting triples from the editable graph.
Author:
Holger Knublauch
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected org.apache.jena.graph.impl.GraphWithPerform
    This graph has additional triples that are not in the delegate.
    protected Set<org.apache.jena.graph.Triple>
    This Set has triples that are in the delegate but are excluded from the filtered graph.

    Fields inherited from class org.apache.jena.graph.impl.WrappedGraph

    base, gem

    Fields inherited from interface org.apache.jena.graph.Graph

    emptyGraph
  • Constructor Summary

    Constructors
    Constructor
    Description
    DiffGraph(org.apache.jena.graph.Graph delegate)
     
    DiffGraph(org.apache.jena.graph.Graph delegate, boolean updateBaseGraph)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(org.apache.jena.graph.Triple t)
     
    boolean
    contains(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
     
    boolean
    contains(org.apache.jena.graph.Triple t)
     
    protected boolean
    containsByEquals(org.apache.jena.graph.Graph g, org.apache.jena.graph.Triple t)
     
    void
    delete(org.apache.jena.graph.Triple t)
     
    org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple>
    find(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
     
    org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple>
    find(org.apache.jena.graph.Triple m)
     
    org.apache.jena.graph.Graph
     
    Set<org.apache.jena.graph.Triple>
     
    org.apache.jena.shared.PrefixMapping
     
    boolean
     
    boolean
    isIsomorphicWith(org.apache.jena.graph.Graph g)
     
    void
    performAdd(org.apache.jena.graph.Triple t)
     
    void
    performDelete(org.apache.jena.graph.Triple t)
     
    int
     

    Methods inherited from class org.topbraid.jenax.util.TransparentWrappedGraph

    getDelegate

    Methods inherited from class org.apache.jena.graph.impl.WrappedGraph

    clear, close, dependsOn, getCapabilities, getEventManager, getTransactionHandler, getWrapped, isClosed, remove

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface org.apache.jena.graph.Graph

    add, delete, find, stream, stream
  • Field Details

    • addedGraph

      protected org.apache.jena.graph.impl.GraphWithPerform addedGraph
      This graph has additional triples that are not in the delegate.
    • deletedTriples

      protected Set<org.apache.jena.graph.Triple> deletedTriples
      This Set has triples that are in the delegate but are excluded from the filtered graph.
  • Constructor Details

    • DiffGraph

      public DiffGraph(org.apache.jena.graph.Graph delegate)
    • DiffGraph

      public DiffGraph(org.apache.jena.graph.Graph delegate, boolean updateBaseGraph)
  • Method Details

    • add

      public void add(org.apache.jena.graph.Triple t)
      Specified by:
      add in interface org.apache.jena.graph.Graph
      Overrides:
      add in class org.apache.jena.graph.impl.WrappedGraph
    • delete

      public void delete(org.apache.jena.graph.Triple t)
      Specified by:
      delete in interface org.apache.jena.graph.Graph
      Overrides:
      delete in class org.apache.jena.graph.impl.WrappedGraph
    • getAddedGraph

      public org.apache.jena.graph.Graph getAddedGraph()
    • contains

      public boolean contains(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      Specified by:
      contains in interface org.apache.jena.graph.Graph
      Overrides:
      contains in class org.apache.jena.graph.impl.WrappedGraph
    • contains

      public boolean contains(org.apache.jena.graph.Triple t)
      Specified by:
      contains in interface org.apache.jena.graph.Graph
      Overrides:
      contains in class org.apache.jena.graph.impl.WrappedGraph
    • containsByEquals

      protected boolean containsByEquals(org.apache.jena.graph.Graph g, org.apache.jena.graph.Triple t)
    • find

      public org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple> find(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)
      Specified by:
      find in interface org.apache.jena.graph.Graph
      Overrides:
      find in class org.apache.jena.graph.impl.WrappedGraph
    • find

      public org.apache.jena.util.iterator.ExtendedIterator<org.apache.jena.graph.Triple> find(org.apache.jena.graph.Triple m)
      Specified by:
      find in interface org.apache.jena.graph.Graph
      Overrides:
      find in class org.apache.jena.graph.impl.WrappedGraph
    • getDeletedTriples

      public Set<org.apache.jena.graph.Triple> getDeletedTriples()
    • getPrefixMapping

      public org.apache.jena.shared.PrefixMapping getPrefixMapping()
      Specified by:
      getPrefixMapping in interface org.apache.jena.graph.Graph
      Overrides:
      getPrefixMapping in class org.apache.jena.graph.impl.WrappedGraph
    • isEmpty

      public boolean isEmpty()
      Specified by:
      isEmpty in interface org.apache.jena.graph.Graph
      Overrides:
      isEmpty in class org.apache.jena.graph.impl.WrappedGraph
    • isIsomorphicWith

      public boolean isIsomorphicWith(org.apache.jena.graph.Graph g)
      Specified by:
      isIsomorphicWith in interface org.apache.jena.graph.Graph
      Overrides:
      isIsomorphicWith in class org.apache.jena.graph.impl.WrappedGraph
    • performAdd

      public void performAdd(org.apache.jena.graph.Triple t)
      Specified by:
      performAdd in interface org.apache.jena.graph.impl.GraphWithPerform
      Overrides:
      performAdd in class org.apache.jena.graph.impl.WrappedGraph
    • performDelete

      public void performDelete(org.apache.jena.graph.Triple t)
      Specified by:
      performDelete in interface org.apache.jena.graph.impl.GraphWithPerform
      Overrides:
      performDelete in class org.apache.jena.graph.impl.WrappedGraph
    • size

      public int size()
      Specified by:
      size in interface org.apache.jena.graph.Graph
      Overrides:
      size in class org.apache.jena.graph.impl.WrappedGraph