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

时间:2017-02-10 12:44:29

标签: neo4j int64

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

创建(d:用户{代码:'testid'}) - [:STATE {to:9223372036854775807}] - &gt;(UserState {name:'Paul',email:'paul @ test.com'})< / p>

关系中的值是 long.MaxValue ,我将其用作了解当前数据的指标。我正在开发的图形数据库必须存储历史数据,并且为此目的存在与关系属性的关系。我已经省略了这个问题的全部复杂性来强调这个问题。

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

See the screen shot to see the issue

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

任何帮助都会很棒。 感谢

1 个答案:

答案 0 :(得分:2)

确保为neo4j浏览器使用Bolt协议驱动程序,json不支持int64,这就是为什么如果使用http驱动程序而无法在浏览器中看到实际值(而值将是正确的)在db - &gt;中检查shell。)

转到浏览器设置,然后选中Use bolt protocol when available

enter image description here

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

enter image description here