com.hp.hpl.jena.graph.compose
Class Union

java.lang.Object
  extended by com.hp.hpl.jena.graph.impl.GraphBase
      extended by com.hp.hpl.jena.graph.compose.CompositionBase
          extended by com.hp.hpl.jena.graph.compose.Dyadic
              extended by com.hp.hpl.jena.graph.compose.Union
All Implemented Interfaces:
Graph, GraphAdd, com.hp.hpl.jena.graph.impl.GraphWithPerform

public class Union
extends Dyadic
implements Graph

A class representing the dynamic union of two graphs. Addition only affects the left operand, deletion affects both.

Author:
hedgehog
See Also:
MultiUnion

Field Summary
 
Fields inherited from class com.hp.hpl.jena.graph.impl.GraphBase
TOSTRING_TRIPLE_BASE, TOSTRING_TRIPLE_LIMIT
 
Fields inherited from interface com.hp.hpl.jena.graph.Graph
emptyGraph
 
Constructor Summary
Union(Graph L, Graph R)
           
 
Method Summary
 boolean graphBaseContains(Triple t)
           
 com.hp.hpl.jena.util.iterator.ExtendedIterator<Triple> graphBaseFind(TripleMatch t)
          To find in the union, find in the components, concatenate the results, and omit duplicates.
 void performAdd(Triple t)
          To add a triple to the union, add it to the left operand; this is asymmetric.
 void performDelete(Triple t)
          To remove a triple, remove it from both operands.
 
Methods inherited from class com.hp.hpl.jena.graph.compose.Dyadic
close, dependsOn, getL, getR, union
 
Methods inherited from class com.hp.hpl.jena.graph.compose.CompositionBase
butNot, ifIn, ifIn, recording, reject, rejecting, rejecting
 
Methods inherited from class com.hp.hpl.jena.graph.impl.GraphBase
add, contains, contains, delete, find, find, forTestingOnly_graphBaseFind, getBulkUpdateHandler, getCapabilities, getEventManager, getPrefixMapping, getReifier, getStatisticsHandler, getTransactionHandler, isClosed, isEmpty, isIsomorphicWith, notifyAdd, notifyDelete, queryHandler, size, toString, toString
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface com.hp.hpl.jena.graph.Graph
close, contains, contains, delete, dependsOn, find, find, getBulkUpdateHandler, getCapabilities, getEventManager, getPrefixMapping, getReifier, getStatisticsHandler, getTransactionHandler, isClosed, isEmpty, isIsomorphicWith, queryHandler, size
 
Methods inherited from interface com.hp.hpl.jena.graph.GraphAdd
add
 

Constructor Detail

Union

public Union(Graph L,
             Graph R)
Method Detail

performAdd

public void performAdd(Triple t)
To add a triple to the union, add it to the left operand; this is asymmetric.

Specified by:
performAdd in interface com.hp.hpl.jena.graph.impl.GraphWithPerform
Overrides:
performAdd in class com.hp.hpl.jena.graph.impl.GraphBase

performDelete

public void performDelete(Triple t)
To remove a triple, remove it from both operands.

Specified by:
performDelete in interface com.hp.hpl.jena.graph.impl.GraphWithPerform
Overrides:
performDelete in class com.hp.hpl.jena.graph.impl.GraphBase

graphBaseContains

public boolean graphBaseContains(Triple t)
Overrides:
graphBaseContains in class com.hp.hpl.jena.graph.impl.GraphBase

graphBaseFind

public com.hp.hpl.jena.util.iterator.ExtendedIterator<Triple> graphBaseFind(TripleMatch t)
To find in the union, find in the components, concatenate the results, and omit duplicates. That last is a performance penalty, but I see no way to remove it unless we know the graphs do not overlap.

Specified by:
graphBaseFind in class com.hp.hpl.jena.graph.impl.GraphBase


Copyright © 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Hewlett-Packard Development Company, LP