Cypher初学者问题。我知道如何得到一个名叫Rebecca的人的所有朋友,以及他们之间的边缘:
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)})
但是我怎样才能让罗伯特和丽贝卡的所有朋友相互拥有?通过组合这两个查询,或者如果有一个更简单的方法。
答案 0 :(得分:3)
你可以使用
MATCH (rebecca:Person)-[:FRIEND]->(friends:Friend)<-[:FRIEND]-(robert:Person)
where rebecca.name = "Rebecca" and robert.name= "Robert"
RETURN friends