如何在计算其值时将节点属性设置为使用函数?

时间:2014-05-06 03:37:40

标签: neo4j cypher cql

我正在尝试向用户节点添加平均评级属性,并分配该值。 我可以通过以下cql查询获得userid和平均成功。

MATCH (n)-[r:RATES]->(m)
RETURN DISTINCT n.userid as userid, AVG(toFloat(r.rating)) as avgrating
ORDER BY n.userid

如何将平均值添加到n(用户)节点? 我尝试过一次没有成功的事情。

MATCH p = (n)-[r:RATES]->(m)
FOREACH (n IN nodes(p)| SET n.avgrating = AVG(toFloat(r.rating)))

还有一套

MATCH (n)-[r:RATES]->(m)
SET n.avgrating = AVG(toFloat(r.rating))
RETURN n.userid, n.avgrating)
ORDER BY n.userid;

1 个答案:

答案 0 :(得分:1)

MATCH (p:Person)-[r:RATES]->()
WITH p, AVG(r.rating) AS avg
SET p.avg_rating = avg