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.

openGraph

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

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.

createGraph

openGraph

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.

openGraph

removeGraph

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.