首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Neo4j中重命名关系?

如何在Neo4j中重命名关系?
EN

Stack Overflow用户
提问于 2012-12-11 08:55:44
回答 4查看 10K关注 0票数 16

在导入了大量的节点之后,我才意识到我已经创建了名为START的关系,这是一个保留关键字。因此,通过Cypher控制台查询DB总是抱怨保留关键字:

SyntaxException:保留关键字"start n=node(0) match n<-:START-r返回计数(R)“

想到的唯一解决办法是用不同的名称创建新的复制关系,然后删除旧的。

是否有一种简单的方法来重命名所有这些关系,还是有某种方法可以在Cypher中转义保留关键字?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-12-11 10:21:22

你是正确的。不能重命名已经存在的关系。您必须贯穿所有的关系,并行地创建新的属性(包括所有属性),然后删除旧的属性。

您还可以考虑在带有backticks的密码查询中引用保留字START,并保留它们之间的关系:

代码语言:javascript
运行
复制
start n=node(0) match n<-[:`START`]-r return count(r)
票数 6
EN

Stack Overflow用户

发布于 2014-02-20 02:12:43

要执行等效的重命名,您可以创建一个新名称并删除旧的名称,如下所示:

代码语言:javascript
运行
复制
match (n1)-[old:`Start`]->(n2)
create (n1)-[new:StartDate]->(n2)
delete old

n.b.使用类似于Start周围的backticks来转义保留关键字

票数 32
EN

Stack Overflow用户

发布于 2019-01-31 18:45:40

代码语言:javascript
运行
复制
match (n1)-[old:`Start`]->(n2)
create (n1)-[new:StartDate {propName:old.propName, ...}]->(n2)
delete old
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13816712

复制
相关文章

相似问题

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