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.

Gremlin: selecciona vértices basados en el valor encontrado en el recorrido

Quiero usar el ID de un vértice que tenga prop_a=x para encontrar otros vértices que tengan este valor en alguna otra propiedad.
Algo como:

g.V().sideEffect(has('prop_a','x').id().as('val')).has('prop_b',__.select('val')).count()

Pero lo anterior no devuelve el resultado correcto.
Además, necesito que se ejecute de manera eficiente en AWS Neptun.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para buscar vértices con un valor de propiedad específico y luego encontrar vértices con el mismo valor en otra propiedad, puedes utilizar la siguiente consulta Gremlin:

    g.V().has('prop_a','x').as('a').values('prop_b').as('b').where(eq('a')).count()
    

    Esta consulta comienza encontrando vértices con la propiedad ‘prop_a’ igual a ‘x’. Luego, etiqueta estos vértices como ‘a’. A continuación, extrae los valores de la propiedad ‘prop_b’ de cada vértice y los etiqueta como ‘b’. Por último, compara el valor de ‘a’ con cada valor de ‘b’ y cuenta el número de coincidencias.

    Para optimizar el rendimiento en AWS Neptune, puedes utilizar el almacenamiento en caché de consultas de Neptune para almacenar en memoria las consultas de acceso frecuente. También puedes utilizar la indexación para acelerar la búsqueda de vértices con un valor de propiedad específico. Neptune admite múltiples opciones de indexación, incluyendo el backend de índices de Apache TinkerPop y Amazon Neptune ML. Elegir la mejor estrategia de indexación depende de tu caso de uso específico y las características de tus datos.

Comments are closed.