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
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
FieldsModifier and TypeFieldDescriptionprotected org.apache.jena.graph.impl.GraphWithPerformThis 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, gemFields inherited from interface org.apache.jena.graph.Graph
emptyGraph -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd(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.GraphSet<org.apache.jena.graph.Triple>org.apache.jena.shared.PrefixMappingbooleanisEmpty()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
getDelegateMethods inherited from class org.apache.jena.graph.impl.WrappedGraph
clear, close, dependsOn, getCapabilities, getEventManager, getTransactionHandler, getWrapped, isClosed, removeMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.jena.graph.Graph
add, delete, find, stream, stream
-
Field Details
-
addedGraph
protected org.apache.jena.graph.impl.GraphWithPerform addedGraphThis graph has additional triples that are not in the delegate. -
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:
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
-
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
-