首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >apoc重构重命名给出过程不支持隐式命名错误

apoc重构重命名给出过程不支持隐式命名错误
EN

Stack Overflow用户
提问于 2019-02-20 22:38:18
回答 1查看 925关注 0票数 1

我尝试编写一个cypher查询来提取一组标签,这些标签共享一个特定的标签。选择标签后,我会尝试重命名它们。这意味着向每个标签添加前缀,并在apoc.refactor.rename.label的帮助下重命名图中的标签。因此,我编写了以下查询。

代码语言:javascript
复制
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

但此查询失败,并显示以下错误消息:

代码语言:javascript
复制
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来运行这个查询。我分别尝试了第一部分,即在with之后返回nl & cl。这可以很好地工作。我还尝试对一个特定的cl和cl使用rename函数,该cl和cl是在尝试查询的第一部分时获得的。这也运行得很好。只有这种组合似乎不起作用。

编辑:

我发现,每次解开似乎都会破坏查询,无论我是否使用由解开定义的变量。产生相同错误的最小示例:

代码语言:javascript
复制
unwind [1,2,3,4] as cl 
call apoc.refactor.rename.label("Test", "Test") 
return cl

提前感谢您的帮助或解决方案。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54788832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档