批量数据导入Neo4j的方式

这篇具有很好参考价值的文章主要介绍了批量数据导入Neo4j的方式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

批量数据导入Neo4j的方式


批量数据导入Neo4j的方式


1、写在前面

  • Linux版本:Ubuntu Kylin 16.04
  • Neo4j版本:Neo4j-3.2.7

2、前置芝士

最常见的数据格式之一是平面文件上的行和列。这种电子表格格式被用于各种关系型数据库的导入和导出,所以用这种方式检索现有数据是很容易的。很明显,CSV格式就是这种类型。

Cypher中的LOAD CSV命令允许我们指定一个文件路径、是否有头文件、不同的值定界符,以及Cypher语句,以便我们在图形中对这些表格数据进行建模。

进入Neo4j安装目录,并且进入到conf目录中,查看neo4j.conf配置文件

zhangsan@node01:~$ cd /usr/local/neo4j-3.5.12/conf/
zhangsan@node01:/usr/local/neo4j-3.5.12/conf$ ll
总用量 24
drwxr-xr-x  2 lbj lbj  4096 11月 24 06:38 ./
drwxr-xr-x 12 lbj lbj  4096 11月 24 06:32 ../
-rw-r--r--  1 lbj lbj 15918 10月 18 04:21 neo4j.conf

neo4j.conf配置文件中的dbms.directories.import参数是关于load data的文件路径的设置,默认是在Neo4j安装目录下的
import目录,删除/注释掉dbms.directories.import=import这一行,即可使用自定义路径导入数据到Neo4j

# This setting constrains all `LOAD CSV` import files to be under the `import` directory. Remove or comment it out to
# allow files to be loaded from anywhere in the filesystem; this introduces possible security problems. See the
# `LOAD CSV` section of the manual for details.
dbms.directories.import=import

3、CSV数据导入Neo4j

3.1 LOAD CSV Cypher命令

LOAD CSV Cypher命令:该命令是一个很好的导入数据方式,可以处理中小尺寸的数据集(最多1000万条记录)。可用于任何设置,包括AuraDB。

LOAD CSV可以处理本地远程文件,每一种都有一些相关的语法。

本地文件可以在文件名前使用file:///的前缀来加载。

因为AuraDB是基于云(Cloud)的,所以这种本地文件的方法不能用于AuraDB,只能用于本地安装。

CSV文件不带有header

USING PERIODIC COMMIT 200 LOAD CSV FROM 'file:///tb_books.csv' AS line
merge (b1:books1{id:line[0],type:line[1],name:line[2],author:line[3],price:line[4]})

CSV文件首行是header信息

USING PERIODIC COMMIT 200 LOAD CSV WITH HEADERS FROM 'file:///tb_books.csv' AS line
merge (b1:books1{id:line[0],type:line[1],name:line[2],author:line[3],price:line[4]})

USING PERIODIC COMMIT之后的参数:指定一次导入数据的上限是多少

关于csv格式数据导入的重要说明

  • 所有来自CSV文件的数据都是以字符串形式读取的,所以你需要使用toInteger(), toFloat(), split()或类似函数来转换数值。

  • 标签(label)、属性名称(field)、关系类型(relationship)和变量是区分大小写的。

  • 数据越干净,加载就越容易。尽量在加载前处理复杂的清理/操作。

请记住,Neo4j不存储空值。CSV文件中的空字段可以被跳过,或者在LOAD CSV中用默认值替换。

3.2 neo4j-admin命令

neo4j-admin批量导入工具:命令行工具,可用于直接加载大型数据集。适用于Neo4j桌面、Neo4j EE Docker镜像和本地安装。

../bin/neo4j-admin import --database orders
     --nodes=Customer=customers.csv
     --nodes=products.csv
     --nodes=Order="orders_header.csv,orders1.csv,orders2.csv"
     --relationships=CONTAINS=order_details.csv
     --relationships=ORDERED="customer_orders_header.csv,orders1.csv,orders2.csv"
     --trim-strings=true

3.3 Kettle导入工具

Kettle导入工具:映射和执行数据处理流程的步骤,对于非常大的数据集来说效果很好。适用于任何设置,包括AuraDB。

4、数据导入失败

如果,数据文件的路径没有问题之后,那大概率是文件的格式问题,将文件重新保存为utf-8的格式即可。

利用NotePad++或者Sublime Text即可

5、参考资料

neo4j文章来源地址https://www.toymoban.com/news/detail-411388.html

