List of Steps


Wolfgang Fahl
iconTopicnamepluralNamedocumentation
StepIcon.pngStepStepStepsA Step is a Graph Traversal Step in the Gremlin language - you can think of it as in instruction an a graph computer

Steps[edit]

Stepnamekindreferencejavadoctexttestlevel
GremlinaddEsideEffectaddedge-stepaddE-java.lang.String-is used to add edges to the graph2
GremlinaddVsideEffectaddvertex-stepaddV-java.lang.String-is used to add vertices to the graph2
GremlinaggregatesideEffectaggregate-stepaggregate-java.lang.String-is used to aggregate all the objects at a particular point of traversal into a Collection2
Gremlinandfilterand-stepand-org.apache.tinkerpop.gremlin.process.traversal.Traversal...-ensures that all provided traversals yield a result2
Gremlinasmodulatoras-stepas-java.lang.String-java.lang.String...-is not a real step, but a "step modulator" similar to by() and option(). With as(), it is possible to provide a label to the step that can later be accessed by steps and data structures that make use of such labels — e.g., select(), match(), and path2
GremlinbothflatMapmaps the current elements to the vertices at the boths ends of the edges.2
GremlinbothEflatMapmaps the current elements to both the in and outgoing edges.2
GremlinbothVflatMapmaps the current edges to both the ingoing and outgoing Vertices.2
Gremlinbranchgeneralgeneral-stepsSplits the traverser2
Gremlinbymodulatorby-stepby--is not an actual step, but instead is a "step-modulator" similar to as() and option(). If a step is able to accept traversals, functions, comparators, etc. then by() is the means by which they are added. The general pattern is step().by()…by(). Some steps can only accept one by() while others can take an arbitrary amount.2
Gremlincapbarriercap-stepcap-java.lang.String-java.lang.String...-Iterates the traversal up to the itself and emits the side-effect referenced by the key. If multiple keys are supplied then the side-effects are emitted as a Map.3
Gremlinchoosebranchchoose-stepchoose-java.util.function.Function-,choose-java.util.function.Predicate-org.apache.tinkerpop.gremlin.process.traversal.Traversal-routes the current traverser to a particular traversal branch option. With choose(), it is possible to implement if/then/else-semantics as well as more complicated selections.2
GremlincoalesceflatMapcoalesce-stepThe coalesce()-step evaluates the provided traversals in order and returns the first traversal that emits at least one element.2
Gremlincoinfiltercoin-stepcoin-double-randomly filters out traversers with the given probability2
Gremlincountreducing barriercount-stepcount--counts the total number of represented traversers in the streams (i.e. the bulk count).3
Gremlinemitmodulatoremit-stepemit--is not an actual step, but is instead a step modulator for repeat() (find more documentation on the emit() there).2
Gremlinexplainterminalterminal-stepswill return a TraversalExplanation. A traversal explanation details how the traversal (prior to explain()) will be compiled given the registered traversal strategies. A TraversalExplanation has a toString() representation with 3-columns. The first column is the traversal strategy being applied. The second column is the traversal strategy category: [D]ecoration, [O]ptimization, [P]rovider optimization, [F]inalization, and [V]erification. Finally, the third column is the state of the traversal post strategy application. The final traversal is the resultant execution plan.2
Gremlinfillterminalterminal-stepsfill(collection) will put all results in the provided collection and return the collection when complete.2
Gremlinfiltergeneralgeneral-stepsContinues processing based on the given filter condition.2
GremlinflatMapgeneralgeneral-stepstransforms the current step in a one to many fashion.2
Gremlinfoldreducing barrierfold-stepThere are situations when the traversal stream needs a "barrier" to aggregate all the objects and emit a computation that is a function of the aggregate. The fold()-step (map) is one particular instance of this. Please see unfold()-step for the inverse functionality.3
Gremlinhasfilterhas-stephas-java.lang.String-filters vertices, edges, and vertex properties based on their properties. This step has quite a few variations.2
GremlinhasNextterminalterminal-stepsdetermines whether there are available results2
Gremlinidmapid-stepmaps the traversal to the ids of the current elements.2
GremlininflatMapmaps the current elements to the vertices at the end of the ingoing edges.2
GremlininEflatMapmaps the current elements to the the ingoing edges.2
GremlininVflatMapmaps the current edges to the the ingoing Vertices.2
Gremlinisfilteris-stepis-org.apache.tinkerpop.gremlin.process.traversal.P-filters elements that fullfill the given predicate. Variant: Filters elements that are equal to the given Object.2
Gremliniterateterminalterminal-stepsIterates the traversal presumably for the generation of side-effects. See https://stackoverflow.com/questions/47403296/iterate-step-is-used-in-the-end-of-the-command-when-creating-nodes-and-edges-t2
Gremlinlabelmaplabel-stepmaps the traversal to the labels of the current elements.2
Gremlinlimitfilterlimit-step
Gremlinmapgeneralgeneral-stepstransforms the current step element to a new element (which may be empty). see also https://stackoverflow.com/questions/51015636/in-gremlin-how-does-map-really-work2
Gremlinmatchmapmatch-stepsee https://stackoverflow.com/questions/55609832/is-threre-a-document-about-how-gremlin-match-works2
Gremlinmaxreducing barriermax-stepoperates on a stream of comparable objects and determines which is the last object according to its natural order in the stream.3
Gremlinmeanreducing barriermean-stepoperates on a stream of numbers and determines the average of those numbers.3
Gremlinminreducing barriermin-stepoperates on a stream of comparable objects and determines which is the first object according to its natural order in the stream.3
Gremlinnextterminalterminal-stepswill return the next result.next(n) will return the next n results in a list2
Gremlinoptionmodulatoroption-stepAn option to a branch() or choose()2
Gremlinorfilteror-stepor-org.apache.tinkerpop.gremlin.process.traversal.Traversal...-ensures that at least one of the provided traversals yield a result.2
Gremlinordermaporder-steporder--,order-org.apache.tinkerpop.gremlin.process.traversal.Scope-orders the traversal elements2
GremlinoutflatMapmaps the current elements to the vertices at the end of the outgoing edges.2
GremlinoutEflatMapmaps the current elements to the the outgoing edges.2
GremlinoutVflatMapThe outV step maps the current edges to the outgoing Vertices.2
Gremlinpathmappath-step2
Gremlinpromiseterminalterminal-stepscan only be used with remote traversals to Gremlin Server or RGPs. It starts a promise to execute a function on the current Traversal that will be completed in the future.2
GremlinpropertysideEffectaddproperty-stepproperty-java.lang.Object-java.lang.Object-java.lang.Object...-is used to add properties to the elements of the graph2
Gremlinrangefilterrange-step
Gremlinrepeatbranchrepeat-steprepeat-org.apache.tinkerpop.gremlin.process.traversal.Traversal-,repeat-java.lang.String-org.apache.tinkerpop.gremlin.process.traversal.Traversal-is used for looping over a traversal given some break predicate2
Gremlinselectmapselect-step2
GremlinsideEffectgeneralgeneral-stepsperforms some operation on the traverser and passes it to the next step.2
... further results
🖨 🚪