我有具有双向关系的节点(如下)
我正在尝试创建一个查询,我想返回特定节点的所有后续节点及其后续节点的后续节点(3 希望深度)
例如假设这些关系:
-> 符号跟随
A->B
B->A
B->C
C->B
C->D
D->C
C->E
E->C
如果我在节点 A 上执行查询,我希望得到此响应
B
C
D
E
我试过这个:
MATCH (user:User {name:'roi'})-[:nearby*1..3]->(foaf)
WHERE NOT((user)-[:nearby]->(foaf))
RETURN user, foaf
问题是我没有得到节点(A)的关注,只有他关注的朋友的关注
So I got
C
D
E
我没有得到B
有人可以帮忙吗?
谢谢
你不明白B
因为你的WHERE
模式过滤掉任何节点[:NEARBY]
to A
。对于那种特定的关系,就像说
MATCH A-[:NEARBY]->B
WHERE NOT(A-[:NEARBY]->B)
Edit
如果你想要一个用户的朋友和朋友的朋友深度三层而不是用户你可以这样做
MATCH (user:User {name:'roi'})-[:NEARBY*1..3]->f
WHERE f <> user
RETURN f
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)