Neo4j – 匹配条款
Neo4j – 匹配条款
在本章中,我们将了解 Match Clause 以及使用该子句可以执行的所有功能。
使用匹配获取所有节点
使用 Neo4j 的 MATCH 子句,您可以检索 Neo4j 数据库中的所有节点。
例子
在继续示例之前,创建 3 个节点和 2 个关系,如下所示。
CREATE (Dhoni:player {name: "MahendraSingh Dhoni", YOB: 1981, POB: "Ranchi"}) CREATE (Ind:Country {name: "India", 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
要执行上述查询,请执行以下步骤 –
步骤 1 – 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL http://localhost:7474/打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 – 将所需的查询复制并粘贴到美元提示中,然后按下以下屏幕截图中突出显示的播放按钮(以执行查询)。
结果
执行时,您将得到以下结果。
获取特定标签下的所有节点
使用 match 子句,您可以获取特定标签下的所有节点。
句法
以下是获取特定标签下所有节点的语法。
MATCH (node:label) RETURN node
例子
下面是一个示例 Cypher Query,它返回数据库中标签player下的所有节点。
MATCH (n:player) RETURN n
要执行上述查询,请执行以下步骤 –
步骤 1 – 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL http://localhost:7474/打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 – 将所需的查询复制并粘贴到美元提示中,然后按下以下屏幕截图中突出显示的播放按钮(以执行查询)。
结果
执行时,您将得到以下结果。
按关系匹配
您可以使用 MATCH 子句根据关系检索节点。
句法
以下是使用 MATCH 子句基于关系检索节点的语法。
MATCH (node:label)<-[: Relationship]-(n) RETURN n
例子
以下是使用 MATCH 子句基于关系检索节点的示例 Cypher 查询。
MATCH (Ind:Country {name: "India", result: "Winners"})<-[: TOP_SCORER_OF]-(n) RETURN n.name
要执行上述查询,请执行以下步骤 –
步骤 1 – 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL http://localhost:7474/打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 – 将所需的查询复制并粘贴到美元提示中,然后按下以下屏幕截图中突出显示的播放按钮(以执行查询)。
结果
执行时,您将得到以下结果。
删除所有节点
您可以使用 MATCH 子句删除所有节点。
询问
以下是删除 Neo4j 中所有节点的查询。
MATCH (n) detach delete n
要执行上述查询,请执行以下步骤 –
步骤 1 – 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL http://localhost:7474/打开 Neo4j 的内置浏览器应用程序,如下面的屏幕截图所示。
步骤 2 – 将所需的查询复制并粘贴到美元提示中,然后按下以下屏幕截图中突出显示的播放按钮(以执行查询)。
结果
执行时,您将得到以下结果。