aggregate
ある特定の時点で、すべてのオブジェクトをグラフ探索内に集計します。
構文
aggregate('variable_name')
| 構文規則 | 説明 |
|---|---|
| 小文字と大文字 | リテラル・キーワード。()を含みます。 |
Italics |
変数値。ユーザー定義値と置き換えます。 |
[] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
{} |
グループ。中かっこ({})は、選択肢を含むグループを示します。中かっこは入力しないでください。 |
| |
または。縦棒(|)で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(...)は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
説明
aggregate()ステップは、sideEffectです。頂点は、addVを使用して探索gから追加されます。前に作成した頂点ラベルを指定する必要があります。
例
John Doeが知っている全員のコレクションを1つの集合体として返します。
g.V().has('person', 'name', 'John Doe').
out('knows').aggregate('x')John Doeの友人の友人全員を返します。この中には、John Doeの友人も含まれます。
g.V().has('person', 'name', 'John Doe').
out('knows').aggregate('x').
in('knows').out('knows').valueMap('name', 'gender')John Doeの友人ではないJohn Doeの友人の友人全員を探します。
g.V().has('person', 'name', 'John Doe').
out('knows').aggregate('x').
in('knows').out('knows').
where(without('x'))後ほどのステップで使用するaggregate('x')では、John Doeの友人を除外するのに使用するwhere(without('x'))で変数xが割り当てられている集合体を使用します。