我有一个带有一些十六进制整数的数据集,例如' 4726E440'。 我想将这些数字添加为节点的属性。 如果我执行:
创建(n {id:toInt(" 4726E440")});
neo4j给了我这个错误:
整数,4726E440,太大了
有没有办法处理这种整数(除了将它们保存为字符串)?
答案 0 :(得分:1)
不是100%肯定,但这看起来像是在尝试将持有浮点数4724 * 10 ^ 440的字符串转换为int值。那显然太大了。
如果你想使用十六进制文字,你需要在它们前加0x
,例如
return toInt(0x4726E440)
返回1193731136
- 所以它仍在范围内。
答案 1 :(得分:0)
如果您想知道Neo4J中数字大小的实际限制是多少,可以在this论坛上发帖。
基本上,Neo4J使用带符号的64位整数,最大值为2**63 - 1
。目前似乎无法提高此限制,如果您确实必须存储此大小的数字,则必须诉诸字符串或字节列表。