Neo4j使用当前属性值的正则表达式重命名属性
从我的研究(大量的谷歌搜索),我看不出这是可能的,但我认为这仍然值得一问。我收集了大量节点,如:Neo4j使用当前属性值的正则表达式重命名属性,neo4j,cypher,Neo4j,Cypher,从我的研究(大量的谷歌搜索),我看不出这是可能的,但我认为这仍然值得一问。我收集了大量节点,如: (org:Organization {name: "Organization 1234"}) 其中1234可以是任何非负整数 为了更新DB以使用新的API,我想重命名集合中的每一个API,以便结果如下所示: (org:Organization {name: "Org_1234"}) 因此,我需要将Org_uu与当前属性上的[0-9]+regex匹配进行混搭 真的,我不知道从哪里开始。我在文档中看
(org:Organization {name: "Organization 1234"})
其中1234可以是任何非负整数
为了更新DB以使用新的API,我想重命名集合中的每一个API,以便结果如下所示:
(org:Organization {name: "Org_1234"})
因此,我需要将Org_uu与当前属性上的[0-9]+regex匹配进行混搭
真的,我不知道从哪里开始。我在文档中看到的只是regex可以用作
WHERE
子句(WHERE n.property=~{regex}
)中的谓词。有没有一种方法可以像我不使用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
返回
o.name
Org_1234
Org_5678
假设“Organization”和整数之间总是有一个空格,那么只需使用字符串函数就可以很容易地强制执行此操作
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
也许将regexp作为过滤器预先添加,以便只在正确的组织上工作?是的,拆分或子字符串:)相当于手册中添加的一个图形列表或一个小的AsciiDoc。而且你可以使用[-1]惊人!工作完美,也很简单。非常感谢。也许将regexp作为过滤器预先添加,以便只在正确的组织上工作?是的,拆分或子字符串:)相当于手册中添加的一个图形列表或一个小的AsciiDoc。而且你可以使用[-1]惊人!工作完美,也很简单。非常感谢。