如何解决 Neo4j 中变量未定义的错误

How to solve variable not defined error in Neo4j

Match (a)-[:RECEIVES]->(b) 
WITH avg(toFloat(b.rating)) AS avg 
WHERE avg > 2.5 
RETURN b.pID, avg

此代码出现以下错误。

Variable `b` not defined 
"RETURN b.pID, avg"

您的查询有(至少)2 个问题:

  1. WITH 子句未指定 b,因此 b 未绑定。
  2. 由于您对所有 b 个节点进行平均,因此 return 它们的 pID 值的 集合 实际上更有意义平均值。

例如:

MATCH ()-[:RECEIVES]->(b) 
WITH AVG(TOFLOAT(b.rating)) AS avg, COLLECT(b.pID) as pIDs
WHERE avg > 2.5 
RETURN pIDs, avg

注意:如果平均值 <= 2.5,此查询将 return 什么都没有。