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.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Sí, es posible escribir una consulta Gremlin que devuelva un borde ficticio de A a C aunque no exista en el grafo original. Una forma de lograr esto es utilizando la función coalesce() en combinación con los pasos out() e in(). La función coalesce() devuelve el primer recorrido que genera un resultado, permitiéndonos probar múltiples caminos de recorrido hasta que encontramos una conexión entre A y C. Aquí hay un ejemplo de consulta Gremlin que hace esto:

    g.V().has('name', 'A').
      repeat(out().coalesce(__.has('name', 'C'), in())).
        until(has('name', 'C')).
      path().
        by('name')
    

    En esta consulta, comenzamos en el vértice A y repetidamente nos desplazamos hacia afuera hasta que alcancemos el vértice C o nos quedemos sin vértices para recorrer. La función coalesce() intenta dos caminos en cada paso: primero intenta el recorrido hacia fuera (out()) y luego verifica si hemos alcanzado el vértice C (__.has('name', 'C')), y si eso falla, intenta recorrer hacia adentro (in()).

    Una vez que hemos encontrado un camino de A a C, devolvemos el camino utilizando la función path() y proyectando la propiedad name de cada vértice en el camino. Esta consulta debe devolver un camino de A a C, con bordes ficticios donde sea necesario, que se puede visualizar en el cuaderno Jupyter utilizando las herramientas de visualización de Amazon Neptune.

Comments are closed.