使用下图:
(Boxer)-[:STARTS]->(Round)-[:CONTINUES]->(Round)-[:CONTINUES]->(Round)-[:CONTINUES]->(Round)
我想删除链表中的(Round)。
通过这样做,我得到了成功的结果:
MATCH (round:Round {uuid: $round.uuid})
MATCH (prevRound)-[:CONTINUES]->(round)-[:CONTINUES]->(nextRound)
DETACH DELETE round
MERGE (prevRound)-[:CONTINUES]->(round)
但这适用于除第一个回合之外的任何回合,因为它具有 STARTS 关系。所以我尝试了这个:
MATCH (round:Round {uuid: $round.uuid})
MATCH (prevRound)-[prevRel:CONTINUES|STARTS]->(round)-[nextRel:CONTINUES]->(nextRound)
DETACH DELETE round
MERGE (prevRound)-[prevRel]->(round)
但我得到这个错误:
Neo4jError: Variable `prevRel` already declared
MERGE (prevRound)-[prevRel]->(nextRound)"