从Neo4j中的属性聚合值

时间:2018-02-02 01:08:36

标签: neo4j

我想以某种方式计算整数的传出边的属性,并确保我只返回此计数高于100的节点。如何在Neo4j中完成?

现在我坚持使用以下查询:

MATCH (cl:Cluster {clusterId:'1'})-[r:CONTAINS]->(c:Cell)
WHERE (c)-[:EXPRESSES {expr:x}]->()
RETURN cl,c

一个Cell可以有许多带有关联整数属性的传出EXPRESSES边。我需要循环遍历每个Cell的所有边缘,并仅返回Cells的所有边> 100的总和。

1 个答案:

答案 0 :(得分:1)

这个怎么样:

MATCH (cl:Cluster {clusterId:'1'})-[:CONTAINS]->(c:Cell)-[r:EXPRESSES]->()
WITH cl, c, sum(r.expr) as sum
WHERE sum > 100
RETURN cl, c

根据cl和c对sum()聚合进行分组,然后只需使用WHERE来保留总和超过100的行。