Neo4j 统计两个节点之间的具体关系

问题描述 投票:0回答:1

Neo4j 与 Cypher!

我需要显示与 A 存在多个关系的 B 的出现情况。为此,我可以通过 B 的 id 来识别 B。

我有这种关系

(:A)-[:RELATED_TO]->(:B)

有了这些数据:

A -> {status}
B -> {id, name}

start -> related_to -> 1, Josh
stop -> related_to -> 1, Josh
end -> related_to -> 2, Max

要计算出现的总数,可以从此查询完成:

MATCH (:A)->[r:RELATED_TO]->(:B) return count(r)

我想退货:

id, name, count(B), list of A
1, Josh, 2, [start, stop]
neo4j cypher
1个回答
0
投票

假设您想要最后一列包含不同状态的列表,这应该可行:

MATCH (a:A)-[:RELATED_TO]->(b:B)
RETURN b.id AS id, b.name AS name, count(*) AS `count(B)`,
       collect(DISTINCT a.status) AS `list of A`
© www.soinside.com 2019 - 2024. All rights reserved.