until
Turn a repeat() step into a do-while or while-do loop.
Synopsis
until( [ 'predicate' | 'traversal' ])
Description
The until()
step is a step modulator, a helper step for another traversal step.
Its main use is to turn a repeat() step into a do-while loop (if used after the repeat() step) or a while-do loop (if used before the repeat() step).
A predicate or traversal can be used in an until()
step to cause the loop to complete only if the predicate or traversal is true.
Examples
An example that repeats through all the outgoing knows adjacent vertices of John Doe until the simple paths are exhausted:
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()