1
我試圖返回一個關係屬性(稱爲proportion
)加上在Neo4j中由Cypher查詢匹配的所有關係的屬性總和。這一步我已經得到了:Neo4j密碼查詢返回關係屬性和所有匹配關係屬性的總和
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;
這將返回:
+-----------------+
| reduced | total |
+-----------------+
| 2 | 2 |
| 1 | 1 |
+-----------------+
,我期待:
+-----------------+
| reduced | total |
+-----------------+
| 2 | 3 |
| 1 | 3 |
+-----------------+
作爲暗號的初學者設計的,我真的不知道怎麼樣接近這個查詢;我顯然沒有正確使用reduce
。任何意見,將不勝感激。
作爲一個解釋,你原來的查詢的問題是,sum()總是執行一個聚合(即groupBy),在你的情況是第一列。 – PhilBa
+1 Reduce主要用於可變長度路徑或集合 - 如果您已經獲得了不同「中間結果」或「行」中的值,則可以使用標準聚合函數,如下所示。 –