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 = (Jiyik {name:"迹忆客"})-[:TOPSCORRER_OF]->(Chi{name: 
   "china"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"}) 
RETURN p 

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

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

执行之后,我们将得到以下结果。

neo4j foreach 子句示例

验证

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

MATCH (n) RETURN n

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

执行时,此查询显示创建的节点,如以下截图所示。

neo4j FOREACH 子句验证

查看笔记

扫码一下
查看教程更方便