在巨大的数据集上创建独特的节点和关系 NEO4J

2024-05-03

我的问题与这个非常相似:如何通过neo4j中导入的csv文件创建独特的节点和关系? https://stackoverflow.com/questions/25090255/how-to-create-unique-nodes-and-relationships-by-csv-file-imported-in-neo4j我有一个大约有 250 万行的文本文件,有两列,每一列都带有节点 ID:

1234 345
1234 568
345 984
... ...

每行代表一个关系(因此有 250 万个关系):first_column nodeid-> FOLLOWS -> secondary_column nodeid。该文件中有大约 80,000 个唯一节点。

根据上面的链接,我做了:

USING PERIODIC COMMIT 1000
LOAD CSV FROM 'file:///home/user_name/Desktop/bigfile.csv' AS line FIELDTERMINATOR ' '
MERGE (n:Userid { id: toInt(line[0]) })
WITH line, n
MERGE (m:Userid { id: toInt(line[1]) })
WITH m,n
MERGE (n)-[:FOLLOWS]->(m)

我假设这段代码

  • 如果节点 n 或 m 不存在,则创建它(如果存在则查找它),并创建从 n 到 m 的关系。
  • 如果 n 或 m 存在,并且已经有许多其他边(关系)指向和来自其他节点,这只会添加从 n 到 m 的另一条边(当节点已经存在时,不会创建一个全新的节点)

我的主要问题是我想知道如何使这个过程更快。 这是在 Ubuntu 上完成的,我将 conf/neo4j-wrapper.conf 文件中的内存值从 512 MB 更改为 2048 MB。 (我可以在虚拟机上增加的最大值)

我应该尝试使用导入工具吗? 基于本网站 neo4j.com/developer/guide-import-csv/ 上的“Super Fast Batch Importer For Huge Datasets”下的示例,

./bin/neo4j-import --into mydatabase.db --id-type INTEGER \
                   --nodes allnodes.csv \
                   --delimiter " " \
                   --relationships:FOLLOWS bigfile.csv

为此,我需要重新格式化文件,以便: allnodes.csv 显示

userID:ID(Userid)
1234
5678
...

并且 bigfile.csv 显示

:START_ID(Userid)   :END_ID(Userid)
1234                 345
1234                 568
345                  984
*Two columns delimited by space*

当我运行此导入时,出现此错误:

Input error: Expected '--nodes' to have at least 1 valid item, but had 0 []
Caused by:Expected '--nodes' to have at least 1 valid item, but had 0 []
java.lang.IllegalArgumentException: Expected '--nodes' to have at least 1 valid item, but had 0 []

我该如何修复这个错误?对于 csv 文件,我是否将它们放在运行此命令的同一文件夹中(neo4j 文件夹)?


您的命令行可能包含两个 CSV 文件的错误路径。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在巨大的数据集上创建独特的节点和关系 NEO4J 的相关文章

