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

Этот запрос возвращает все узлы в базе данных (мы подробно обсудим этот запрос в следующих главах).

При выполнении этот запрос показывает созданный узел, как показано на следующем снимке экрана.