Neo4j Cypher:平均正值返回负平均值

时间:2015-06-05 10:06:37

标签: neo4j cypher

我在Neo4J图表上运行此查询:

match (person:Person)-[r:KNOWS]->(friend:Person)
return avg(r.duration)

KNOWS 关系的持续时间属性是一个双精度值,始终填充且始终为正。

我的问题是此查询返回负值。 我用这个查询验证了这一点:

match (person:Person)-[r:KNOWS]->(friend:Person)
where has(r.duration) and r.duration > 0
return avg(r.duration)

它也会返回负值。

有关这种行为背后原因的任何想法?

1 个答案:

答案 0 :(得分:0)

感谢控制台,确实int max值是溢出的。

我不能说你的用例最好的方法是什么,我需要进一步调查,但与此同时,如果你将得分转换为浮动值,那么它们是正面的:

MATCH (person:Person)-[r:KNOWS]->(friend:Person)
WITH toFloat(r.score) AS score
RETURN sum(score), avg(score)

<强>更新

很明显,上述解决方案的价值是四舍五入的,所以暂时忽略它