Evita controlli ridondanti delle etichette dei nodi utilizzando nomi di relazione granulari - Amazon Neptune

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'personetichetta 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.