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
が割り当てられている集合体を使用します。