我有各种不同标签形式的节点:
(n:Label)
n.Name='ABS'
n.sample='ajx'
我想将所有属性值更改为小写。即上述结果应为:
(n:Label)
n.Name='abs'
n.sample='ajx'
我试过以下......
match(n:Label) SET n.Name`=toLower(n.Name)
但是此查询一次只更新一个属性。有没有办法在单个查询中同时更改所有属性。
答案 0 :(得分:3)
您可以在APOC procedures的帮助下完成此操作。特别是apoc.create.setProperty
程序。此查询应该有效:
MATCH (n)
WITH n, [x IN keys(n)
WHERE n[x] =~ '.*'
] as props
UNWIND props as p
CALL apoc.create.setProperty(n, p, toLower(n[p])) YIELD node
RETURN node
此查询匹配图表的所有节点,并获取每个节点的字符串属性。在为每个传递为新值apoc.create.setProperty
的属性调用toLower(node[property])
之后。