随机推荐

  • c# - 系统的是/否值

    有没有办法获得 Net 框架中系统语言的 是 否 值 当我只需要 是 和 否 时 我不想为每种语言制作语言文件 你确实可以使用windows资源 我曾经做过一个例子 不幸的是在Delphi中 但你当然也可以在Dotnet中做到这一点 它真的
  • 如何在WinForms中将字典绑定到ListBox

    是否可以将字典绑定到列表框 保持列表框和成员属性之间的同步 var choices new Dictionary
  • gcloud 部署应用程序找不到导入包 - golang

    我已经将应用程序的一个版本部署到 GAE 但现在部署新版本时遇到问题 当我尝试时gcloud app deploy version VERSION 我收到一堆错误 显示远程构建找不到我的导入包 Beginning deployment of
  • Android Studio 无法正确构建 flutter 应用程序

    我正在开发一个应用程序 当我打开它时build gradle文件 出现了几个错误 def localProperties new Properties def localPropertiesFile rootProject file loc
  • C# Asp.net Membership.GetAllUsers 通过电子邮件订购

    我正在使用 Membership GetAllUsers 来获取我的用户列表 我希望返回的列表按电子邮件地址排序 因为我需要标记一些具有重复电子邮件的帐户 Membership GetAllUsers 似乎默认按用户名排序 有办法改变这种行
  • 引用附加变量?

    我怎样才能在 bash 脚本中做到这一点 bin sh func export NAME SUFFIX result of some command NAME my name func This variable will become m
  • Java 无法从 AIX 解析 DNS 地址:UnknownHostException

    我遇到了这个奇怪的错误 在 AIX 上 如果我可以从命令行访问我的服务器 使用 ping telnet 但是如果我尝试使用 java 我会遇到 UnknownHostException 这是因为 Java 无法以某种方式 使用 DNS 但我
  • 第一次调用后 LiveData 未观察到

    我实现了 LiveData 和 ViewModel 来模仿 AsyncTaskLoader 我从 DCIM 中的相机目录加载文件名 然后附加一个 fileObserver 来观察删除文件 图片 时的情况 然后回调告诉 LiveData 在发
  • 如何在 C# 中创建真正不可变的双向链表?

    这更多的是一个理论问题 在 C 中是否可以通过任何方式创建一个真正不可变的双向链表 我认为一个问题在于两个相邻节点的相互依赖 我所说的 真正 是指使用只读字段 这可以通过棘手的构造函数逻辑来完成 例如 public sealed class
  • 从 Javascript 读取当前文档的大小

    我开始玩回旋镖 https github com yahoo boomerang用于测量性能 这是非常有前途的 虽然它允许我测量延迟 带宽和页面加载时间 但我也有兴趣尝试获取在服务器端渲染初始 HTML 页面所需的时间 虽然记录浏览器开始解
  • div表格中的单元格间距

    我希望每个单元之间有 4 个左右的像素空间 我希望灰色标题有空格而不是一块灰色 我尝试尝试 background clip padding box padding 14px margin等 但无法弄清楚如何在div表中的单元格之间放置一些像
  • mysql中更新查询中的多个set和where子句

    我认为这是不可能的 因为我找不到任何东西 但我想我会在这里检查一下 以防我没有寻找正确的东西 我的数据库中有一个设置表 其中有两列 第一列是设置名称 第二列是值 我需要同时更新所有这些 我想看看是否有一种方法可以在一个查询的同时更新这些值
  • 将项目子文件夹中的文件放入输出目录

    我想在 C 项目中创建一个文件夹来包含一些配置文件 但是 我不希望将这些文件复制到bin Release MyFolder 我宁愿将它们复制到bin Release直接地 我认为这可以通过拥有一个 虚拟 文件夹 例如解决方案文件夹 来实现
  • 当我删除 @synthesize 语句时出现编译器错误“使用未声明的标识符”

    在最新的 LLVM 版本中 综合属性的要求已被删除 因此我能够删除我所有的 synthesize声明 除了以下声明NSFetchedResultsController 有谁知道为什么当我删除时编译器会警告我 synthesize fetch
  • Rails:如何将替代 Accept: content-types 视为 JSON?

    到目前为止我已经找到了两种方法request format json 在 Rails 中为 true 即传入请求被视为 JSON 一种是如果您请求资源并以 json另一个是如果您提供标头Accept application json在你的要
  • 在java中使用自定义比较器在数组中搜索

    为什么总是返回49999无论strToSearch变量保持 即使使用 clank 搜索变量 它也会返回相同的结果 我是不是错过了什么 String arr new String 100000 String strToSearch 12 fo
  • 可以在delphi数据集中创建一个假数据字段吗?

    我想在 DataSet 不是 ClientDataSet 中创建一个 假 数据字段 该字段不应存储在数据库中 它不是计算字段 应允许用户输入输入数据 该字段具有业务逻辑含义 因此用户更新其值后应该更新其他字段 使用 OnFieldChang
  • 无法在 GAE 应用程序中使用 google-cloud

    我的 Google App Engine 应用程序中的以下行 webapp py 无法导入谷歌云 https googlecloudplatform github io google cloud python 图书馆 from google
  • 如何使用 web.xml 阻止 IP 地址?

    如何通过 web xml 上的某些配置来阻止 IP 地址 我需要过滤器吗 我该如何实施 你不能纯粹通过配置来做到这一点web xml 不 不过 Servlet 过滤器是实现此类功能的好地方 The Filter接口提供HttpServlet
  • 在巨大的数据集上创建独特的节点和关系 NEO4J

    我的问题与这个非常相似 如何通过neo4j中导入的csv文件创建独特的节点和关系 https stackoverflow com questions 25090255 how to create unique nodes and relat