repeat
Loop until a condition is met.
Synopsis
repeat(traversal)
Syntax conventions | Description |
---|---|
Lowercase and uppercase | Literal keyword. Includes () . |
Italics |
Variable value. Replace with a user-defined value. |
[] |
Optional. Square brackets ( [] ) surround
optional command arguments. Do not type the square brackets. |
{} |
Group. Braces ( {} ) identify a group to choose
from. Do not type the braces. |
| |
Or. A vertical bar ( | ) separates alternative
elements. Type any one of the elements. Do not type the vertical
bar. |
... |
Repeatable. An ellipsis ( ... ) indicates that
you can repeat the syntax element as often as required. |
Description
The repeat()
step is a branch
step and is used for looping over a traversal to some given break predicate. Three step
modulators can be used with the repeat()
step, emit(), times(), or until().
Examples
Repeatedly gets the outgoing vertex, three times, and prints the
results:
g.V().hasLabel('fridgeSensor').repeat(out()).times(3).valueMap()
A more complex example that repeats through all the outgoing knows adjacent vertices
of John
Doe:
g.V().hasLabel('person','name','John Doe').
repeat(out('knows').dedup().
aggregate('x').
by(project('person','level').
by('name').
by(loops())
)
).
until(__.not(out('knows').simplePath())).
cap('x').next()