Этот запрос убедится, что имена в параметре names
(список строк) представлены Name
узлами, связанными вместе, по порядку, отношениями b
:
MERGE (first:Name {name: $names[0]})
FOREACH(i IN RANGE(1, SIZE($names)-1) |
MERGE (a:Name {name: $names[i-1]})
MERGE (c:Name {name: $names[i]})
MERGE (a)-[:b]->(c)
)
Первый MERGE
существует для того, чтобы список names
только с одним элементом по-прежнему вызывал создание одного узла (при необходимости).
Например, если параметр names
равен ['aa','bb','cc']
, то результирующий путь будет выглядеть следующим образом: