Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Evita controlli ridondanti delle etichette dei nodi utilizzando nomi di relazione granulari
Quando si ottimizzano le prestazioni, l'utilizzo di etichette di relazione esclusive per i modelli di nodi consente di rimuovere il filtraggio delle etichette sui nodi. Consideriamo un modello grafico in cui la relazione likes
viene utilizzata solo per definire una relazione tra due person
nodi. Potremmo scrivere la seguente query per trovare questo modello:
MATCH (n:person)-[:likes]->(m:person) RETURN n, m
Il controllo dell'person
etichetta su n e m è ridondante, poiché abbiamo definito la relazione in modo che appaia solo quando entrambi sono dello stesso tipo. person
Per ottimizzare le prestazioni, possiamo scrivere la query come segue:
MATCH (n)-[:likes]->(m) RETURN n, m
Questo modello può essere applicato anche quando le proprietà sono esclusive di un'etichetta a singolo nodo. Supponiamo che solo person
i nodi abbiano la proprietàemail
, quindi verificare che l'etichetta del nodo corrisponda person
è ridondante. Scrivere questa query come:
MATCH (n:person) WHERE n.email = 'xxx@gmail.com' RETURN n
È meno efficiente che scrivere questa query come:
MATCH (n) WHERE n.email = 'xxx@gmail.com' RETURN n
È consigliabile adottare questo modello solo quando le prestazioni sono importanti e il processo di modellazione deve essere sottoposto a controlli per garantire che le etichette dei bordi non vengano riutilizzate per modelli che coinvolgono altre etichette di nodi. Se successivamente si introduce una email
proprietà su un'altra etichetta di nodocompany
, ad esempio, i risultati saranno diversi tra queste due versioni della query.