repeat
条件が満たされるまでループします。
構文
repeat(traversal)
構文規則 | 説明 |
---|---|
小文字と大文字 | リテラル・キーワード。() を含みます。 |
Italics |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
{} |
グループ。中かっこ({} )は、選択肢を含むグループを示します。中かっこは入力しないでください。 |
| |
または。縦棒(| )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
説明
repeat()
ステップは分岐ステップであり、特定のブレーク述語への探索をループするために使用されます。3ステップ・モジュレータは、repeat()
ステップ、emit()、times()、またはuntil()で使用できます。
例
外向き頂点ラベルの取得を3回繰り返し、結果を出力します。
g.V().hasLabel('fridgeSensor').repeat(out()).times(3).valueMap()
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()