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;

结果

顺利导入

相关推荐
AugustRed1 天前
Neo4j 图数据库原理 + 应用场景简单介绍
数据库·neo4j
Thomas.Sir7 天前
第34课:TensorFlow|TF迁移学习实战【调用官方预训练模型微调训练】
tensorflow·neo4j·迁移学习
xing-xing20 天前
Neo4j学习总结
neo4j
JOker_Chu_23 天前
知识图谱详解:从图结构、关系建模到查询与应用
数据库·知识图谱·database·neo4j
veminhe24 天前
使用neo4j构建知识图谱
人工智能·知识图谱·neo4j
星川皆无恙1 个月前
大数据知识图谱项目:基于neo4j知识图谱+flask的大数据电影问答系统(超详细讲解及源码)
大数据·知识图谱·neo4j
jinggongszh1 个月前
企业知识库的第三条路:PG16做事实源,Neo4j做图投影
知识图谱·neo4j·rag·企业知识库·postgresql 16·证据链
是赵敢敢啊1 个月前
自定义注解@SyncNeo4j实现增删改导入时自动同步数据节点和关系到Neo4j
neo4j
心念枕惊2 个月前
Conda 环境一键搬家:用 conda-pack 打包带走,连网都不用
conda·neo4j
码农学院2 个月前
Neo4j知识图谱赋能跨境电商GEO:LLM实体识别与AI搜索引擎结构化数据输出实战
人工智能·知识图谱·neo4j