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.
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.
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.
name - the name to give to the new graph
strict - true to cause existing bindings to throw an exception
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.
name - the name of the graph to find and return
strict - false to create a new one if one doesn't already exist
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.