2017-02-24 3 views
4

Cypher Anfänger Frage. Ich weiß, wie alle Freunde von jemandem zu bekommen Rebecca genannt, und die Kanten zwischen ihnen:Finden Sie Verbindungsknoten zwischen zwei Knoten

MATCH (rebecca:Person)-[r*1..10]->(friends:Friend) 
RETURN rebecca, friends, 
     extract(x IN r | {rel: x, start: startNode(x), end: endNode(x)}) 

Und ich weiß, wie alle Freunde von jemandem zu bekommen genannt Robert, und die Kanten zwischen ihnen:

MATCH (robert:Person)-[r*1..10]->(friends:Friend) 
RETURN robert, friends, 
     extract(x IN r | {rel: x, start: startNode(x), end: endNode(x)}) 

Aber wie bekomme ich all die Freunde, die Robert und Rebecca miteinander haben? Entweder durch die Kombination dieser beiden Abfragen, oder wenn es insgesamt einen einfacheren Weg gibt.

Antwort

3

können Sie verwenden

MATCH (rebecca:Person)-[:FRIEND]->(friends:Friend)<-[:FRIEND]-(robert:Person) 
where rebecca.name = "Rebecca" and robert.name= "Robert"  
RETURN friends 
Verwandte Themen