Neo4j导入csv文件

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

Neo4j导入csv文件

前言

Neo4j 数据库可以使用 load csv 命令从 CSV 文件中导入数据。

load csv 命令可以帮助我们导入中小型的数据,理论上大概能处理到一千万条记录。

其中,CSV文件推荐是使用 UTF-8 编码,不然就会造成中文乱码的糟糕情况。

文件访问

Neo4j的配置文件是 conf 文件夹下的 neo4j.conf 文件,里面有一句默认代码:

dbms.directories.import=import

这句代码指定了 Neo4j 中默认访问文件的相对位置,即 <Neo4j_Home> 路径下的 import 文件夹。

我们把准备访问的文件拷贝在 import 文件夹中,然后就可以使用相对路径 file:/// 即可访问 import 下的文件。

例如,我们把文件 test.csv 放入 import 之后,它的绝对路径是 “D:\neo4j-community-3.5.34\import\test.csv” ,我们在命令行中使用相对路径 “file:///test.csv” 即可访问到该文件。

明白了原理,如果我们要把文件的访问位置改成别的文件夹,只需要更改这句代码,去新建对应的文件夹,拷贝文件即可。

//改为Neo4j下的 hhh 文件夹
dbms.directories.import=hhh

这里有一个注意事项,Neo4j数据库考虑了安全性的问题,在使用这句代码指定了文件的访问位置之后,数据库不允许访问该位置之外的其他文件。

常用参数

参数 名称 用途
using periodic commit [n] 批量提交 可以设置每满 n 条提交一次,防止内存溢出。
默认值是1000
with headers 读取首行 读取文件的第一行作为参数名
不使用此参数,要用 line[0]、line[1] 这样的方式表示
使用此参数,可以使用 line.name 这样的表示方式
as line 重命名 为每行数据重命名
fieldterminator ‘,’ 自定义字段定界符 csv中的分隔符基本都是逗号或分号。
最常用的是逗号,

如果 CSV 文件读取的数据是 String 类型,我们可以使用字符串转换函数对一些有特定要求的数据进行转换。

例如,通过 toInteger() 函数将 String 类型转换为 Integer 类型。

实际书写

我们新建一个 genre.csv 文件,逐项填入以下数据,将其拷贝在 import 文件夹下,然后我们尝试在命令行导入 genre.csv 文件。

gid,gname
12,冒险
14,奇幻
16,动画
18,剧情
27,恐怖
28,动作
35,喜剧
36,历史
37,西部
53,惊悚
80,犯罪
99,纪录
878,科幻
9648,悬疑
10402,音乐
10749,爱情
10751,家庭
10752,战争
10770,电视电影

不使用 with headers 的写法:

load csv
from 'file:///genre.csv' as line
fieldterminator ','
create (
	p:Genre{
    	gid: toInteger(line[0]),
    	gname: line[1]
    }
)

使用 with headers 的写法:

load csv with headers
from 'file:///genre.csv' as line
fieldterminator ','
create (
	p:Genre{
    	gid: toInteger(line.gid),
    	gname: line.gname
    }
)

Neo4j 3.5版本在使用批量提交时遇到一个错误,系统提示要使用 :auto command

Neo4j导入csv文件

因此我在命令前面加入了 :auto,成功通过

:auto using periodic commit 5
load csv with headers
from 'file:///genre.csv' as line
fieldterminator ','
create (
	p:Genre{
    	gid: toInteger(line.gid),
    	gname: line.gname
    }
)

Neo4j数据库中创建成功如下图所示:

Neo4j导入csv文件

参考文章

neo4j–Cypher语法练习(LOAD CSV)

Neo4j:入门基础(二)之导入CSV文件

基于电影知识图谱的智能问答系统(二) – Neo4j导入CSV文件文章来源地址https://www.toymoban.com/news/detail-400202.html

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

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

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

相关文章

  • Neo4j 导入CSV数据

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

    2024年02月03日
    浏览(48)
  • 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日
    浏览(48)
  • Neo4j:入门基础(二)~ 数据导入Neo4J RDF导入neo4j数据库

    neo4j导入数据的方式有以下几种: Cypher create 语句,为每一条数据写一个create Cypher load csv 语句,将数据转成CSV格式,通过LOAD CSV读取数据。 neo4j-admin import导入 官方提供的Java API - BatchInserter 大牛编写的 batch-import 工具 neo4j-apoc load.csv + apoc.load.relationship 针对实际业务场景,定制

    2023年04月24日
    浏览(74)
  • Neo4j---(3)批量导入实体和关系csv文件之LOAD CSV

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

    2024年02月07日
    浏览(65)
  • Neo4j---(2)批量导入实体和关系csv文件之neo4j-admin import

    要点: neo4j-admin import命令的适用情况:未初始化空数据库or新建数据库 csv文件的编码:有中文用 “UTF-8” 节点csv和关系csv文件的固定格式以及必要的属性列 一、neo4j-admin import命令 1.作用:批量导入csv数据 2.条件:必须有权限对dbmis.directories.data 和dbms.directories.log进行写入操作

    2024年02月06日
    浏览(46)
  • 知识图谱:py2neo将csv文件导入neo4j

    安装py2neo 安装 python 中的 neo4j 操作库: pip install py2neo 安装 py2neo 后我们可以使用其中的函数对 neo4j 进行操作。 图数据库 Neo4j 中最重要的就是结点和边(关系),结点之间靠边联系在一起,每个结点也有属于自己的属性。 也就是说我们在用 pyhton 操作 Neo4j 的时候只需要创造

    2024年02月20日
    浏览(50)
  • 利用python将json格式的文件导入neo4j图数据库

    笔者收到了朋友的求助,希望我写一段python代码将含对用关系的json文件导入neo4j图数据库。json的格式如下: 他说数据量有几十万条,而且对应关系不唯一:但可以保证每条都含有名称和治疗,但是可能有若干条其他的对用关系,例如上文的例子:其既包含之前的三个模块,

    2024年02月16日
    浏览(44)
  • Neo4j数据库中导入CSV示例数据

    本文简要介绍Neo4j数据库以及如何从CSV文件中导入示例数据,方便我们快速学习测试图数据库。首先介绍简单数据模型以及基本图查询概念,然后通过LOAD CSV命令导入数据,生成节点和关系。 读者可以快速安装Neo4j Desktop,启动并创建`City Calls’项目 ,启动数据库并打开Neo4j

    2024年02月15日
    浏览(70)
  • Ubuntu20.04使用Neo4j导入CSV数据可视化知识图谱

    1.安装JDK( Ubuntu20.04 JDK11) 确认安装路径为/usr/lib/jvm/java-11-openjdk-amd64/bin/java。 2 安装Navicat查看知识库(单机版推荐数据库)(此步骤可忽略) 官网下载安装包: 手头的数据库是.db格式,使用nvicat查看。 安装好nvicat后,导入demo.db文件,将需要的数据转换成csv格式。 3 安装Neo4

    2024年04月23日
    浏览(68)
  • Neo4j导出和导入数据库

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

    2024年02月16日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包