我是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/

10-12 17:38
查看更多