Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Spécifiez les étiquettes de bord dans la mesure du possible
Il est recommandé de fournir une étiquette de bord dans la mesure du possible lorsque vous spécifiez une arête dans un motif. Prenons l'exemple de requête suivant, qui permet de relier toutes les personnes vivant dans une ville à toutes les personnes qui ont visité cette ville.
MATCH (person)-->(city {country: "US"})-->(anotherPerson) RETURN person, anotherPerson
Si votre modèle graphique relie des personnes à des nœuds autres que de simples villes à l'aide de plusieurs étiquettes d'arêtes, Neptune devra évaluer des chemins supplémentaires qui seront ensuite supprimés en ne spécifiant pas l'étiquette de fin. Dans la requête ci-dessus, aucune étiquette de bord n'ayant été fournie, le moteur fait d'abord plus de travail, puis filtre les valeurs pour obtenir le résultat correct. Une meilleure version de la requête ci-dessus pourrait être :
MATCH (person)-[:livesIn]->(city {country: "US"})-[:visitedBy]->(anotherPerson) RETURN person, anotherPerson
Cela facilite non seulement l'évaluation, mais permet également au planificateur de requêtes de créer de meilleurs plans. Vous pouvez même combiner cette bonne pratique avec des vérifications redondantes de l'étiquette des nœuds pour supprimer la vérification de l'étiquette de la ville et écrire la requête comme suit :
MATCH (person)-[:livesIn]->({country: "US"})-[:visitedBy]->(anotherPerson) RETURN person, anotherPerson