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) 
    
  • 例子

    在继续示例之前,创建一个路径p在 Neo4j 数据库中,如下所示。
    
    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)
    
    要执行上述查询,请执行以下步骤 -
    Step 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    Step 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    对于每个
  • 结果

    执行时,您将得到以下结果。
    设置属性
  • 确认

    要验证节点的创建,请在美元提示符中键入并执行以下查询。
    
    MATCH (n) RETURN n 
    
    这个查询返回数据库中的所有节点(我们将在接下来的章节中详细讨论这个查询)。
    执行时,此查询显示创建的节点,如以下屏幕截图所示。
    创建的结果