Evite las comprobaciones redundantes de las etiquetas de los nodos mediante el uso de nombres de relación detallados - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Evite las comprobaciones redundantes de las etiquetas de los nodos mediante el uso de nombres de relación detallados

Al optimizar el rendimiento, el uso de etiquetas de relación que sean exclusivas de los patrones de nodos permite eliminar el filtrado de etiquetas en los nodos. Considere un modelo gráfico en el que la relación solo likes se utilice para definir una relación entre dos person nodos. Podríamos escribir la siguiente consulta para encontrar este patrón:

MATCH (n:person)-[:likes]->(m:person) RETURN n, m

La person marca de etiquetas en n y m es redundante, ya que definimos la relación para que solo aparezca cuando ambas sean del mismo tipoperson. Para optimizar el rendimiento, podemos escribir la consulta de la siguiente manera:

MATCH (n)-[:likes]->(m) RETURN n, m

Este patrón también se puede aplicar cuando las propiedades son exclusivas de una sola etiqueta de nodo. Suponga que solo person los nodos tienen la propiedademail, por lo que comprobar que la etiqueta del nodo coincida person es redundante. Escribir esta consulta como:

MATCH (n:person) WHERE n.email = 'xxx@gmail.com' RETURN n

Es menos eficiente que escribir esta consulta como:

MATCH (n) WHERE n.email = 'xxx@gmail.com' RETURN n

Solo debe adoptar este patrón cuando el rendimiento sea importante y haya comprobado el proceso de modelado para garantizar que estas etiquetas de borde no se reutilicen en patrones que involucren otras etiquetas de nodos. Si posteriormente introduce una email propiedad en otra etiqueta de nodo, por ejemplocompany, los resultados diferirán entre estas dos versiones de la consulta.