Class TinkerGraph
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerGraph
-
- All Implemented Interfaces:
AutoCloseable,Graph,Host
public final class TinkerGraph extends Object implements Graph
An in-memory (with optional persistence on calls toclose()), reference implementation of the property graph interfaces provided by TinkerPop.- Author:
- Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classTinkerGraph.DefaultIdManagerA default set ofTinkerGraph.IdManagerimplementations for common identifier types.static interfaceTinkerGraph.IdManager<T>TinkerGraph will use an implementation of this interface to generate identifiers when a user does not supply them and to handle identifier conversions when querying to provide better flexibility with respect to handling different data types that mean the same thing.classTinkerGraph.TinkerGraphEdgeFeaturesclassTinkerGraph.TinkerGraphFeaturesclassTinkerGraph.TinkerGraphGraphFeaturesclassTinkerGraph.TinkerGraphVertexFeaturesclassTinkerGraph.TinkerGraphVertexPropertyFeatures-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.structure.Graph
Graph.Exceptions, Graph.Features, Graph.Hidden, Graph.OptIn, Graph.OptIns, Graph.OptOut, Graph.OptOuts, Graph.Variables
-
-
Field Summary
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description VertexaddVertex(Object... keyValues)voidclear()voidclose()This method only has an effect if theGREMLIN_TINKERGRAPH_GRAPH_LOCATIONis set, in which case the data in the graph is persisted to that location.GraphComputercompute()<C extends GraphComputer>
Ccompute(Class<C> graphComputerClass)org.apache.commons.configuration2.Configurationconfiguration()<E extends Element>
voidcreateIndex(String key, Class<E> elementClass)<E extends Element>
voiddropIndex(String key, Class<E> elementClass)Iterator<Edge>edges(Object... edgeIds)Graph.Featuresfeatures()Return TinkerGraph feature set.<E extends Element>
Set<String>getIndexedKeys(Class<E> elementClass)TinkerServiceRegistrygetServiceRegistry()<I extends Io>
Iio(Io.Builder<I> builder)static TinkerGraphopen()Open a newTinkerGraphinstance.static TinkerGraphopen(org.apache.commons.configuration2.Configuration configuration)Open a newTinkerGraphinstance.StringtoString()Transactiontx()Graph.Variablesvariables()Iterator<Vertex>vertices(Object... vertexIds)
-
-
-
Field Detail
-
GREMLIN_TINKERGRAPH_VERTEX_ID_MANAGER
public static final String GREMLIN_TINKERGRAPH_VERTEX_ID_MANAGER
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER
public static final String GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_VERTEX_PROPERTY_ID_MANAGER
public static final String GREMLIN_TINKERGRAPH_VERTEX_PROPERTY_ID_MANAGER
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY
public static final String GREMLIN_TINKERGRAPH_DEFAULT_VERTEX_PROPERTY_CARDINALITY
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_GRAPH_LOCATION
public static final String GREMLIN_TINKERGRAPH_GRAPH_LOCATION
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_GRAPH_FORMAT
public static final String GREMLIN_TINKERGRAPH_GRAPH_FORMAT
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_ALLOW_NULL_PROPERTY_VALUES
public static final String GREMLIN_TINKERGRAPH_ALLOW_NULL_PROPERTY_VALUES
- See Also:
- Constant Field Values
-
GREMLIN_TINKERGRAPH_SERVICE
public static final String GREMLIN_TINKERGRAPH_SERVICE
- See Also:
- Constant Field Values
-
currentId
protected AtomicLong currentId
-
variables
protected TinkerGraphVariables variables
-
graphComputerView
protected TinkerGraphComputerView graphComputerView
-
vertexIndex
protected org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIndex<TinkerVertex> vertexIndex
-
edgeIndex
protected org.apache.tinkerpop.gremlin.tinkergraph.structure.TinkerIndex<TinkerEdge> edgeIndex
-
vertexIdManager
protected final TinkerGraph.IdManager<?> vertexIdManager
-
edgeIdManager
protected final TinkerGraph.IdManager<?> edgeIdManager
-
vertexPropertyIdManager
protected final TinkerGraph.IdManager<?> vertexPropertyIdManager
-
defaultVertexPropertyCardinality
protected final VertexProperty.Cardinality defaultVertexPropertyCardinality
-
allowNullPropertyValues
protected final boolean allowNullPropertyValues
-
serviceRegistry
protected final TinkerServiceRegistry serviceRegistry
-
-
Method Detail
-
open
public static TinkerGraph open()
Open a newTinkerGraphinstance. Reference Implementation Help: If aGraphimplementation does not require aConfiguration(or perhaps has a default configuration) it can choose to implement a zero argumentopen()method. This is an optional constructor method for TinkerGraph. It is not enforced by the Gremlin Test Suite.
-
open
public static TinkerGraph open(org.apache.commons.configuration2.Configuration configuration)
Open a newTinkerGraphinstance. Reference Implementation Help: This method is the one use by theGraphFactoryto instantiateGraphinstances. This method must be overridden for the Structure Test Suite to pass. Implementers have latitude in terms of how exceptions are handled within this method. Such exceptions will be considered implementation specific by the test suite as all test generate graph instances by way ofGraphFactory. As such, the exceptions get generalized behind that facade and sinceGraphFactoryis the preferred method to opening graphs it will be consistent at that level.- Parameters:
configuration- the configuration for the instance- Returns:
- a newly opened
Graph
-
compute
public <C extends GraphComputer> C compute(Class<C> graphComputerClass)
-
compute
public GraphComputer compute()
-
variables
public Graph.Variables variables()
-
io
public <I extends Io> I io(Io.Builder<I> builder)
-
clear
public void clear()
-
close
public void close()
This method only has an effect if theGREMLIN_TINKERGRAPH_GRAPH_LOCATIONis set, in which case the data in the graph is persisted to that location. This method may be called multiple times and does not release resources.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceGraph
-
tx
public Transaction tx()
-
configuration
public org.apache.commons.configuration2.Configuration configuration()
- Specified by:
configurationin interfaceGraph
-
getServiceRegistry
public TinkerServiceRegistry getServiceRegistry()
- Specified by:
getServiceRegistryin interfaceGraph
-
features
public Graph.Features features()
Return TinkerGraph feature set. Reference Implementation Help: Implementers only need to implement features for which there are negative or instance configured features. By default, allGraph.Featuresreturn true.
-
createIndex
public <E extends Element> void createIndex(String key, Class<E> elementClass)
Create an index for said element class (VertexorEdge) and said property key. Whenever an element has the specified key mutated, the index is updated. When the index is created, all existing elements are indexed to ensure that they are captured by the index.- Type Parameters:
E- The type of the element class- Parameters:
key- the property key to indexelementClass- the element class to index
-
dropIndex
public <E extends Element> void dropIndex(String key, Class<E> elementClass)
- Type Parameters:
E- The type of the element class- Parameters:
key- the property key to stop indexingelementClass- the element class of the index to drop
-
-