密码中的大整数,neo4j

时间:2016-04-23 08:45:36

标签: neo4j cypher long-integer

我有一个带有一些十六进制整数的数据集,例如' 4726E440'。 我想将这些数字添加为节点的属性。 如果我执行:

  

创建(n {id:toInt(" 4726E440")});

neo4j给了我这个错误:

  

整数,4726E440,太大了

有没有办法处理这种整数(除了将它们保存为字符串)?

2 个答案:

答案 0 :(得分:1)

不是100%肯定,但这看起来像是在尝试将持有浮点数4724 * 10 ^ 440的字符串转换为int值。那显然太大了。

如果你想使用十六进制文字,你需要在它们前加0x,例如

return toInt(0x4726E440)

返回1193731136 - 所以它仍在范围内。

答案 1 :(得分:0)

如果您想知道Neo4J中数字大小的实际限制是多少,可以在this论坛上发帖。

基本上,Neo4J使用带符号的64位整数,最大值为2**63 - 1。目前似乎无法提高此限制,如果您确实必须存储此大小的数字,则必须诉诸字符串或字节列表。