从我的研究(很多谷歌搜索),我看不出这是可能的,但我认为仍然值得问。我有很多节点,如:
(org:Organization {name: "Organization 1234"})
其中1234可以是任何非负整数。
为了更新数据库以使用新的API,我想重命名集合中的每一个,以便结果看起来像:
(org:Organization {name: "Org_1234"})
所以,我需要在当前属性上使用[0-9] +正则表达式匹配来混搭Org_。
真的,我甚至不知道从哪里开始。我在文档中看到的只是正则表达式可以用作WHERE
子句(WHERE n.property =~ {regex}
)中的谓词。有没有一种方法只使用Cypher,因为我没有使用Java库?
答案 0 :(得分:5)
假设“组织”和整数之间总是有一个空格,你可以用字符串函数很容易地强制使用它。
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
返回
o.name
Org_1234
Org_5678