Предложение 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 Query, который добавляет свойство ко всем узлам на пути, используя предложение 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. Откройте встроенное приложение браузера Neo4j, используя URL-адрес http: // localhost: 7474 /, как показано на следующем снимке экрана.
Шаг 2 — Скопируйте и вставьте нужный запрос в подсказку доллара и нажмите кнопку воспроизведения (чтобы выполнить запрос), выделенную на следующем снимке экрана.
Результат
Выполнив, вы получите следующий результат.
верификация
Чтобы проверить создание узла, введите и выполните следующий запрос в подсказке доллара.
MATCH (n) RETURN n
Этот запрос возвращает все узлы в базе данных (мы подробно обсудим этот запрос в следующих главах).
При выполнении этот запрос показывает созданный узел, как показано на следующем снимке экрана.