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.

COINCIDENCIA para nodos con nombre de etiqueta variable en NEO4J

Al utilizar consultas en neo4j, obtengo el nombre de la etiqueta como una variable, por lo que en la misma consulta quiero encontrar todos los nodos con esta etiqueta. Sé que no puedo tener una variable para el nombre de la etiqueta así

MATCH (n:${variable}) RETURN n

ni así

MATCH (n:variable) RETURN n

Estoy buscando una solución para mi situación, no pude encontrar una función apoc para esta situación. Esperaba una función como esta

apoc.match.node([‘nombreDeLaEtiqueta’])

Sé que es posible encontrar nodos con una etiqueta usando WHERE

WHERE label IN labels(nodes)

Mi suposición es que esta estructura disminuirá la velocidad de la búsqueda, por lo que quiero evitarla.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Puede utilizar el procedimiento apoc.node.label para encontrar nodos con una etiqueta dada. Este procedimiento tiene dos parámetros: el nombre de la etiqueta y un identificador de nodo opcional. Por ejemplo:

    CALL apoc.node.label('nombreEtiqueta', n) YIELD node 
    RETURN node
    

    Esto devolverá todos los nodos con la etiqueta dada. Si desea limitar la búsqueda a un nodo específico, puede pasar el identificador de nodo como segundo parámetro. Por ejemplo:

    CALL apoc.node.label('nombreEtiqueta', n) YIELD node 
    WHERE id(n) = 123 
    RETURN node
    

    Esto devolverá el nodo con la etiqueta dada y el identificador dado.

Comments are closed.