例如:
a-[r]->b,两个节点之间存在多个r,每个r.userId都是唯一的。
(例如:a-[r:R {userId:"user1"}]->b, (a-[r:R{userId:"user2"}]->b,
对于 a-[r]->c 也是如此
而情况是a-[r]->b有一个关系:r.userId = amdin,但是a-[r]->c没有这个关系。
我怎样才能只返回c.
我尝试创建密码:
“匹配(a:SomeLabel)-[r:SomeR]->(任何:SomeLabel)”
"其中 is(a)=0 AND r.user Id \"admin\" "
“返回任何”;
但这也会返回 b ,因为 a->b 还有其他关系: r.userId=xxxx
我如何编写密码以返回不包含 user.Id="admin" 的节点......
如果您不清楚我所说的,请告诉我...我需要您的帮助来解决这个问题...谢谢
我在下面画了一张图,名为 sr 但具有不同属性的多重关系(userId 是唯一的),
我想找到与节点 A 相关但不包含 sr {userId:admin} 的所有节点,我在那里添加红色下划线。如图所示,节点 B 具有关系 sr {userId:admin},所以我只想返回节点 C,没有节点 B
为了显示图形问题的简单表示,绘图师 http://gist.neo4j.org确实很有帮助,因为人们可以探索数据。
我根据您的描述创建了一个:http://gist.neo4j.org/?94ef056e41153b116e4f 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
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)