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.