到了这里,关于批量数据导入Neo4j的方式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Neo4j---(3)批量导入实体和关系csv文件之LOAD CSV

    一、几大导入方式的差异 1. neo4j-admin import: 只能初始化,若要用的话必需清空之前的数据库。 不能很好的适应不断要添加新节点和关系的需求。 必需关闭数据库 neo4j stop 2. LOAD CSV 可以在原数据库基础上新增数据,导入中小型数据,1kw条左右 不用关闭数据库,可以直接在b

    2024年02月07日
    浏览(53)
  • Neo4j 导入CSV数据

    Neo4j 导入CSV数据 要求 必须有一个或多个 CSV 文件来表示将在图中创建的节点和关系。 必须有一个已启动的现有 Neo4j DBMS。 Neo4j 中存储为属性的数据类型 String:字符串 Long (integer values):整数值 Double (decimal values):双精度(十进制值) Boolean:布尔值 Date/Datetime:时间 Point (sp

    2024年02月03日
    浏览(30)
  • Neo4j笔记-数据迁移(导出/导入)

    这里先说明以下几点: Neo4j在4.0下版本默认的库名是:graph.db Neo4j在4.0上版本默认的库名是:neo4j.db 不管是Neo4j,还是Neo4j Desktop,都会在bin目录下有neo4j、neo4j-admin软件。在conf目录下,有neo4j.conf配置文件。 这个就是我装的,Test项目,里面带有neo4j 如果需要把低版本的库数据导

    2024年02月14日
    浏览(27)
  • Neo4j导出和导入数据库

    Neo4j 4.x版本和5.x版本的导出导入有区别,这里分开来讲。 导入导出之前要先 关闭 neo4j服务。 进入 $NEO4J_HOME%/bin 目录执行如下数据库导出命令: 提示: 其中 neo4j.db 是你需要导出的默认数据库。可以去 conf 文件中查看,默认数据库是哪一个。

    2024年02月16日
    浏览(30)
  • python将csv数据导入neo4j

    参考链接:https://github.com/jm199504/Financial-Knowledge-Graphs/tree/master (No data) Unnamed: 0 TS代码 股票代码 股票名称 行业 0 0 000001.SZ 1 平安银行 银行 1 1 000002.SZ 2 万科A 全国地产 2 2 000004.SZ 4 国华网安 互联网 3 3 000005.SZ 5 世纪星源 环境保护 4 4 000006.SZ 6 深振业A 区域地产 Unnamed: 0 ts_code an

    2024年02月22日
    浏览(33)
  • Neo4j 图数据库的导入导出

    目录 neo4j Desktop页面层级: 图数据库导出: 图数据库导入: 图数据库的分库分表: 以Neo4j Desktop为例: 分为三个层级: Project:用于区分多个项目 DBMS:一个项目内,可以有多个版本的DBMS database:一个DBMS内,可以有多个数据库 选中一个database,点击右边的 ··· ,点击dump,

    2024年02月09日
    浏览(30)
  • Neo4j数据库导入导出dump方法

    首先要关闭neo4j; neo4j stop 导出 其中test文件夹在neo4j下面 导入 导入成功: 再启动neo4j neo4j start

    2024年02月12日
    浏览(34)
  • 使用apoc将数据从数据库导入neo4j

    1、创建实体 这段代码的目的是从 ClickHouse 数据库中加载数据到 Neo4j 图数据库,并在加载过程中使用 APOC(Awesome Procedures on Cypher)库提供的 apoc.merge.node 过程来合并数据,确保在图数据库中的节点具有唯一性。 逐行解释这段代码: CREATE CONSTRAINT uniq_law_id ON (p:Law) ASSERT p.id IS

    2024年02月21日
    浏览(70)
  • neo4j用python导入Excel数据的方法

    目录 neo4j的下载 neo4j的介绍 neo4j简介 neo4j样本项目介绍 neo4j修改密码 连接GraphXR 用Python往neo4j导入Excel数据 代码部分  关于创建结点: 关于创建关系: 结束 neo4j下载网址:Neo4j Download Center - Graph Database Analytics 点击红框内的Download Neo4j Desktop 填写信息后点击Download Desktop,即可

    2024年01月21日
    浏览(34)
  • Neo4j桌面版安装、调试和数据库导出导入

    下载路径:  Neo4j Desktop (exe) 需要填写一些信息,随便填写就行 开始下载时,界面会跳转到 激活码界面 ,激活软件用   安装完成之后,点击启动,然后输入激活码 可在Add按钮新增数据库,其中Movie DBMS为系统自带数据库,下面为自己新增 新增数据库示例: 此种情况,大概率

    2024年02月05日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包