Ваш предоставленный пример может быть переписан в одном шаблоне, например так:
MATCH (p:Person)-[:VISITED]->(c:Country)<-[:VISITED]-(q:person)
WHERE p.name = 'Mor Yesharim' AND q.name = 'Noam Nativ'
RETURN c
Однако это не подходит для более сложных шаблонов (если степень в Country
была большечем 2, например).В этих случаях вы можете комбинировать WITH
и сопоставление идентификаторов:
MATCH (p:Person)-[:VISITED]->(c:Country)
WHERE p.name = 'Mor Yesharim' WITH c AS first
MATCH (q:Person)-[:VISITED]->(d:Country)
WHERE q.name = 'Noam Nativ'
AND ID(first) = ID(d)
RETURN d