知识图谱(七):图数据库neo4j导入CSV文件使用import

本文介绍了如何将CSV数据导入到图数据库Neo4j中,包括数据准备、放置于import目录、数据类型转换及结果展示。提供了一个数据连接和执行后的效果展示。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

准备数据

首先我们准备好数据(CSV)
在这里插入图片描述

数据连接:https://pan.baidu.com/s/1hwMy91DjohZ9yJXcA6GKMQ

付费阅读者,请加qq595454159 ,备注购买账号

放入import目录路径

一、Neo4j默认导入目录路径
neo4j安装根路径下找到import之后在此文件夹下放入数据
在这里插入图片描述

导入数据

二、Neo4j导入CSV文件

找到neo4j的安装路径,并在D:\neo4j\import放入csv文件,如果目录下没有则创建import目录
完整路径如下D:\neo4j\import
因为neo4j支持导入csv文件,其默认目录入口是 ...\import
 
 
//导入节点 电影类型  == 注意类型转换
LOAD CSV WITH HEADERS  FROM "file:///genre.csv" AS line
MERGE (p:Genre{gid:toInteger(line.gid),name:line.gname})
	
 
//导入节点 演员信息	
LOAD CSV WITH HEADERS FROM 'file:///person.csv' AS line
MERGE (p:Person { pid:toInteger(line.pid),birth:line.birth,
death:line.death,name:line.name,
biography:line.biography,
birthplace:line.birthplace})
 
 
// 导入节点 电影信息
LOAD CSV WITH HEADERS  FROM "file:///movie.csv" AS line  
MERGE (p:Movie{mid:toInteger(line.mid),title:line.title,introduction:line.introduction,
rating:toFloat(line.rating),releasedate:line.releasedate})
 
 
// 导入关系 actedin  电影是谁参演的 1对多
LOAD CSV WITH HEADERS FROM "file:///person_to_movie.csv" AS line 
match (from:Person{pid:toInteger(line.pid)}),(to:Movie{mid:toInteger(line.mid)})  
merge (from)-[r:actedin{pid:toInteger(line.pid),mid:toInteger(line.mid)}]->(to)
	
//导入关系  电影是什么类型 == 1对多
LOAD CSV WITH HEADERS FROM "file:///movie_to_genre.csv" AS line
match (from:Movie{mid:toInteger(line.mid)}),(to:Genre{gid:toInteger(line.gid)})  
merge (from)-[r:is{mid:toInteger(line.mid),gid:toInteger(line.gid)}]->(to)
 
 
-- 问:章子怡都演了哪些电影?
match(n:Person)-[:actedin]->(m:Movie) where n.name='章子怡' return m.title
 
--  删除所有的节点及关系
MATCH (n)-[r]-(b)
DELETE n,r,b

由于csv导入neo4j的数据都是字符串的数据类型,因此,对于一些有特殊要求的字段,我们需要在导入的时候进行类型转换

比如
在这里插入图片描述
比如
在这里插入图片描述

结果展现

语句一个个执行,最终执行完在neo4j中的的效果如下
在这里插入图片描述

展现形式如下:
在这里插入图片描述

数据获取链接:
百度网盘链接: 提取码: c1tm

### 使用 Neo4j 导入 CSV 文件创建知识图谱使用 Neo4j 导入 CSV 文件并构建知识图谱,可以按照以下方法操作: #### 准备工作 确保已准备好节点和关系的 CSV 文件,并将其存储至指定路径。对于 Windows 系统中的 `neo4j-community-5.20.0` 安装版本,需将文件存放在 `\import` 目录下[^1];而对于 Ubuntu 环境,则应放置于 `/usr/lib/neo4j/import` 路径下[^2]。 #### 数据导入命令 在完成文件准备工作之后,在 Neo4j 的安装目录下的 `\bin` 或者 Linux 中对应的 bin 文件夹中启动终端窗口,执行如下命令实现数据导入: ```bash neo4j-admin database import full \ --nodes=import/entity1.csv \ --nodes=import/entity2.csv \ --relationships=import/relation.csv \ --overwrite-destination=true demo ``` 此命令的作用在于全面导入节点与关系的数据到名为 `demo` 的数据库之中,同时参数 `--overwrite-destination=true` 表明如果目标数据库已经存在则会被覆盖。 #### 验证导入成功 当上述过程顺利完成以后,可以在 Neo4j 的 data 子目录里观察到新生成的 `demo.db` 文件,这表明新的数据库已经被正确建立起来。 #### 注意事项 为了防止潜在错误的发生,请确认所有的 CSV 文件均被保存为 UTF-8 编码格式。 ```python # 示例 Python 代码用于验证 CSV 文件读取无误 (可选) import csv def check_csv(file_path): with open(file_path, mode='r', encoding='utf-8') as file: reader = csv.reader(file) for row in reader: print(row) check_csv('path_to_your_file.csv') ```
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT界的小小小学生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值