Neo4j - 创建关系 Int64.MaxValue 的问题存储不正确的值

Neo4j - Issue creating relationships with Int64.MaxValue stores incorrect value

我正在使用 neo4j v3.1.0 并创建以下简单图表。

create(d:User{code:'testid'})-[:STATE {to:9223372036854775807}]->(UserState{name:'Paul',email:'paul@test.com' })

to 关系中的值是 long.MaxValue,我将其用作了解当前内容的指标数据。我正在开发的图形数据库必须存储历史数据,并且关系为此目的在关系上具有 to/from 属性。为了突出这个问题,我省略了它的全部复杂性。

问题是 值存储为 9223372036854776000 而不是 9223372036854775807我指定哪个大于 Int64.MaxValue。在 .NET 中使用 Newtonsoft 进行反序列化当然会失败。

See the screen shot to see the issue

我可以减少数字的大小,这足以满足我的用例,但如果我真的需要存储这个值,它就无法存储。我想知道这是否是 Neo4j 的实际问题,或者我是否需要做一些配置。

任何帮助都会很棒。 谢谢

确保您使用的是用于 neo4j 浏览器的 Bolt 协议驱动程序,json 不支持 int64,因此如果使用 http 驱动程序,您无法在浏览器中看到实际值(而数据库中的值将是正确的 -> 检查 shell).

转到浏览器设置并选中复选框 Use bolt protocol when available

重新启动您的查询,您应该会看到正确的结果: