Я пытаюсь написать запрос шифрования, который извлекает набор меток, которые разделяют одну конкретную метку.После выбора меток я пытаюсь переименовать их.Что означает добавление префикса к каждой из меток и переименование меток на графике с помощью apoc.refactor.rename.label
.Поэтому я написал следующий запрос.
match (c:TheLabel)
with collect(distinct filter( l in labels(c) where not l in ["UNIQUE IMPORT LABEL","TheLabel"])[0]) as curr_label
unwind curr_label as cl
with cl as cl, "AR_"+cl as nl
call apoc.refactor.rename.label(cl, nl)
return null
Но этот запрос не выполняется со следующим сообщением об ошибке:
Neo.ClientError.Statement.SyntaxError: Procedure call inside a query does not support naming results implicitly (name explicitly using `YIELD` instead) (line 5, column 1 (offset: 214))
"call apoc.refactor.rename.label(cl, nl) return null"
Я не могу понять, где я мог использовать yield для выполнения этого запроса,Я пробовал первую часть отдельно, т.е. вернуть nl & cl после с.Это отлично работает.Я также попытался использовать функцию переименования с одним конкретным cl и cl, который я получил при попытке выполнить первую часть запроса.Это тоже работает нормально.Кажется, что только комбинация не работает.
Редактировать:
Я понял, что каждый разматывание, похоже, нарушает запрос, если я использую переменную, определенную как размотка или нет.Минимальный пример, который выдает такую же ошибку:
unwind [1,2,3,4] as cl
call apoc.refactor.rename.label("Test", "Test")
return cl
Заранее благодарен за любую помощь или решения.