neo4j随笔-将csv文件导入知识图谱
我有两个csv文件nodes1.1.csv存放节点信息,用记事本打开,能正常显示,且编码为UTF-8,就可以。虽然在excel表打开是乱码relations1.1.csv存放节点信息,用记事本打开,能正常显示,且编码为UTF-8,就可以。虽然在excel表打开是乱码然后将这两个csv文件放到neo4j的import目录下(linux的neo4j在/var/lib/neo4j/import)因为我们
·
目录
编辑导入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 {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 {id: row.source_id})
MATCH (target {id: row.target_id})
CALL apoc.merge.relationship(source, row.relation, {type: row.relation}, {}, target) YIELD rel
RETURN rel;
结果
顺利导入

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)