Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 使用LOAD CSV创建具有特定内部id的节点_Neo4j - Fatal编程技术网

Neo4j 使用LOAD CSV创建具有特定内部id的节点

Neo4j 使用LOAD CSV创建具有特定内部id的节点,neo4j,Neo4j,对于到Neo4j数据库的初始数据导入(步骤1),我使用Neo4j管理导入工具。在这里,您可以通过头中的:id指定节点的内部id 我还想使用LOAD CSV命令将更多节点(步骤2)创建到已经存在的数据库中(使用上一步的数据)。我找不到关于如何使用此命令指定节点的内部id的答案 为什么不可能,而在初始导入时却可能?在第二步中,我有一个与第一步类似的csv文件,这意味着我有一个节点的csv文件,第一列是节点的id,它们之间的关系有一个csv文件,列类似于start\u id、end\u id、rela

对于到Neo4j数据库的初始数据导入(步骤1),我使用Neo4j管理导入工具。在这里,您可以通过头中的:id指定节点的内部id

我还想使用
LOAD CSV
命令将更多节点(步骤2)创建到已经存在的数据库中(使用上一步的数据)。我找不到关于如何使用此命令指定节点的内部id的答案

为什么不可能,而在初始导入时却可能?在第二步中,我有一个与第一步类似的csv文件,这意味着我有一个节点的csv文件,第一列是节点的id,它们之间的关系有一个csv文件,列类似于start\u id、end\u id、relationshipType


谢谢,Petr M

您误解了如何使用输入文件中包含的
ID
s。它们不用作本机ID

输入数据文件中的
ID
s仅用于启用
import
工具,以了解文件A中的节点X应与文件B中的节点Y相同。导入完成后,文件中的
ID
s将被遗忘

每当创建节点时,neo4j服务器总是自行决定实际的本机ID


此外,决不建议在数据库中存储本机ID,因为随着时间的推移,它不是识别特定实体(节点或关系)的可靠方法。删除实体后,可以将其本机ID重新分配给新实体。

许多人建议通过创建自己的名为“nodeID”的属性来解决此问题。这将需要额外的索引,在我看来这是完全无用的,因为我可以轻松地使用已索引的内部IDA作为注释,内部图形id就像指向节点数据存储中的节点数据的指针,这是不允许设置内部图形id的一个重要原因。