gpt4 book ai didi

neo4j - 将具有多种类型关系的 CSV 加载到 Neo4j

转载 作者:行者123 更新时间:2023-12-01 12:19:32 25 4
gpt4 key购买 nike

假设我们有一个包含各种关系类型节点的 CSV。是否可以选择在一个查询中加载 CSV 以允许将每种关系类型显示为关系名称,而无需将 CSV 分解为单独的文件(每个关系类型一个)? (我们不想将关系类型作为属性添加到 Edge)。

Id1 | Id2 | RelationshipType   
1 | 2 | type1
1 | 3 | type2
2 | 3 | type1
...

我们希望稍后使用类似于以下的查询来显示和查询数据:
MATCH l=(p:Id1) - [:type1] - (p:Id2) RETURN l;  
MATCH l=(p:Id1) - [:type2] - (p:Id2) RETURN l;

最佳答案

您可以使用 APOC Procedure 来做到这一点。 apoc.create.relationship .

考虑这个 CSV 文件:

Id1|Id2|RelationshipType
1|2|type1
1|3|type2
2|3|type1
LOAD CSV查询将是:
LOAD CSV WITH HEADERS FROM 'file:///sample.csv' AS line FIELDTERMINATOR '|'
WITH line
MERGE(node0:Node {id : line.Id1})
MERGE(node1:Node {id : line.Id2})
WITH node0, node1, line
CALL apoc.create.relationship(node0, line.RelationshipType, {}, node1) YIELD rel
RETURN *

结果图将是:

Resultant Graph

注:记得根据你使用的 Neo4j 版本安装 APOC 程序。看看 Version Compatibility Matrix .

关于neo4j - 将具有多种类型关系的 CSV 加载到 Neo4j,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45598189/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com