我需要在两个节点之间创建两种不同类型的关系。关系的类型取决于节点的属性之一。
例如,
我有两个节点 USER 和 EVENT。我需要在他们之间建立两种关系。1. 邀请 2. 请求邀请
甚至节点也有属性 informOnly。
如果 informOnly 为 true,则创建“邀请”关系。否则创建“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
Run Code Online (Sandbox Code Playgroud)
目前没有条件,但您可以通过迭代由 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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2404 次 |
| 最近记录: |