Package org.topbraid.jenax.util
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.GraphWithPerformaddedGraphThis graph has additional triples that are not in the delegate.protected Set<org.apache.jena.graph.Triple>deletedTriplesThis Set has triples that are in the delegate but are excluded from the filtered graph.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(org.apache.jena.graph.Triple t)booleancontains(org.apache.jena.graph.Node s, org.apache.jena.graph.Node p, org.apache.jena.graph.Node o)booleancontains(org.apache.jena.graph.Triple t)protected booleancontainsByEquals(org.apache.jena.graph.Graph g, org.apache.jena.graph.Triple t)voiddelete(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.GraphgetAddedGraph()Set<org.apache.jena.graph.Triple>getDeletedTriples()org.apache.jena.shared.PrefixMappinggetPrefixMapping()booleanisEmpty()booleanisIsomorphicWith(org.apache.jena.graph.Graph g)voidperformAdd(org.apache.jena.graph.Triple t)voidperformDelete(org.apache.jena.graph.Triple t)intsize()-
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
-
-
-
-
Field Detail
-
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.
-
-
Method Detail
-
add
public void add(org.apache.jena.graph.Triple t)
- Specified by:
addin interfaceorg.apache.jena.graph.Graph- Overrides:
addin classorg.apache.jena.graph.impl.WrappedGraph
-
delete
public void delete(org.apache.jena.graph.Triple t)
- Specified by:
deletein interfaceorg.apache.jena.graph.Graph- Overrides:
deletein classorg.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:
containsin interfaceorg.apache.jena.graph.Graph- Overrides:
containsin classorg.apache.jena.graph.impl.WrappedGraph
-
contains
public boolean contains(org.apache.jena.graph.Triple t)
- Specified by:
containsin interfaceorg.apache.jena.graph.Graph- Overrides:
containsin classorg.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:
findin interfaceorg.apache.jena.graph.Graph- Overrides:
findin classorg.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:
findin interfaceorg.apache.jena.graph.Graph- Overrides:
findin classorg.apache.jena.graph.impl.WrappedGraph
-
getDeletedTriples
public Set<org.apache.jena.graph.Triple> getDeletedTriples()
-
getPrefixMapping
public org.apache.jena.shared.PrefixMapping getPrefixMapping()
- Specified by:
getPrefixMappingin interfaceorg.apache.jena.graph.Graph- Overrides:
getPrefixMappingin classorg.apache.jena.graph.impl.WrappedGraph
-
isEmpty
public boolean isEmpty()
- Specified by:
isEmptyin interfaceorg.apache.jena.graph.Graph- Overrides:
isEmptyin classorg.apache.jena.graph.impl.WrappedGraph
-
isIsomorphicWith
public boolean isIsomorphicWith(org.apache.jena.graph.Graph g)
- Specified by:
isIsomorphicWithin interfaceorg.apache.jena.graph.Graph- Overrides:
isIsomorphicWithin classorg.apache.jena.graph.impl.WrappedGraph
-
performAdd
public void performAdd(org.apache.jena.graph.Triple t)
- Specified by:
performAddin interfaceorg.apache.jena.graph.impl.GraphWithPerform- Overrides:
performAddin classorg.apache.jena.graph.impl.WrappedGraph
-
performDelete
public void performDelete(org.apache.jena.graph.Triple t)
- Specified by:
performDeletein interfaceorg.apache.jena.graph.impl.GraphWithPerform- Overrides:
performDeletein classorg.apache.jena.graph.impl.WrappedGraph
-
size
public int size()
- Specified by:
sizein interfaceorg.apache.jena.graph.Graph- Overrides:
sizein classorg.apache.jena.graph.impl.WrappedGraph
-
-