0

次のデータがあります。

A --> B
B --> C

次のクエリを検討してください。

START n = node(A, B)
MATCH p = n-[*..2]-(x)
RETURN n.Name, x.Name, length(p)

2 つの入力ノードから始めて、2 ホップ以下で他のノードにトラバースします。

以下が返されます。

==> +------------------------------------------------+
==> | n.Name       | x.Name              | length(p) |
==> +------------------------------------------------+
==> | "A"          | "C"                 | 2         |
==> | "B"          | "C"                 | 1         |

バックストーリー: 私のアプリでは、興味を検索できます (一度に複数)。各興味には、関連する興味を持つことができます。入力の関心が共通の関心を共有し、その結果、関心が重複することがあります。

4

1 に答える 1

0

単純に呼び出すだけでMIN、私が探していることができるようです:

RETURN x.Name, min(length(p))

したがって、x.Name でグループ化し、最小のホップ列を取得します。

http://docs.neo4j.org/chunked/stable/query-aggregation.html

集計は、一致するすべてのサブグラフに対して行うことも、キー値を導入してさらに分割することもできます。これらは非集計式で、集計関数に入る値をグループ化するために使用されます。

于 2012-06-06T05:16:04.580 に答える