我正在尝试返回一个关系属性(称为proportion)加上Neo4j中Cypher查询匹配的所有关系的该属性的总和.我到目前为止:
START alice=node(3)
MATCH p=(alice)<-[r:SUPPORTED_BY]-(n)
RETURN reduce(total=0, rel in relationships(p): total + rel.proportion), sum(r.proportion) AS total;
Run Code Online (Sandbox Code Playgroud)
返回:
+-----------------+
| reduced | total |
+-----------------+
| 2 | 2 |
| 1 | 1 |
+-----------------+
Run Code Online (Sandbox Code Playgroud)
我期待的地方:
+-----------------+
| reduced | total |
+-----------------+
| 2 | 3 |
| 1 | 3 |
+-----------------+
Run Code Online (Sandbox Code Playgroud)
作为Cypher的初学者用户,我不确定如何处理这个查询; 我显然没有reduce正确使用.任何意见,将不胜感激.
您需要使用WITH将查询分为两部分:
.
START alice=node(3)
MATCH alice<-[r:SUPPORTED_BY]-()
WITH sum(r.proportion) AS total
MATCH alice<-[r:SUPPORTED_BY]-(other)
RETURN other.name, r.proportion, total
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5308 次 |
| 最近记录: |