neo4j随笔-将csv文件导入知识图谱

目录

导入前的准备

导入csv文件

导入nodes1.1.csv并动态为节点添加标签

​编辑导入relations1.1.csv并动态为关系添加标签

结果


导入前的准备

我有两个csv文件

nodes1.1.csv存放节点信息,用记事本打开,能正常显示,且编码为UTF-8,就可以使用。虽然在excel表打开是乱码

relations1.1.csv存放节点信息,用记事本打开,能正常显示,且编码为UTF-8,就可以使用。虽然在excel表打开是乱码

然后将这两个csv文件放到neo4j的import目录下(linux的neo4j在/var/lib/neo4j/import)

因为我们还要通过节点信息动态生成节点标签,也要通过关系信息动态生成关系标签,所以需要安装apoc插件。

可以看这位博主的博客:2025最新Neo4j安装apoc插件-CSDN博客

导入csv文件

插件安装完毕后,就可以打开网页版neo4j

执行Cypher语句

导入nodes1.1.csv并动态为节点添加标签

LOAD CSV WITH HEADERS FROM 'file:///nodes1.1.csv' AS row
MERGE (n:Node {id: row.id})
SET n.name = row.name, 
    n.type = row.type, 
    n.description = row.description, 
    n.expression = row.expression
WITH n, row
CALL apoc.create.addLabels(n, [row.type]) YIELD node  // 动态为节点添加标签
RETURN node;

导入relations1.1.csv并动态为关系添加标签

LOAD CSV WITH HEADERS FROM 'file:///relations1.1.csv' AS row
MATCH (source:Node {id: row.source_id})
MATCH (target:Node {id: row.target_id})
CALL apoc.merge.relationship(source, row.relation, {}, {}, target) YIELD rel
RETURN rel;

结果

顺利导入

相关推荐
局外人LZ1 天前
windows安装Neo4j图数据库
数据库·windows·neo4j
AaronZZH1 天前
Neo4j 数据库备份
数据库·neo4j
程序员~小强2 天前
让知识触手可及!基于Neo4j的机械设备知识图谱问答系统
人工智能·python·django·知识图谱·neo4j
嘉图明6 天前
Conda 环境搭建实战:从基础到进阶
conda·neo4j
麦麦大数据6 天前
vue+neo4j 四大名著知识图谱问答系统
vue.js·人工智能·python·django·问答系统·知识图谱·neo4j
柒柒钏7 天前
python连接neo4j的方式汇总
数据库·python·neo4j
麦麦大数据9 天前
知识图谱neo4j+vue+flask课程在线学习系统
vue.js·django·知识图谱·neo4j·在线学习系统
麦麦大数据9 天前
D033 neo4j知识图谱在线学习系统vue+django+neo4j【单课程】
vue.js·人工智能·学习·django·知识图谱·neo4j
今天也想快点毕业9 天前
windows系统备份mysql数据库文件和备份neo4j数据库文件
数据库·mysql·neo4j