MATCH (me)-[post_rel_source:FOLLOWS_TEAM|:FOLLOWS|:FOLLOWS_EVENT*0..1]->(user)
在这种情况下,如何检查所有3个关系的不同“状态”? FOLLOWS_TEAM已接受:1 以下已接受:1 FOLLOWS_EVENT没有任何状态。
如果我添加如下内容,则它不适用于“ FOLLOWS_EVENT”
[post_rel_source:FOLLOWS_TEAM|:FOLLOWS|:EVENTS_OF_ORG*0..1{accepted:1}]
答案 0 :(得分:1)
[编辑]
此代码段应该有效:
...
MATCH (me)-[r:FOLLOWS_TEAM|:FOLLOWS|:FOLLOWS_EVENT*0..1]->(user)
WHERE
SIZE(r) = 0 OR
TYPE(r[0]) = 'FOLLOWS_EVENT' OR
r[0].accepted = 1
...
注意:由于您的关系模式允许使用长度为0的路径(即me
和user
是同一节点,并且它们之间没有匹配关系的路径),因此{ {1}}测试检测并接受了这种情况(大概是您想要的)。