加载实体关系三重CSV作为节点

时间:2019-04-24 08:52:42

标签: csv neo4j neo4j-apoc triples

假设我有一个csv文件,其数据格式为{SubjectrelationObject)。

是否可以将其加载到neo4j中,该图被建模为使得对象和对象成为节点,并且它们之间的关系是来自三元组的关系? 本质上,从csv加载时,我想将主题和对象加载为单独的节点,并且关系是将它们连接在一起的节点。

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

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

1 个答案:

答案 0 :(得分:0)

是的,有可能。您需要在Neo4j中安装APOC plugin,然后使用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(*);