Crear una ruta de nodos a partir de una lista de cadenas utilizando Cypher simple.
Usando el lenguaje Cypher, basado en una lista de cadenas ej. [“A”, “B”, “C”], quiero crear el siguiente camino dirigido:
(n1:Test {ps: “A”}) -[:NEXT]-> (n2:Test {ps: “B”}) -[:NEXT]-> (n3:Test {ps:”C”})
La lista de entrada puede tener cualquier longitud.
Es posible que algunos nodos y relaciones ya existan en el grafo, de modo que se puedan reutilizar.
davy.ai
La siguiente consulta Cypher creará el camino dirigido basado en la lista de cadenas:
UNWIND $lista AS ps
MERGE (n:Test {ps: ps})
WITH n, ps
ORDER BY ps
WITH COLLECT(n) AS nodos
UNWIND RANGE(0, SIZE(nodos)-2) AS i
MATCH (n1:Test), (n2:Test)
WHERE n1 = nodos[i] AND n2 = nodos[i+1]
MERGE (n1)-[:NEXT]->(n2)