gpt4 book ai didi

Neo4j 根据节点的一个属性有条件地创建关系

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

我需要在两个节点之间创建两种不同类型的关系。关系类型取决于节点的属性之一。

例如,

我有两个节点 USER 和 EVENT。我要在它们之间建立两个关系。 1.邀请 2.请求邀请

即使是节点也有属性 inviteOnly。

如果 inviteOnly 为真,则创建“邀请”关系。否则创建“requestToInvite”关系。

这就是我正在尝试的:

MATCH (u:User)
WHERE ID(u) = 13
WITH u
MATCH (e:Events)
WHERE ID(e) = 0
WITH u,e
CREATE (u)-[:inviteONLYTrue]->(e) WHERE e.inviteOnly = true
CREATE (u)-[:inviteONLYFALSE]->(e) WHERE e.inviteOnly = false
WITH u,e
RETURN u,e

最佳答案

目前没有条件,但您可以通过迭代由 CASE 语句创建的零或单元素列表来解决它。

MATCH (u:User) WHERE ID(u) = 13
MATCH (e:Events) WHERE ID(e) = 0
FOREACH (_ in case e.inviteOnly when true then [1] else [] end |
CREATE (u)-[:inviteONLYTrue]->(e) )
FOREACH (_ in case e.inviteOnly when false then [1] else [] end |
CREATE (u)-[:inviteONLYFALSE]->(e) )
RETURN u,e

关于Neo4j 根据节点的一个属性有条件地创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37492723/

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