扫码一下
查看教程更方便
在本章中,我们将了解 MATCH
子句以及可以使用该子句执行的所有功能。
使用 Neo4j 的 MATCH
子句,我们可以检索 Neo4j 数据库中的所有节点。
在继续示例之前,创建 3 个节点和 2 个关系,如下所示。
CREATE (Dhoni:player {name: "迹忆客", YOB: 1981, POB: "Ranchi"})
CREATE (Ind:Country {name: "China", result: "Winners"})
CREATE (CT2013:Tornament {name: "ICC Champions Trophy 2013"})
CREATE (Ind)-[r1:WINNERS_OF {NRR:0.938 ,pts:6}]->(CT2013)
CREATE(Dhoni)-[r2:CAPTAIN_OF]->(Ind)
CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1995, POB: "Delhi"})
CREATE (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
CREATE (Dhawan)-[:TOP_SCORER_OF {Runs:363}]->(Ind)
CREATE (Jadeja)-[:HIGHEST_WICKET_TAKER_OF {Wickets:12}]->(Ind)
以下是返回 Neo4j 数据库中所有节点的查询。
MATCH (n) RETURN n
执行完成后,我们将得到以下结果。
使用 match
子句,我们可以获得特定标签下的所有节点。
以下是获取特定标签下所有节点的语法。
MATCH (node:label)
RETURN node
下面是一个 CQL 示例,它返回标签 player 下数据库中的所有节点。
MATCH (n:player)
RETURN n
执行完成后,我们将得到以下结果。
我们可以使用 MATCH
子句根据关系检索节点。
以下是使用 MATCH
子句根据关系检索节点的语法。
MATCH (node:label)<-[: Relationship]-(n)
RETURN n
以下是使用 MATCH
子句根据关系检索节点的 CQL 示例。
MATCH (Ind:Country {name: "China", result: "Winners"})<-[: TOP_SCORER_OF]-(n)
RETURN n.name
执行完成后,我们将得到以下结果。
我们可以使用 MATCH
子句删除所有节点。
以下是删除 Neo4j 中所有节点的语句。
MATCH (n) detach delete n
执行完成后,我们将得到以下结果。