在Cypher中,嵌套查詢可以通過將一個查詢作為另一個查詢的輸入來實現。這允許您在一個查詢中引用另一個查詢的結果。以下是一個簡單的示例,說明如何在Cypher中進行嵌套查詢:
假設我們有以下兩個節點類型:Person和Movie,它們之間存在關系(例如,演員參演電影)。
CREATE (p:Person {name: 'Alice'})
CREATE (m:Movie {title: 'The Matrix'})
CREATE (p)-[:ACTED_IN]->(m)
現在,我們想要找到Alice參演的所有電影。我們可以使用嵌套查詢來實現這一目標:
MATCH (p:Person {name: 'Alice'})-[:ACTED_IN]->(m:Movie)
WITH m
MATCH (m)-[:DIRECTED_BY]->(d:Director)
RETURN d.name AS Director, m.title AS Movie
在這個查詢中,我們首先匹配Alice參演的所有電影(外部查詢),然后使用WITH
子句將結果傳遞給內部查詢。內部查詢匹配每部電影的電影導演,并返回導演的名字和電影的標題。
嵌套查詢不僅限于兩個查詢層。您可以根據需要添加更多查詢層,以根據需要處理更復雜的關系和條件。