在导入了大量的节点之后,我才意识到我已经创建了名为START
的关系,这是一个保留关键字。因此,通过Cypher控制台查询DB总是抱怨保留关键字:
SyntaxException:保留关键字"start n=node(0) match n<-:START-r返回计数(R)“
想到的唯一解决办法是用不同的名称创建新的复制关系,然后删除旧的。
是否有一种简单的方法来重命名所有这些关系,还是有某种方法可以在Cypher中转义保留关键字?
发布于 2012-12-11 10:21:22
你是正确的。不能重命名已经存在的关系。您必须贯穿所有的关系,并行地创建新的属性(包括所有属性),然后删除旧的属性。
您还可以考虑在带有backticks的密码查询中引用保留字START
,并保留它们之间的关系:
start n=node(0) match n<-[:`START`]-r return count(r)
发布于 2014-02-20 02:12:43
要执行等效的重命名,您可以创建一个新名称并删除旧的名称,如下所示:
match (n1)-[old:`Start`]->(n2)
create (n1)-[new:StartDate]->(n2)
delete old
n.b.使用类似于Start
周围的backticks来转义保留关键字
发布于 2019-01-31 18:45:40
match (n1)-[old:`Start`]->(n2)
create (n1)-[new:StartDate {propName:old.propName, ...}]->(n2)
delete old
https://stackoverflow.com/questions/13816712
复制相似问题