如何在Neo4j中聚合关系计数

时间:2014-06-28 07:40:19

标签: c# neo4j

我有帐户和事务节点,以及它们之间的received_from关系。给定一个场景,其中账户A收到来自B的1个交易,C收到了来自B的10个交易。我想要想象这不是从B到C的10行,而是用更粗的箭头和计数标签。

我如何编写这样的查询以便获取节点之间每种关系类型的计数而不是所有关系的列表?

1 个答案:

答案 0 :(得分:3)

我假设每个帐户节点都使用acct_id索引CREATE INDEX ON :Account(acct_id)属性。

您可以使用Cypher查询来聚合关系计数:

OPTIONAL MATCH (start:Account {acct_id:'C'})-[r:RECEIVED_FROM]->(end:Account {acct_id:'B'})
RETURN start.acct_id, end.acct_id, type(r) as type, count(r) as thickness

N.B。如果您不想要结果行,如果startend之间没有任何关系,您可以省略OPTIONAL。对于OPTIONAL,非相关节点的厚度为0.