Class MultiUnion

All Implemented Interfaces:
Graph, GraphWithPerform

public class MultiUnion extends Polyadic

A graph implementation that presents the union of zero or more subgraphs, one of which is distinguished as the updateable graph.

  • Constructor Details

    • MultiUnion

      public MultiUnion()

      Construct a union of exactly no sub graphs.

    • MultiUnion

      public MultiUnion(Graph[] graphs)

      Construct a union of all of the given graphs

      Parameters:
      graphs - An array of the sub-graphs of this union
    • MultiUnion

      public MultiUnion(Iterator<Graph> graphs)

      Construct a union of all of the given graphs.

      Parameters:
      graphs - An iterator of the sub-graphs of this union. If graphs is a closable iterator, it will be automatically closed.
  • Method Details

    • performAdd

      public void performAdd(Triple t)

      Add the given triple to the union model; the actual component model to be updated will be the designated (or default) updateable graph.

      Specified by:
      performAdd in interface GraphWithPerform
      Overrides:
      performAdd in class GraphBase
      Parameters:
      t - A triple to add to the union graph
      Throws:
      JenaException - if the union does not contain any sub-graphs yet
    • performDelete

      public void performDelete(Triple t)

      Delete the given triple from the union model; the actual component model to be updated will be the designated (or default) updateable graph.

      Specified by:
      performDelete in interface GraphWithPerform
      Overrides:
      performDelete in class GraphBase
      Parameters:
      t - A triple to from the union graph
      Throws:
      JenaException - if the union does not contain any sub-graphs yet
    • graphBaseContains

      public boolean graphBaseContains(Triple t)

      Answer true if at least one of the graphs in this union contain the given triple.

      Parameters:
      t - A triple
      Returns:
      True if any of the graphs in the union contain t
    • graphBaseFind

      public ExtendedIterator<Triple> graphBaseFind(Triple t)

      Answer an iterator over the triples in the union of the graphs in this composition. Note that the requirement to remove duplicates from the union means that this will be an expensive operation for large (and especially for persistent) graphs.

      Parameters:
      t - The matcher to match against
      Returns:
      An iterator of all triples matching t in the union of the graphs.
    • addGraph

      public void addGraph(Graph graph)

      Add the given graph to this union. If it is already a member of the union, don't add it a second time.

      Overrides:
      addGraph in class Polyadic
      Parameters:
      graph - A sub-graph to add to this union