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.

Proyectando todos los valores en Gremlin

Me gustaría concatenar todos los valores de dos vértices relacionados en Gremlin.

Dado lo siguiente: –

g.addV ('Path'). como ('1').
  propiedad (única, 'Source', 12345).
  addV ('PathState'). como ('2').
  propiedad (única, 'Length', 201).
  propiedad (única, 'Tag', 'TestTag').
  addE ('state'). desde ('1'). hasta ('2')

Entiendo que puedo escribir una proyección, utilizando valores nombrados, como este:

g.V ().hasLabel ('Path')
.proyecto ("Id", "Label", "Longitud", "Tag")
.by (id)
.by (etiqueta)
.by (out ('state'). values ​​("Length"))
.by (out ('state'). values ​​("Tag"))

¿Existe una forma genérica de concatenar todas las propiedades del vértice ‘state’ conectado al vértice Path?

Estoy utilizando C # Gremlin.Net para intentar crear un método genérico para recuperar ‘vertex con StateVertex conectado’, por lo que tengo una opción de utilizar la reflexión para construir las partes ‘by ()’ de una traversia, pero parece que debería haber una forma más simple.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para concatenar todas las propiedades del vértice conectado ‘state’ al vértice Path, puedes usar el paso valueMap() en Gremlin. Aquí hay un ejemplo de traveral:

    g.V().hasLabel('Path').out('state').valueMap().fold()
    

    Esto devolverá una lista de mapas, donde cada mapa representa las propiedades de un vértice ‘state’ conectado. Para concatenarlos todos en un solo mapa, puedes usar el paso fold() después de valueMap(). Esto te dará una lista de mapas, que luego puedes concatenar utilizando el lenguaje de programación que elijas.

Comments are closed.