Neo4j - FOREACH 语句



FOREACH 语句用于更新列表中的数据,无论是路径的组成部分,还是聚合的结果。

语法

以下是 FOREACH 语句的语法。

MATCH p = (start node)-[*]->(end node) 
WHERE start.node = "node_name" AND end.node = "node_name" 
FOREACH (n IN nodes(p)| SET n.marked = TRUE) 

示例

在继续示例之前,请在 Neo4j 数据库中创建一个名为 p 的路径,如下所示。

CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name: 
   "India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"}) 
RETURN p 

以下是一个示例 Cypher 查询,它使用 FOREACH 语句向路径上的所有节点添加一个属性。

MATCH p = (Dhawan)-[*]->(CT2013) 
   WHERE Dhawan.name = "Shikar Dhawan" AND CT2013.name = "Champions Trophy 2013" 
FOREACH (n IN nodes(p)| SET n.marked = TRUE)

要执行上述查询,请执行以下步骤:

步骤 1 - 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL https://:7474/ 打开 Neo4j 的内置浏览器应用程序,如下图所示。

Browser App

步骤 2 - 将所需的查询复制粘贴到美元提示符中,然后按播放按钮(执行查询),如下图所示。

For each

结果

执行后,您将获得以下结果。

Set Properties

验证

要验证节点的创建,请在美元提示符中键入并执行以下查询。

MATCH (n) RETURN n 

此查询返回数据库中的所有节点(我们将在接下来的章节中详细讨论此查询)。

执行后,此查询将显示已创建的节点,如下图所示。

Created Result
广告
© . All rights reserved.