从我的研究(很多谷歌搜索),我看不出这是可能的,但我认为仍然值得问.我有很多节点,如:
(org:Organization {name: "Organization 1234"})
Run Code Online (Sandbox Code Playgroud)
其中1234可以是任何非负整数.
为了更新数据库以使用新的API,我想重命名集合中的每一个,以便结果看起来像:
(org:Organization {name: "Org_1234"})
Run Code Online (Sandbox Code Playgroud)
所以,我需要在当前属性上使用[0-9] +正则表达式匹配来混搭Org_.
真的,我甚至不知道从哪里开始.我在文档中看到的只是正则表达式可以用作WHERE
子句(WHERE n.property =~ {regex}
)中的谓词.有没有一种方法只使用Cypher,因为我没有使用Java库?
假设"组织"和整数之间总是有一个空格,那么只需使用字符串函数就可以轻松地强制执行此操作.
CREATE (:Organization {name:'Organization 1234'}),
(:Organization {name:'Organization 5678'})
MATCH (o:Organization)
WITH o, SPLIT(o.name, " ")[1] AS id
SET o.name = "Org_" + id
RETURN o.name
Run Code Online (Sandbox Code Playgroud)
哪个回报
o.name
Org_1234
Org_5678
Run Code Online (Sandbox Code Playgroud)