温馨提示×

Cypher语法如何进行嵌套查询

小樊
82
2024-10-31 22:34:30
栏目: 编程语言

在Cypher中,您可以使用WITH子句进行嵌套查询。WITH子句允许您在查询的不同阶段对结果进行转换和筛选。这里有一个简单的例子来说明如何在Cypher中进行嵌套查询:

假设我们有以下两个节点类型:PersonMovie,它们之间存在ACTED_IN关系。

CREATE (p1:Person {name: "Alice"})-[:ACTED_IN]->(m1:Movie {title: "The Matrix"})
CREATE (p2:Person {name: "Bob"})-[:ACTED_IN]->(m2:Movie {title: "Inception"})
CREATE (p1)-[:ACTED_IN]->(m3:Movie {title: "The Matrix"})

现在,我们想要查询所有演员(Person节点),他们参演了两部或更多的电影。我们可以使用嵌套查询来实现这个目标:

MATCH (p:Person)-[:ACTED_IN]->(m:Movie)
WITH p, COUNT(m) AS movie_count
WHERE movie_count >= 2
WITH p, movie_count
RETURN p.name, movie_count

在这个查询中,我们首先使用MATCH子句找到所有演员和他们参演的电影。然后,我们使用WITH子句将结果传递给下一个WITH子句,以便我们可以计算每个演员参演的电影数量。接下来,我们使用WHERE子句筛选出演艺了两部或更多电影的演员。最后,我们返回演员的名字和他们参演的电影数量。

这个例子展示了如何在Cypher中使用WITH子句进行嵌套查询。您可以根据需要调整查询以满足您的需求。

0