com.hp.hpl.jena.graph
Interface GraphMaker


public interface GraphMaker

A factory for providing instances of named graphs with appropriate storage models. It represents a directory, or a database, or a mapping: names map to graphs for the lifetime of the GraphMaker. Names can be "arbitrary" character sequences.

A GraphMaker has a reification style which is shared by all the graphs it creates.


Method Summary
 Graph addDescription(Graph desc, Node self)
          Add the description of this GraphMaker to the description graph desc, under the name self.
 void close()
          Close the factory - no more requests need be honoured, and any clean-up can be done.
 Graph createGraph()
          Answer a graph who's name isn't interesting.
 Graph createGraph(java.lang.String name)
          Create a graph that does not already exist - equivalent to
createGraph( name, false ).
 Graph createGraph(java.lang.String name, boolean strict)
          Create a new graph associated with the given name.
 Graph getDescription()
          Answer a Graph describing this GraphMaker using the vocabulary of JenaModelSpec.
 Graph getDescription(Node root)
           
 Graph getGraph()
          Answer the default graph of this GraphMaker.
 ReificationStyle getReificationStyle()
          Answer the reification style of all the graphs that this GraphMaker constructs.
 boolean hasGraph(java.lang.String name)
          return true iff the factory has a graph with the given name
 ExtendedIterator listGraphs()
          Answer an [extended] iterator where each element is the name of a graph in the maker, and the complete sequence exhausts the set of names.
 Graph openGraph()
          Answer the default graph of this GraphMaker, if it has one.
 Graph openGraph(java.lang.String name)
          Equivalent to openGraph( name, false )
 Graph openGraph(java.lang.String name, boolean strict)
          Find an existing graph that this factory knows about under the given name.
 void removeGraph(java.lang.String name)
          Remove the association between the name and the graph. create will now be able to create a graph with that name, and open will no longer be able to find it.
 

Method Detail

getReificationStyle

ReificationStyle getReificationStyle()
Answer the reification style of all the graphs that this GraphMaker constructs.

Returns:
the reification style given to all created graphs

getGraph

Graph getGraph()
Answer the default graph of this GraphMaker. The same graph is returned on each call. It may only be constructed on the first call of getGraph(), or at any previous time.

Returns:
the same default graph each time

openGraph

Graph openGraph()
Answer the default graph of this GraphMaker, if it has one. If not, throw an exception.


createGraph

Graph createGraph()
Answer a graph who's name isn't interesting. Each call delivers a different graph. The GraphMaker may reserve a bunch of names for this purpose, of the form "anon_", if it cannot support truly anonymous graphs.

Returns:
a fresh anonymous graph

createGraph

Graph createGraph(java.lang.String name,
                  boolean strict)
Create a new graph associated with the given name. If there is no such association, create one and return it. If one exists but strict is false, return the associated graph. Otherwise throw an AlreadyExistsException.

Parameters:
name - the name to give to the new graph
strict - true to cause existing bindings to throw an exception
Throws:
AlreadyExistsException - if that name is already bound.

createGraph

Graph createGraph(java.lang.String name)
Create a graph that does not already exist - equivalent to
createGraph( name, false ).


openGraph

Graph openGraph(java.lang.String name,
                boolean strict)
Find an existing graph that this factory knows about under the given name. If such a graph exists, return it. Otherwise, if strict is false, create a new graph, associate it with the name, and return it. Otherwise throw a DoesNotExistException.

Parameters:
name - the name of the graph to find and return
strict - false to create a new one if one doesn't already exist
Throws:
DoesNotExistException - if there's no such named graph

openGraph

Graph openGraph(java.lang.String name)
Equivalent to openGraph( name, false )


removeGraph

void removeGraph(java.lang.String name)
Remove the association between the name and the graph. create will now be able to create a graph with that name, and open will no longer be able to find it. Throws an exception if there's no such graph. The graph itself is not touched.

Parameters:
name - the name to disassociate
Throws:
DoesNotExistException - if the name is unbound

hasGraph

boolean hasGraph(java.lang.String name)
return true iff the factory has a graph with the given name

Parameters:
name - the name of the graph to look for
Returns:
true iff there's a graph with that name

getDescription

Graph getDescription()
Answer a Graph describing this GraphMaker using the vocabulary of JenaModelSpec.

Returns:
a Graph describing this Maker.

getDescription

Graph getDescription(Node root)

addDescription

Graph addDescription(Graph desc,
                     Node self)
Add the description of this GraphMaker to the description graph desc, under the name self.

Parameters:
desc - the graph to which to add the description
self - the root resource to use for the description

close

void close()
Close the factory - no more requests need be honoured, and any clean-up can be done.


listGraphs

ExtendedIterator listGraphs()
Answer an [extended] iterator where each element is the name of a graph in the maker, and the complete sequence exhausts the set of names. No particular order is expected from the list.

Returns:
an extended iterator over the names of graphs known to this Maker.


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