例如:
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

为了显示图形问题的简单表示,图形工作者非常有用,因为人们可以探索数据.我根据你的描述创建了一个: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)