until

repeat()ステップをdo-whileループまたはwhile-doループに変換します。

構文

until( [ 'predicate' | 'traversal' ])
1. 凡例
構文規則 説明
小文字と大文字 リテラル・キーワード。()を含みます。
Italics 変数値。ユーザー定義値と置き換えます。
[] 任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。
{} グループ。中かっこ({})は、選択肢を含むグループを示します。中かっこは入力しないでください。
| または。縦棒(|)で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。
... 繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。

説明

until()ステップは、ステップ・モジュレータ(別の探索ステップのヘルパー・ステップ)です。主な用途は、repeat()ステップをdo-whileループ(repeat()ステップの後に使用した場合)またはwhile-doループ(repeat()ステップの前に使用した場合)に変換することです。述語または探索がtrueである場合にのみループを完了させるには、until()ステップで述語または探索を使用します。

単純なパスが使い尽くされるまで、John Doeに隣接するすべての外向きknows頂点の通過を繰り返す例。
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()