Neo4j - Clausola Foreach
Il FOREACH la clausola viene utilizzata per aggiornare i dati all'interno di un elenco sia che siano componenti di un percorso o risultato di aggregazione.
Sintassi
Di seguito è riportata la sintassi della clausola 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)
Esempio
Prima di procedere con l'esempio, creare un percorso p nel database Neo4j come mostrato di seguito.
CREATE p = (Dhawan {name:"Shikar Dhawan"})-[:TOPSCORRER_OF]->(Ind{name:
"India"})-[:WINNER_OF]->(CT2013{name: "Champions Trophy 2013"})
RETURN p
Di seguito è riportato un esempio di Cypher Query che aggiunge una proprietà a tutti i nodi lungo il percorso utilizzando la clausola 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)
Per eseguire la query di cui sopra, eseguire i seguenti passaggi:
Step 1- Apri l'app desktop Neo4j e avvia il server Neo4j. Apri l'app browser integrata di Neo4j utilizzando l'URLhttp://localhost:7474/ come mostrato nello screenshot seguente.
Step 2 - Copia e incolla la query desiderata nel prompt del dollaro e premi il pulsante di riproduzione (per eseguire la query) evidenziato nella schermata seguente.
Risultato
All'esecuzione, otterrai il seguente risultato.
Verifica
Per verificare la creazione del nodo, digitare ed eseguire la seguente query nel prompt del dollaro.
MATCH (n) RETURN n
Questa query restituisce tutti i nodi nel database (discuteremo questa query in dettaglio nei prossimi capitoli).
All'esecuzione, questa query mostra il nodo creato come mostrato nello screenshot seguente.