我是Neo4j的新手,我正尝试使用其import tool将一堆旧数据导入到新数据库中。此数据的主要ID将为整数。但是,似乎节点的:ID属性默认为字符串类型?我知道我可以在其他属性上使用:int使其成为整数类型,但似乎无法将其与:ID结合使用。
例如,这是节点类型1:
node1_int_id:ID(node1)|other_prop|another_prop
12345 |foo |bar
节点类型2:
node2_int_id:ID(node2)|other_prop|another_prop
67890 |foo |bar
和关系
:START_ID(node1) |:END_ID(node2)
12345 |67890
这似乎可行,但是结果是基于两个字符串类型字段的关系。所以我想我有两个问题:
1)我这样做正确吗?有什么方法可以使我没有看到的ID字段为整数?
2)如果我必须这样做,它们是字符串是否有问题?这最终将导致拥有约1亿个节点和关系的相当大的数据库,因此,基于字符串比较来寻找关系似乎不是一个好主意。
最佳答案
neo4j导入工具的Command line usage页面记录了以下命令行选项:
--id-type
[STRING,INTEGER,ACTUAL]中的一个,并指定如何处理节点/关系输入文件中的ID。
STRING:用于标识节点的任意字符串。 INTEGER:用于标识节点的任意整数值。 ACTUAL :(高级)实际节点ID。
默认选项是STRING。
因此,在运行导入工具时,应在命令行上指定--id-type INTEGER
。
关于neo4j - 使用带有整数ID的neo4j导入工具,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36629908/