emit
repeat()ステップの前または後に、探索者を発します。
構文
emit( [ 'predicate' | 'traversal' ])
構文規則 | 説明 |
---|---|
小文字と大文字 | リテラル・キーワード。() を含みます。 |
Italics |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
{} |
グループ。中かっこ({} )は、選択肢を含むグループを示します。中かっこは入力しないでください。 |
| |
または。縦棒(| )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
説明
emit()
ステップは、ステップ・モジュレータで、他の探索ステップ向けのヘルパー・ステップです。主用途は、repeat()ステップの前に内向き探索者を発するか、repeat()
ステップ後に外向き探索者を発します。放出物は、現在のオブジェクトのコピーをクエリー内の次のステップに送ります。述語または探索は、emit()
ステップで使用して、述語または探索がtrueの場合に限り、放出物を発することができます。
例
g.V(1).emit().repeat(out()).times(2).path()
==>[v[1]]
==>[v[1],v[3]]
==>[v[1],v[2]]
==>[v[1],v[4]]
==>[v[1],v[4],v[5]]
==>[v[1],v[4],v[3]]
gremlin> g.V(1).repeat(out()).times(2).emit().path()
==>[v[1],v[3]]
==>[v[1],v[2]]
==>[v[1],v[4]]
==>[v[1],v[4],v[5]]
==>[v[1],v[4],v[3]]