MATCH (p:Person)
WITH p, keys(p) AS keys
CALL apoc.create.setProperties(p,[k in keys|k], [k in keys | replace(p[k], 'NEO4J', 'SQL')])
YIELD node
RETURN node;
MATCH (p) WHERE ANY (k IN keys(p) WHERE apoc.map.get(properties(p),k) CONTAINS 'NEO4J')
WITH p, [k IN keys(p) WHERE apoc.map.get(properties(p),k) CONTAINS 'NEO4J' | k] as keys
CALL apoc.create.setProperties(p,[k in keys|k], [k in keys | replace(p[k], 'NEO4J', 'SQL')])
YIELD node
RETURN node;
2条答案
按热度按时间xzv2uavs1#
与Charchit类似,您可以使用此APOC函数,但不使用展开。您可以将属性更新为APOC函数内的键和值的列表。
gblwokeq2#
您可以尝试以下操作:
获取节点,展开属性键,然后使用
apoc.create.setProperty
设置属性的新值。如果您希望找到所需的节点,并且只更新必要的密钥,请尝试执行以下操作:
在这里,我们删除了Person标签,以便选中每个节点,并筛选并保留相关属性。我使用jose_bacoy在回答中建议的
setProperties
函数,以避免不必要的复杂性。