public class GraphTraversalSource extends Object implements TraversalSource
GraphTraversalSource is the primary DSL of the Gremlin traversal machine.
It provides access to all the configurations and steps for Turing complete graph computing.
Any DSL can be constructed based on the methods of both GraphTraversalSource and GraphTraversal.| Modifier and Type | Class and Description |
|---|---|
static class |
GraphTraversalSource.Symbols |
| Modifier and Type | Field and Description |
|---|---|
protected Bytecode |
bytecode |
protected RemoteConnection |
connection |
protected Graph |
graph |
protected TraversalStrategies |
strategies |
GREMLIN_REMOTE, GREMLIN_REMOTE_CONNECTION_CLASS| Constructor and Description |
|---|
GraphTraversalSource(Graph graph) |
GraphTraversalSource(Graph graph,
TraversalStrategies traversalStrategies) |
| Modifier and Type | Method and Description |
|---|---|
GraphTraversal<Edge,Edge> |
addE(String label) |
GraphTraversal<Edge,Edge> |
addE(Traversal<?,String> edgeLabelTraversal) |
GraphTraversal<Vertex,Vertex> |
addV() |
GraphTraversal<Vertex,Vertex> |
addV(String label) |
GraphTraversal<Vertex,Vertex> |
addV(Traversal<?,String> vertexLabelTraversal) |
GraphTraversalSource |
clone()
The clone-method should be used to create immutable traversal sources with each call to a configuration "withXXX"-method.
|
void |
close() |
GraphTraversal<Edge,Edge> |
E(Object... edgesIds) |
Optional<Class> |
getAnonymousTraversalClass() |
Bytecode |
getBytecode()
Get the
Bytecode associated with the current state of this traversal source. |
Graph |
getGraph()
Get the
Graph associated with this traversal source. |
TraversalStrategies |
getStrategies()
Get the
TraversalStrategies associated with this traversal source. |
<S> GraphTraversal<S,S> |
inject(S... starts) |
String |
toString() |
Transaction |
tx() |
GraphTraversal<Vertex,Vertex> |
V(Object... vertexIds) |
GraphTraversalSource |
withBulk(boolean useBulk) |
GraphTraversalSource |
withComputer()
Add the standard
GraphComputer of the graph that will be used to execute the traversal. |
GraphTraversalSource |
withComputer(Class<? extends GraphComputer> graphComputerClass)
Add a
GraphComputer class used to execute the traversal. |
GraphTraversalSource |
withComputer(Computer computer)
Add a
Computer that will generate a GraphComputer from the Graph that will be used to execute the traversal. |
GraphTraversalSource |
withoutStrategies(Class<? extends TraversalStrategy>... traversalStrategyClasses)
Remove an arbitrary collection of
TraversalStrategy classes from the traversal source. |
GraphTraversalSource |
withPath() |
GraphTraversalSource |
withRemote(Configuration conf)
Configures the
TraversalSource as a "remote" to issue the Traversal for execution elsewhere. |
<A> GraphTraversalSource |
withSack(A initialValue)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(A initialValue,
BinaryOperator<A> mergeOperator)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(A initialValue,
UnaryOperator<A> splitOperator)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(A initialValue,
UnaryOperator<A> splitOperator,
BinaryOperator<A> mergeOperator)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(Supplier<A> initialValue)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(Supplier<A> initialValue,
BinaryOperator<A> mergeOperator)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(Supplier<A> initialValue,
UnaryOperator<A> splitOperator)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSack(Supplier<A> initialValue,
UnaryOperator<A> splitOperator,
BinaryOperator<A> mergeOperator)
Add a sack to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSideEffect(String key,
A initialValue)
Add a sideEffect to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSideEffect(String key,
A initialValue,
BinaryOperator<A> reducer)
Add a sideEffect to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSideEffect(String key,
Supplier<A> initialValue)
Add a sideEffect to be used throughout the life of a spawned
Traversal. |
<A> GraphTraversalSource |
withSideEffect(String key,
Supplier<A> initialValue,
BinaryOperator<A> reducer)
Add a sideEffect to be used throughout the life of a spawned
Traversal. |
GraphTraversalSource |
withStrategies(TraversalStrategy... traversalStrategies)
Add an arbitrary collection of
TraversalStrategy instances to the traversal source. |
protected transient RemoteConnection connection
protected final Graph graph
protected TraversalStrategies strategies
protected Bytecode bytecode
public GraphTraversalSource(Graph graph, TraversalStrategies traversalStrategies)
public GraphTraversalSource(Graph graph)
public Optional<Class> getAnonymousTraversalClass()
getAnonymousTraversalClass in interface TraversalSourcepublic TraversalStrategies getStrategies()
TraversalSourceTraversalStrategies associated with this traversal source.getStrategies in interface TraversalSourcepublic Graph getGraph()
TraversalSourceGraph associated with this traversal source.getGraph in interface TraversalSourcepublic Bytecode getBytecode()
TraversalSourceBytecode associated with the current state of this traversal source.getBytecode in interface TraversalSourcepublic GraphTraversalSource clone()
TraversalSourceBytecode, TraversalStrategies, mutate the cloned strategies accordingly,
and then return the cloned traversal source leaving the original unaltered.clone in interface TraversalSourceclone in class Objectpublic GraphTraversalSource withStrategies(TraversalStrategy... traversalStrategies)
TraversalSourceTraversalStrategy instances to the traversal source.withStrategies in interface TraversalSourcetraversalStrategies - a collection of traversal strategies to addpublic GraphTraversalSource withoutStrategies(Class<? extends TraversalStrategy>... traversalStrategyClasses)
TraversalSourceTraversalStrategy classes from the traversal source.withoutStrategies in interface TraversalSourcetraversalStrategyClasses - a collection of traversal strategy classes to removepublic GraphTraversalSource withComputer(Computer computer)
TraversalSourceComputer that will generate a GraphComputer from the Graph that will be used to execute the traversal.
This adds a VertexProgramStrategy to the strategies.withComputer in interface TraversalSourcecomputer - a builder to generate a graph computer from the graphpublic GraphTraversalSource withComputer(Class<? extends GraphComputer> graphComputerClass)
TraversalSourceGraphComputer class used to execute the traversal.
This adds a VertexProgramStrategy to the strategies.withComputer in interface TraversalSourcegraphComputerClass - the graph computer classpublic GraphTraversalSource withComputer()
TraversalSourceGraphComputer of the graph that will be used to execute the traversal.
This adds a VertexProgramStrategy to the strategies.withComputer in interface TraversalSourcepublic <A> GraphTraversalSource withSideEffect(String key, Supplier<A> initialValue, BinaryOperator<A> reducer)
TraversalSourceTraversal.
This adds a SideEffectStrategy to the strategies.withSideEffect in interface TraversalSourcekey - the key of the sideEffectinitialValue - a supplier that produces the initial value of the sideEffectreducer - a reducer to merge sideEffect mutations into a single resultpublic <A> GraphTraversalSource withSideEffect(String key, A initialValue, BinaryOperator<A> reducer)
TraversalSourceTraversal.
This adds a SideEffectStrategy to the strategies.withSideEffect in interface TraversalSourcekey - the key of the sideEffectinitialValue - the initial value of the sideEffectreducer - a reducer to merge sideEffect mutations into a single resultpublic <A> GraphTraversalSource withSideEffect(String key, A initialValue)
TraversalSourceTraversal.
This adds a SideEffectStrategy to the strategies.withSideEffect in interface TraversalSourcekey - the key of the sideEffectinitialValue - the initial value of the sideEffectpublic <A> GraphTraversalSource withSideEffect(String key, Supplier<A> initialValue)
TraversalSourceTraversal.
This adds a SideEffectStrategy to the strategies.withSideEffect in interface TraversalSourcekey - the key of the sideEffectinitialValue - a supplier that produces the initial value of the sideEffectpublic <A> GraphTraversalSource withSack(Supplier<A> initialValue, UnaryOperator<A> splitOperator, BinaryOperator<A> mergeOperator)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - a supplier that produces the initial value of the sideEffectsplitOperator - the sack split operatormergeOperator - the sack merge operatorpublic <A> GraphTraversalSource withSack(A initialValue, UnaryOperator<A> splitOperator, BinaryOperator<A> mergeOperator)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - the initial value of the sideEffectsplitOperator - the sack split operatormergeOperator - the sack merge operatorpublic <A> GraphTraversalSource withSack(A initialValue)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - the initial value of the sideEffectpublic <A> GraphTraversalSource withSack(Supplier<A> initialValue)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - a supplier that produces the initial value of the sideEffectpublic <A> GraphTraversalSource withSack(Supplier<A> initialValue, UnaryOperator<A> splitOperator)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - a supplier that produces the initial value of the sideEffectsplitOperator - the sack split operatorpublic <A> GraphTraversalSource withSack(A initialValue, UnaryOperator<A> splitOperator)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - the initial value of the sideEffectsplitOperator - the sack split operatorpublic <A> GraphTraversalSource withSack(Supplier<A> initialValue, BinaryOperator<A> mergeOperator)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - a supplier that produces the initial value of the sideEffectmergeOperator - the sack merge operatorpublic <A> GraphTraversalSource withSack(A initialValue, BinaryOperator<A> mergeOperator)
TraversalSourceTraversal.
This adds a SackStrategy to the strategies.withSack in interface TraversalSourceinitialValue - the initial value of the sideEffectmergeOperator - the sack merge operatorpublic GraphTraversalSource withBulk(boolean useBulk)
public GraphTraversalSource withPath()
public GraphTraversalSource withRemote(Configuration conf)
TraversalSourceTraversalSource as a "remote" to issue the Traversal for execution elsewhere.
Expects key for TraversalSource.GREMLIN_REMOTE_CONNECTION_CLASS as well as any configuration required by
the underlying RemoteConnection which will be instantiated. Note that the Configuration object
is passed down without change to the creation of the RemoteConnection instance.withRemote in interface TraversalSourcepublic GraphTraversal<Vertex,Vertex> addV(String label)
public GraphTraversal<Vertex,Vertex> addV(Traversal<?,String> vertexLabelTraversal)
public GraphTraversal<Vertex,Vertex> addV()
public GraphTraversal<Edge,Edge> addE(String label)
public GraphTraversal<Edge,Edge> addE(Traversal<?,String> edgeLabelTraversal)
public <S> GraphTraversal<S,S> inject(S... starts)
public GraphTraversal<Vertex,Vertex> V(Object... vertexIds)
public GraphTraversal<Edge,Edge> E(Object... edgesIds)
public Transaction tx()
public void close()
throws Exception
close in interface AutoCloseableclose in interface TraversalSourceExceptionCopyright © 2013–2017 Apache Software Foundation. All rights reserved.