2017-02-24 13 views
4

Cypher初心者の質問。私はすべてのレベッカと呼ばれる誰かの友人、およびそれらの間のエッジを取得する方法を知っている:2つのノード間で共有される接続ノードを見つける

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)}) 

しかし、私はロバートとレベッカが共通して持っているすべての友達をどうやって得るのですか?これらの2つのクエリを組み合わせるか、より簡単な方法があればどちらでも可能です。

答えて

3

を使用でき

MATCH (rebecca:Person)-[:FRIEND]->(friends:Friend)<-[:FRIEND]-(robert:Person) 
where rebecca.name = "Rebecca" and robert.name= "Robert"  
RETURN friends 
関連する問題