繁体   English   中英

Neo4j:如何找到具有相互连接节点的连接节点?

[英]Neo4j: how to find connected nodes with mutual connections nodes?

MATCH (n), (n)-[:connected_to {status: 2}]-(sp:StayPal)
OPTIONAL MATCH (n)-[:connected_to {status: 1}] - (mutual_friend)-[:connected_to {status: 1}]-(sp)
WHERE (ID(n) = {ID_n})
RETURN DISTINCT sp, collect(mutual_friend)

我正在尝试获取状态为2的n(staypal)的所有连接以及n和sp的所有相互连接,但是我得到了错误的结果

有什么帮助吗?

WHERE子句的位置很重要,因为它适用于前面的子句。 将其放置在您的MATCH(而不是可选MATCH)下。

请记住,OPTIONAL MATCH的行为是查找匹配项,并且如果未找到匹配项(包括如果OPTIONAL MATCH的WHERE子句的计算结果为false),则新引入的变量将设置为null。

另外,除了模式匹配之外,也不需要匹配(n)。 只需在第一行使用MATCH (n)-[:connected_to {status: 2}]-(sp:StayPal)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM