首页 > 解决方案 > 将实体关系三元组 csv 作为节点加载

问题描述

假设我有一个 csv 文件,其中的数据格式为 ( Subject, relation, Object)。

是否可以将其作为图形模型加载到 neo4j 中,使主体和对象成为节点,并且它们之间的关系是三元组的关系?本质上,在从 csv 加载时,我想将主题和对象加载为单独的节点,并且关系是连接它们的那个。

(subject)-[:relation]->(object)

我的 csv 格式为 ent1,state,ent2 a,is,b 。. .

标签: csvneo4jneo4j-apoctriples

解决方案


是的,这是可能的。您需要在 Neo4j 中安装APOC 插件,然后使用apoc.merge.relationship.

请参阅以下查询以加载数据:在查询中添加/修改所需的详细信息。

LOAD CSV FROM "file:///path-to-file" AS line
MERGE (sub:Subject {name:line[0]})
MERGE (obj:Object {name:line[2]})
WITH sub, obj, line
CALL apoc.merge.relationship(sub,line[1],{},{},obj) YIELD rel
RETURN COUNT(*);

推荐阅读