Neo4j导入CSV文件使用import

版权声明:本文为博主原创文章,欢迎交流分享,未经博主允许不得转载。 https://blog.csdn.net/HHTNAN/article/details/82964324

准备数据

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

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

放入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中的的效果如下
在这里插入图片描述

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

猜你喜欢

转载自blog.csdn.net/HHTNAN/article/details/82964324
今日推荐