gpt4 book ai didi

neo4j - 使用变量在密码中创建关系?

转载 作者:行者123 更新时间:2023-12-04 23:16:28 26 4
gpt4 key购买 nike

我正在尝试动态创建节点之间的关系。我遇到的问题是我无法使用变量来指定关系类型。

例如,我有数据:

{
nodes: [
{
"name":"Node1"
},
...
],
relationships: [
{
"sourceNode": "Node1",
"destinationNode": "Node2",
"relationshipType": "FRIEND"
},
...
]
}

假设所有节点都已创建。

我现在想在 relationshipType 类型的节点之间创建关系.

我正在尝试这样做:
WITH {json} AS document
UNWIND document.relationships AS relationship
MATCH (pdt:Node {name: relationship.sourceNode})
MATCH (cdt:Node {name: relationship.destinationNode})
CREATE (pdt)-[r:relationship.relationshipType]->(cdt)
RETURN pdt.name,type(r),cdt.name

然而,它在 [r:relationship.relationshipType] 上失败了。因为它需要一个显式类型,如 [r:CHILD] .

是否可以使用变量来设置关系类型?

最佳答案

安装后APOC plugin ,您可以使用 apoc.create.relationship创建与动态类型的关系的过程。

例如:

WITH {json} AS document
UNWIND document.relationships AS relationship
MATCH (pdt:Node {name: relationship.sourceNode})
MATCH (cdt:Node {name: relationship.destinationNode})
CALL apoc.create.relationship(pdt, relationship.relationshipType, NULL, cdt) YIELD rel
RETURN pdt.name, type(rel), cdt.name

关于neo4j - 使用变量在密码中创建关系?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40225203/

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