【发布时间】:2015-06-05 10:06:36
【问题描述】:
我正在我的 Neo4J 图表上运行此查询:
match (person:Person)-[r:KNOWS]->(friend:Person)
return avg(r.duration)
KNOWS 关系的 duration 属性是一个双精度值,始终填充且始终为正数。
我的问题是这个查询返回一个负值。 我用这个查询验证了这一点:
match (person:Person)-[r:KNOWS]->(friend:Person)
where has(r.duration) and r.duration > 0
return avg(r.duration)
它也返回一个负值。
你知道这种行为背后的原因吗?
【问题讨论】:
-
您使用的是什么版本的 Neo4j。我刚刚在这里创建了一个经过测试的小型控制台,似乎还可以? console.neo4j.org/r/ei28q2
-
我使用的是 Neo4j 2.2.2。
-
你能像我一样用一些数据创建一个控制台吗
-
我进行了更深入的调查:- 属性类型是 int,而不是 double。 - 总和大于 int 最大值不确定是否可以在 neo4j 控制台中强制属性类型,我用 longs 复制了它:console.neo4j.org/r/chtfmz
-
除了密码问题,我认为在应用程序级别这种行为应该引发异常