es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

OrientDB – obtener todos los caminos desde un vértice

Estoy utilizando OrientDB Community Edition 3.2.3.

Este es el gráfico de mis datos:
Me gustaría obtener todos los caminos que están conectados al nodo #17:9.

Intenté el siguiente comando de recorrido:

select $path from (traverse in() from #17:9)

Los resultados que estoy obteniendo:

[#17:9]
[#17:9 #17:2]
[#17:9 #17:2 #17:4]
[#17:9 #17:2 #17:4 #17:3]
[#17:9 #17:2 #17:4 #17:0]
[#17:9 #17:2 #17:5]

Los resultados que quiero obtener:

[#17:9]
[#17:9 #17:2]
[#17:9 #17:2 #17:4]
[#17:9 #17:2 #17:4 #17:3]
[#17:9 #17:2 #17:4 #17:0]
[#17:9 #17:2 #17:5]
[#17:9 #17:2 #17:5 #17:0]

El último camino no está incluido en la búsqueda.
¿Existe la posibilidad de obtener este resultado?

Realmente agradecería cualquier ayuda en esto.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para obtener todos los caminos conectados al nodo #17:9, puedes modificar el comando de travesía de la siguiente manera:

    traverse in() from #17:9 while $depth <= 3
    

    Este comando atravesará todos los bordes entrantes hasta alcanzar una profundidad de 3, y devolverá todos los caminos que estén conectados al nodo #17:9.

    Para incluir el último camino (#17:9 #17:2 #17:5 #17:0) en los resultados, debes aumentar el valor de depth en el comando a 4:

    traverse in() from #17:9 while $depth <= 4
    

    Esto atravesará todos los bordes entrantes hasta alcanzar una profundidad de 4, y devolverá todos los caminos que estén conectados al nodo #17:9, incluyendo el último.

    Ten en cuenta que aumentar el valor de profundidad más allá de la profundidad real del grafo puede generar problemas de rendimiento, por lo que se recomienda mantener el valor de profundidad al mínimo necesario.

Comments are closed.