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