Sto provando Neo4j per la prima volta. Sto usando l'edizione community 2.0-RC1.Aggiunta di una relazione ai nodi esistenti con Cypher
Ho creato alcuni nodi:
MERGE (u:User{username:'admin',password:'admin'})
MERGE (r1:Role{name:'ROLE_ADMIN'})
MERGE (r2:Role{name:'ROLE_WEB_USER'})
MERGE (r3:Role{name:'ROLE_REST_USER'})
e ora voglio aggiungere le relazioni tra i nodi. Tuttavia, I non desidera eliminare il database esistente creato con lo script precedente, aggiungere le istruzioni ed eseguirlo di nuovo. Voglio aggiungere relazioni ai nodi esistenti. Google mi ha aiutato a trovare questo:
START n=node(*), m=node(*)
where has(n.username) and has(m.name) and n.username = 'admin'
and m.name = 'ROLE_WEB_USER'
create (n)-[:HAS_ROLE]->(m)
Che funziona bene (anche se non capisco tutta la sintassi). Tuttavia, sono consapevole che questo trova qualsiasi nodo con una proprietà username e qualsiasi nodo con una proprietà name, invece di usare le etichette per verificare che abbia il giusto tipo di nodo.
Come posso fare lo stesso utilizzando le etichette?
r non è la scelta migliore di un nome di variabile per il secondo nodo, spesso r è designato come nome della variabile per la relazione. –