在Cypher中,你可以使用WITH
子句進(jìn)行嵌套查詢(xún)。WITH
子句允許你在查詢(xún)的不同階段對(duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換和篩選。以下是一個(gè)簡(jiǎn)單的示例,展示了如何在Cypher中進(jìn)行嵌套查詢(xún):
假設(shè)我們有一個(gè)名為Person
的節(jié)點(diǎn)類(lèi)型,其中包含name
和age
屬性。我們想要查詢(xún)年齡大于30歲且名字以字母"A"開(kāi)頭的所有人。
MATCH (p:Person)
WITH p
WHERE p.age > 30 AND p.name STARTS WITH 'A'
RETURN p
在這個(gè)查詢(xún)中,我們首先使用MATCH
子句匹配所有的Person
節(jié)點(diǎn)。然后,我們使用WITH
子句將結(jié)果傳遞給下一個(gè)階段,即WHERE
子句。在WHERE
子句中,我們對(duì)每個(gè)節(jié)點(diǎn)應(yīng)用篩選條件,即年齡大于30歲且名字以字母"A"開(kāi)頭。最后,我們使用RETURN
子句返回滿(mǎn)足條件的節(jié)點(diǎn)。
如果你需要執(zhí)行更復(fù)雜的嵌套查詢(xún),可以使用多個(gè)WITH
子句。例如,假設(shè)我們想要查詢(xún)年齡大于30歲且名字以字母"A"開(kāi)頭的所有人,然后返回他們的年齡和名字。
MATCH (p:Person)
WITH p
WHERE p.age > 30 AND p.name STARTS WITH 'A'
WITH p.age AS age, p.name AS name
RETURN age, name
在這個(gè)查詢(xún)中,我們?cè)诘谝粋€(gè)WITH
子句中篩選出滿(mǎn)足條件的節(jié)點(diǎn),然后在第二個(gè)WITH
子句中提取我們感興趣的字段(年齡和名字)。最后,我們返回這些字段作為查詢(xún)結(jié)果。