Вы не можете использовать идентификатор для динамического создания отношения в шифре.
В вашем утверждении планировщик считает, что вы пытаетесь использовать prevRel
в качестве идентификатора в вашем MERGE
, но он уже используется в MATCH
выше.
К счастью, есть решение для этого с использованием APO C. Процедура apoc.merge.relationship
может использоваться для создания нового типа отношений, такого же, как тот, который вы удалили при удалении раунда.
MATCH (round:Round {uuid: $round.uuid})
MATCH (prevRound)-[prevRel:CONTINUES|STARTS]->(round)-[nextRel:CONTINUES]->(nextRound)
DETACH DELETE round
WITH prevRound, prevRel, nextRound
CALL apoc.merge.relationship(prevRound, type(prevRel), {}, {}, nextRound) YIELD rel
RETURN prevRound, rel, nextRound