Neo4j,Cypher:根据导演的电影设定其平均评级

Neo4j,Cypher:根据导演的电影设定其平均评级,neo4j,cypher,Neo4j,Cypher,无法编写查询以设置主管的平均评级 此外,在这种情况下,无法确定如何使用FOREACH,以避免无效使用聚合函数,类型不匹配:预期收集,但was节点错误 导演的平均评级=平均(所有电影的评级) 示例查询 MATCH (d:Director) WITH d MATCH (d)-[:Directed]->(m:Movie) SET d.avg_rating = AVG(toFloat(COLLECT(m.rating))) 请提供帮助。托福表将直接应用于m.rating,AVG不需要收集: MA

无法编写查询以设置主管的平均评级

此外,在这种情况下,无法确定如何使用
FOREACH
,以避免
无效使用聚合函数
类型不匹配:预期收集,但was节点
错误

导演的平均评级=平均(所有电影的评级)

示例查询

MATCH (d:Director)
WITH d
MATCH (d)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(COLLECT(m.rating)))

请提供帮助。

托福表将直接应用于m.rating,AVG不需要收集:

MATCH (d:Director)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(m.rating))

(我还删除了多余的匹配d:Director,这与您的错误无关)

托福将直接应用于m.rating,AVG不需要COLLECT:

MATCH (d:Director)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(m.rating))
(我还删除了多余的匹配d:Director,这与您的错误无关)

您可以直接使用

MATCH (d:Director)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(m.rating))
您可以直接使用

MATCH (d:Director)-[:Directed]->(m:Movie)
SET d.avg_rating = AVG(toFloat(m.rating))

添加明确的需求,同时设置a.avg_rating=avg(toFloat(COLLECT(b.total_weight)),在查询中的任何地方都没有定义b。添加有关您的结构和需求的详细信息更新。很抱歉出现这些错误。这已经很详细了。请添加您的明确要求,并在这里设置a.avg_rating=avg(toFloat(COLLECT(b.total_weight)),b在查询中的任何位置都没有定义。添加有关您的结构和需求的详细信息更新。很抱歉,这些错误已经足够详细了