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;

结果

顺利导入

相关推荐
yeezyshappycodes2 天前
neo4j连接失败问题
neo4j
迷藏4943 天前
**发散创新:基于 Rust的模型保护机制设计与实践**在人工智能快速发
java·人工智能·python·rust·neo4j
kimi-2223 天前
Neo4j 可视化工具和产品
neo4j
kimi-2223 天前
Neo4j CQL 核心命令与操作
数据库·neo4j
heimeiyingwang5 天前
【架构实战】图数据库Neo4j在社交系统中的应用
数据库·架构·neo4j
谢白羽5 天前
图数据库语义搜索性能实测:Neo4j vs FalkorDB vs Memgraph,谁的向量检索最快?
数据库·neo4j·memgraph·falkordb
星马梦缘6 天前
cannot import name ‘deserialize‘ from ‘tensorflow.keras.models‘ 的解决方案
tensorflow·keras·neo4j
天天进步201510 天前
探究 Graphiti 在 Neo4j 之上的语义搜索与图遍历优化
人工智能·neo4j
霸道流氓气质10 天前
SpringBoot集成Neo4j入门流程及示例代码
spring boot·后端·neo4j
SuperHeroWu711 天前
【Neo4j】图数据库通过浏览器加载csv文件导入踩坑记录
数据库·neo4j·图数据库·csv·导入·踩坑·记录