View a markdown version of this page

Coloque los nodos más restrictivos en el lado izquierdo de las expresiones de Variable-Length ruta (VLP) - 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.

Coloque los nodos más restrictivos en el lado izquierdo de las expresiones de Variable-Length ruta (VLP)

En las consultas de Variable-Length ruta (VLP), el motor de consultas optimiza la evaluación al elegir iniciar el recorrido por el lado izquierdo o derecho de la expresión. La decisión se basa en la cardinalidad de los patrones de los lados izquierdo y derecho. La cardinalidad es el número de nodos que coinciden con el patrón especificado.

  • Si el patrón derecho tiene una cardinalidad igual a uno, entonces el lado derecho será el punto de partida.

  • Si el lado izquierdo y el derecho tienen una cardinalidad igual a uno, la expansión se comprueba en ambos lados y comienza en el lado con la expansión más pequeña. La expansión es el número de bordes salientes o entrantes del nodo del lado izquierdo y del nodo del lado derecho de la expresión de VLP. Esta parte de la optimización solo se usa si la relación de VLP es unidireccional y se proporciona el tipo de relación.

  • De lo contrario, el lado izquierdo será el punto de partida.

Para una cadena de expresiones de VLP, esta optimización solo se puede aplicar a la primera expresión. Las demás VLP se evalúan empezando por el lado izquierdo. Por ejemplo, supongamos que la cardinalidad de (a), (b) es igual a uno y que la cardinalidad de (c) es mayor que uno.

  • (a)-[*1..]->(c): la evaluación comienza con (a).

  • (c)-[*1..]->(a): la evaluación comienza con (a).

  • (a)-[*1..]-(c): la evaluación comienza con (a).

  • (c)-[*1..]-(a): la evaluación comienza con (a).

Ahora supongamos que los bordes entrantes de (a) son dos y bordes salientes de (a) son tres, mientras que los bordes entrantes de (b) son cuatro y los bordes salientes de (b) son cinco.

  • (a)-[*1..]->(b): la evaluación comienza con (a), ya que los bordes salientes de (a) son inferiores a los bordes entrantes de (b).

  • (a)<-[*1..]-(b): la evaluación comienza con (a) ya que los bordes entrantes de (a) son inferiores a los bordes salientes de (b).

Como regla general, coloque el patrón más restrictivo en el lado izquierdo de una expresión de VLP.