may be used together with from
/ to
, see TraversalSpec for examples
labels the current step and preserves the type - see select
step
labels the current step and preserves the type - see select
step
note that the traverser will go down all traversals in options if the pickToken matches
if you need if/then/else semantic, use choose
instead
traverser will pick first option that has a matching pickToken
special case of choose step if there's only two options - basically an if/else condition for traversals
special case of choose step if there's only two options - basically an if/else condition for traversals
you might think that predicate should be GremlinScala[End] => GremlinScala[Boolean]
,
but that's not how tp3 works: e.g. .value(Age).is(30)
returns 30
, not true
evaluates the provided traversals in order and returns the first traversal that emits at least one element useful e.g.
evaluates the provided traversals in order and returns the first traversal that emits at least one element useful e.g. for if/elseif/else semantics
keeps element on a probabilistic base - probability range: 0.0 (keep none) - 1.0 - keep all
removes elements/properties from the graph
Map the Element
to a Map
of the property values key'd according to their Property#key
.
Map the Element
to a Map
of the property values key'd according to their Property#key
.
This step will retrieve all property values. For vertices, the Map
will
be returned with the assumption of single property values along with T#id
and T#label
. Prefer
#valueMap(String...)
if multi-property processing is required. For edges, keys will include additional
related edge structure of Direction#IN
and Direction#OUT
which themselves are Map
instances of the particular Vertex
represented by T#id
and T#label
.
Map the Element
to a Map
of the property values key'd according to their Property#key
.
Map the Element
to a Map
of the property values key'd according to their Property#key
.
For vertices, the Map
will be returned with the assumption of single property values along with T#id
and T#label
. Prefer
#valueMap(String...)
if multi-property processing is required. For edges, keys will include additional
related edge structure of Direction#IN
and Direction#OUT
which themselves are Map
instances of the particular Vertex
represented by T#id
and T#label
.
modulator for repeat step - emit if emitTraversal has at least one result
modulator for repeat step - emit everything on the way
modulator for repeat step - emit depending on predicate
You might think that predicate should be GremlinScala[End] => GremlinScala[Boolean]
,
but that's not how tp3 works: e.g.
You might think that predicate should be GremlinScala[End] => GremlinScala[Boolean]
,
but that's not how tp3 works: e.g. .value(Age).is(30)
returns 30
, not true
modulator, use in conjunction with simplePath(), cyclicPath(), path(), and addE() TODO: make this a standalone modulator like By that may only be used with the above mentioned steps note: when using with addE, it only selects the first vertex! http://tinkerpop.apache.org/docs/current/reference/#from-step https://groups.google.com/forum/#!topic/gremlin-users/3YgKMKB4iNs
modulator, use in conjunction with simplePath(), cyclicPath(), path(), and addE() http://tinkerpop.apache.org/docs/current/reference/#from-step
modulator, use in conjunction with addE http://tinkerpop.apache.org/docs/current/reference/#from-step
Organize objects in the stream into a Map, group keys and values with a modulator
Organize objects in the stream into a Map, group keys with a modulator
Organize objects in the stream into a Map.
note that groupCount is a side effect step, other than the 'count' step..
note that groupCount is a side effect step, other than the 'count' step.. https://groups.google.com/forum/#!topic/gremlin-users/5wXSizpqRxw
unsafe! this will throw a runtime exception if there is no element.
unsafe! this will throw a runtime exception if there is no element. better use headOption
execute pipeline - applies all side effects
alias for toList
, because typing kills
generic maths based on strings, see http://tinkerpop.apache.org/docs/3.3.1/reference/#math-step
returns the result of the specified traversal if it yields a result else it returns the provided default value
returns the result of the specified traversal if it yields a result else it returns the provided default value
note: uses coalesce internally, which is a flatMap step, which affects as
and traverser
behaviour
returns the result of the specified traversal if it yields a result else it returns the calling element, i.e.
returns the result of the specified traversal if it yields a result else it returns the calling element, i.e. the identity().
n.b.
n.b. By
can be used in place of OrderBy
n.b.
n.b. By
can be used in place of OrderBy
track every step in the traversal, modulate elements in round robin fashion
track every step in the traversal
convenience step for majority use case for promise
run pipeline asynchronously
note: only supported by RemoteGraphs (see withRemote
)
set the property to the value determined by the given traversal
set the property to the given value
set the property to the given value
repeats the provided anonymous traversal which starts at the current End
combine with times
or until
step, e.g.
repeats the provided anonymous traversal which starts at the current End
combine with times
or until
step, e.g. gs.V(1).repeat(_.out).times(2)
Note: has to end on the same type (or a supertype of) the current End
,
otherwise we couldn't reapply it multiple times.
sack with by modulator
Modify the sack with the current End type.
Modify the sack with the current End type. [SideEffect]
Take value out of the sack.
Take value out of the sack. TODO: carry SackType as class type parameter (both ScalaGraph and GremlinScala)
Select values from the traversal based on some given StepLabels (must be a tuple of StepLabel
)
Select values from the traversal based on some given StepLabels (must be a tuple of StepLabel
)
Lot's of type level magic here to make this work... * takes a tuple (with least two elements) whose elements are all StepLabel[_] * converts it to an HList * get's the actual values from the Tinkerpop3 java select as a Map[String, Any] * uses the types from the StepLabels to get the values from the Map (using a type level fold)
select all labelled steps - see as
step and SelectSpec
modulator, use in conjunction with simplePath(), cyclicPath(), path(), and addE() TODO: make this a standalone modulator like By that may only be used with the above mentioned steps note: when using with addE, it only selects the first vertex! http://tinkerpop.apache.org/docs/current/reference/#from-step https://groups.google.com/forum/#!topic/gremlin-users/3YgKMKB4iNs
modulator, use in conjunction with simplePath(), cyclicPath(), path(), and addE() http://tinkerpop.apache.org/docs/current/reference/#from-step
modulator, use in conjunction with addE http://tinkerpop.apache.org/docs/current/reference/#to-step
merges of the results of an arbitrary number of traversals.
merges of the results of an arbitrary number of traversals.
supports heterogeneous queries, e.g. for the following query:
g.V(1).union(_.join(_.outE).join(_.out))
the result type is derived as
GremlinScala[(JList[Edge], JList[Vertex])]
merges of the results of an arbitrary number of traversals into a flat structure (i.e.
merges of the results of an arbitrary number of traversals into a flat structure (i.e. no folds).
predicate
refers to a step label
predicate
refers to a step label
predicate
refers to a step label
predicate
refers to a step label
used in scala for comprehensions
(Since version 3.3.3.16) use aggregate(StepLabel) for more type safety
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) don't use step by itself, most steps now accept a By
instance as an argument
(Since version 3.0.0.1) use group(by(...))
(Since version 3.0.0.1) use group(by(...))
(Since version 3.0.0.1) use group(by(...))
(Since version 3.0.0.1) use order(by(...))
(Since version 3.0.0.1) use order(by(Order))
(Since version 3.0.0.1) use order(by(...))
(Since version 3.0.0.1) use order(by(...))
(Since version 3.0.0.1) use order(by(...))
(Since version 3.0.0.1) use order(by(...))
(Since version 3.3.3.16) use store(StepLabel) for more type safety