使用Cypher / Neo4j中的REDUCE迭代2个列表

时间:2014-11-02 18:02:26

标签: loops foreach neo4j cypher reduce

我有相似的列表和评级列表,我想在Neo4j的图表中查询加权平均值

WITH REDUCE(x = 0,i IN相似度和j in Ratings | x + i * j)* 1.0 / REDUCE(y = 0,k IN相似度| y + k)AS WeightedRating

它说j没有定义。有谁知道语法是如何工作的?我应该为每个人使用吗?

1 个答案:

答案 0 :(得分:2)

您想要并行迭代这两个列表吗?

目前没有直接的方法,但使用索引的解决方法

 WITH REDUCE(x = 0, idx in range(0,size(similarities)-1) 
             | x + similarities[idx]*Ratings[idx])*1.0 / 
 REDUCE(y = 0, k IN similarities | y+k) AS WeightedRating