neo4j cypher节点之间的多种关系

Awa*_*ing 3 neo4j

例如:

a- [r] - > b,两个节点之间有多个r,每个r.userId都是唯一的.
(例如:a- [r:R {userId:"user1"}] - > b,(a- [r:R {userId:"user2"}] - > b,
a- [r]相同 - >ç

情况是a- [r] - > b有一个关系:r.userId = amdin,但a- [r] - > c没有这种关系.

我怎么能只返回c.

我尝试创建密码:

"MATCH(a:SomeLabel) - [r:SomeR] - >(any:SomeLabel)"
"WHERE id(a)= 0 AND r.userId <> \"admin \""
"RETURN any";

但这也会返回b,因为a-> b有其他关系:r.userId = xxxx

如何编写cypher返回节点而不是inculde user.Id ="admin"......

如果你不清楚我的意思,请告诉我....我需要你帮助这个案子..谢谢

我在下面画了一张图片,多个关系名为sr但具有不同的属性(userId是唯一的),我想找到与节点A相关但不包含sr {userId:admin}的所有节点,我在那里添加一个红色下划线.如图所示,节点B的关系为sr {userId:admin},所以我只想返回节点C,没有节点B

在此输入图像描述

Tho*_*nzl 6

为了显示图形问题的简单表示,图形工作者非常有用,因为人们可以探索数据.我根据你的描述创建了一个:http://gist.neo4j.org/?94ef056e41153b116e4f

对于您的问题,您可以收集每对节点的关系中涉及的所有用户名,并根据这些用户名进行过滤:

MATCH (a { name:'A' })-[r:sr]->b
WITH a,b, collect(r.name) AS usernames
WHERE NOT 'admin' IN usernames
RETURN a, b
Run Code Online (Sandbox Code Playgroud)