使用Cypher查询语言在Neo4j中进行错误平均

时间:2020-03-24 20:27:42

标签: neo4j cypher average

您好,我正在尝试对“响应”节点的平均值取数字(喜欢等级)。 但是,当我查询以下内容时:

MATCH (p:Panelist)<-[BY_PANELIST]-(r:Response)[ON_ATTRIBUTE]->(a:Attribute)-[OF_ATTRIBUTETYPE]->(at:AttributeType)
WHERE a.name = 'Liking'
AND at.name = 'Hedonic'
RETURN avg(r)

我收到以下错误:

类型不匹配:预期为浮点数,整数或持续时间,但为节点“ RETURN avg(r)”

我需要更改响应使其数字化吗?

1 个答案:

答案 0 :(得分:0)

您的查询中有很多明显的错别字,我将在下面的查询中尝试进行修正(在对您的意图进行假设之后)。

但是,关于您的主要问题:获取节点的平均值没有任何意义。您只能获取节点(或关系)属性的平均值。

例如,如果一个Response节点具有您要平均的foo属性:

MATCH (:Panelist)<-[:BY_PANELIST]-(r:Response)-[:ON_ATTRIBUTE]->(a:Attribute)-[:OF_ATTRIBUTETYPE]->(at:AttributeType)
WHERE a.name = 'Liking'
  AND at.name = 'Hedonic'
RETURN AVG(r.foo) AS avg_foo