foreach 用法(FOREACH 是一个用于迭代处理集合元素的子句,通常用于批量创建关系、更新属性或执行其他操作。与编程语言中的循环不同,FOREACH 在 Cypher 中是声明式的,适用于集合操作。)
(1)、基本语法
FOREACH (<variable> IN <collection> | <action>)
核心要素:
<variable>:集合元素的临时变量名
<collection>:要迭代的集合(列表、数组等)
<action>:对每个元素执行的操作(如创建关系、设置属性)
(2)批量创建关系
// 为"吴京"创建与多个明星的合作关系
MATCH (w:Star {name: "吴京"})
WITH w, ["成龙", "刘德华", "张译"] AS coStars
FOREACH (name IN coStars |
MERGE (c:Star {name: name})
MERGE (w)-[r:COLLABORATED]->(c)
SET r.movies = ["长津湖", "流浪地球"]
)