Neo4j如何使用每个关系的属性过滤器添加多个关系?

阿比

MATCH (me)-[post_rel_source:FOLLOWS_TEAM|:FOLLOWS|:FOLLOWS_EVENT*0..1]->(user)

在这种情况下,如何检查所有3个关系的不同“状态”?FOLLOWS_TEAM已接受:1 FOLLOWS已接受:1 FOLLOWS_EVENT没有任何状态。

如果我添加如下内容,则它不适用于“ FOLLOWS_EVENT”

[post_rel_source:FOLLOWS_TEAM|:FOLLOWS|:EVENTS_OF_ORG*0..1{accepted: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的路径(即,其中meuser是同一节点,并且它们之间没有匹配关系的路径),因此SIZE(r) = 0测试将检测并接受这种情况(大概是您想要的) 。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章