neo4j - ¿Cómo elimino las relaciones duplicadas entre dos nodos con cifrado?
cypher (1)
Cuando ejecuto esta consulta:
START n1=node(7727), n2=node(7730)
MATCH n1-[r:SKILL]->n2 RETURN r
me da una lista de relaciones duplicadas que tengo entre los dos nodos. ¿Qué agrego a la consulta de cifrado para iterar sobre la relación para mantener una relación y eliminar el resto?
Para hacer esto por dos nodos conocidos:
start n=node(1), m=node(2) match (n)-[r]->(m)
with n,m,type(r) as t, tail(collect(r)) as coll
foreach(x in coll | delete x)
Para hacer esto globalmente para todas las relaciones (tenga en cuenta que esta operación puede ser muy costosa dependiendo del tamaño de su gráfico):
start r=relationship(*)
match (s)-[r]->(e)
with s,e,type(r) as typ, tail(collect(r)) as coll
foreach(x in coll | delete x)