Neo4j - Clause Foreach
le FOREACH La clause est utilisée pour mettre à jour les données dans une liste, qu'il s'agisse de composants d'un chemin ou de résultat d'agrégation.
Syntaxe
Voici la syntaxe de la clause 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)
Exemple
Avant de continuer avec l'exemple, créez un chemin p dans la base de données Neo4j comme indiqué ci-dessous.
CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name:
"India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"})
RETURN p
Voici un exemple de requête de chiffrement qui ajoute une propriété à tous les nœuds le long du chemin à l'aide de la clause 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)
Pour exécuter la requête ci-dessus, procédez comme suit -
Step 1- Ouvrez l'application de bureau Neo4j et démarrez le serveur Neo4j. Ouvrez l'application de navigateur intégrée de Neo4j à l'aide de l'URLhttp://localhost:7474/ comme indiqué dans la capture d'écran suivante.
Step 2 - Copiez et collez la requête souhaitée dans l'invite du dollar et appuyez sur le bouton de lecture (pour exécuter la requête) mis en évidence dans la capture d'écran suivante.
Résultat
Lors de l'exécution, vous obtiendrez le résultat suivant.
Vérification
Pour vérifier la création du nœud, saisissez et exécutez la requête suivante dans l'invite dollar.
MATCH (n) RETURN n
Cette requête renvoie tous les nœuds de la base de données (nous aborderons cette requête en détail dans les chapitres suivants).
Lors de l'exécution, cette requête montre le nœud créé comme illustré dans la capture d'écran suivante.