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 Detail

      • 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​(java.util.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 Detail

      • 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