查找两个节点之间共享的连接节点
问题描述:
Cypher初学者问题。我知道如何让别人叫丽贝卡的各界朋友,以及它们之间的边缘:查找两个节点之间共享的连接节点
MATCH (rebecca:Person)-[r*1..10]->(friends:Friend)
RETURN rebecca, friends,
extract(x IN r | {rel: x, start: startNode(x), end: endNode(x)})
,我知道如何让别人叫罗伯特的各界朋友,以及它们之间的边缘:
MATCH (robert:Person)-[r*1..10]->(friends:Friend)
RETURN robert, friends,
extract(x IN r | {rel: x, start: startNode(x), end: endNode(x)})
但是,我如何获得罗伯特和丽贝卡彼此共同拥有的所有朋友?要么通过组合这两个查询,要么完全有一个简单的方法。
答
可以使用
MATCH (rebecca:Person)-[:FRIEND]->(friends:Friend)<-[:FRIEND]-(robert:Person)
where rebecca.name = "Rebecca" and robert.name= "Robert"
RETURN friends