当前位置: 首页 > 知识库问答 >
问题:

如何在NEO4J中快速创建100K节点和关系?

阎修明
2023-03-14
for(int i = 0; i < 100000; i++)
{
    params.put("param1", "param1_val_" + i);
    //...
    params.put("param10", "param10_val_" + i); 
    neo4jsession.run(cypher, params);
}

共有1个答案

昌正奇
2023-03-14

每个事务只有一个插入的批处理不会很好地执行。您需要一次批处理多个数据,传递一个输入集合,在cypher查询中展开并执行每批写操作。

您可以使用定期提交通过加载CSV来完成此操作,也可以使用这些批处理技术自己完成。

APOC过程还具有批处理过程,当您不从外部导入数据时,这些批处理过程在批处理图形更改时非常有用。

 类似资料:
  • 我有一个方法可以创建一个带有节点和关系的图。我想将节点ID列表返回给调用方,以便后面的步骤可以快速定位这些节点并创建其他关系。我将无法返回节点实例。 在SQL世界中,我可以返回主键或唯一键。在neo4j的世界里,我应该回报什么?是否有一个唯一的节点标识符,我可以使用,而不会注定自己的地狱第七级?我有自己的身份证吗?由于我沉迷于SQL,我在学习Neo4J方法时遇到了困难。

  • 我有一个csv格式的数据集。其中一个字段是类型,类似于枚举。基于此类型,我需要在使用csv LOAD加载数据时创建不同的类型、节点和关系。您可以在csv中调用具有定义子类型的属性的超级类型的行。 我真的不知道如何在Cypher中做到这一点。我唯一的选择是将一个csv文件拆分为每种类型的csv文件,并运行不同的密码吗?

  • 我希望它创建每个节点(而不是在已经存在具有相同ID的节点时创建新节点),并创建每个关系(在CSV中指定具有多个关系的节点中有多个关系from/to节点)。 实际发生的情况:它似乎创建了所有唯一的节点。它还创建了节点之间的关系,但它只为每个节点设置一个关系,而不考虑与多个其他节点进行通信的一些节点。 我很困惑,因为我的理解是,如果在数据库中还没有出现关系,它将创建关系,所以我认为它将创建CSV中指定

  • 我的问题与此非常相似:如何通过在neo4j中导入的csv文件创建唯一的节点和关系?我有一个大约250万行的textfile,其中有两列,每一列都是节点ID: 每一行表示一个关系(即250万个关系):first_column nodeid->follows->second_column nodeid。这个文件中大约有80,000个唯一节点。 null 我的主要问题是我想知道如何使这个过程更快。这是在

  • 我试图在Neo4j中创建节点之间的关系。我正在使用Neo4J(2.1.8社区) 我试图创建以下关系。 创建一个新的员工(节点),它将向DB中的Manager(节点)报告(空关系)(按名称搜索)。我使用了下面的查询。 我得到了下面的错误。 谁能告诉我这个问题出了什么问题?另外,如果这不是使用GraphRespository创建关系的正确方法,那么我还可以使用什么来实现同样的目的呢。 提前感谢。 注意

  • 我使用以下命令将数据从csv文件加载到Neo4j中。输入文件很大,有数百万行。当这个查询运行时,我可以查询节点的数量并检查进度。但是一旦它停止创建节点,我想它就会继续创建关系。但我无法检查这一步的进展。 我有两个疑问: 它是否处理每一行文件的命令,即为每一行源码创建节点和关系等?? 或者它一次创建所有节点,然后创建关系。 下面是加载文件的密码器。