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]
假设您想要最后一列包含不同状态的列表,这应该可行:
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`