假设我们有一个社交网络,并且想要找到一个当前没有连接的朋友的朋友。我假设我们可以做类似的事情:
match (me)-[:Friends_With]-(other)-[:Friends_With]-(target)
where not (target-[:Friends_With]-me)
return target
据我所知,Neo不会在me
中加入target
,但它会包含目前通过[:Friends_with]
连接到我的节点。假设我的第一个查询有效,那么编写此查询是否有一种不那么冗长的方式?
答案 0 :(得分:1)
MATCH (me:Person { name: "Kenny" })-[:FRIEND_OF]-()-[:FRIEND_OF]-(foaf:Person)
WHERE NOT (me)-[:FRIEND_OF]-(foaf)
RETURN foaf
这是查找朋友的朋友最不详细但最具表现力的查询,我不是他的朋友。