使用单个 SET 子句一次设置多个属性
使用映射一次为一个实体设置多个属性,而非使用多个 SET 子句来设置各个属性。
您可以使用:
MATCH (n:SomeLabel {`~id`: 'id1'}) SET n += {property1 : 'value1', property2 : 'value2', property3 : 'value3'}
而不是:
MATCH (n:SomeLabel {`~id`: 'id1'}) SET n.property1 = 'value1' SET n.property2 = 'value2' SET n.property3 = 'value3'
SET 子句接受单个属性或映射。如果在单个实体上更新多个属性,那么将单个 SET 子句与映射一起使用可在单个操作(而非多个操作)中执行更新,这样可以更有效地执行操作。
使用 SET 子句一次删除多个属性
使用 openCypher 语言时,REMOVE 用于从实体中移除属性。在 Neptune 中,要删除的每个属性都需要单独的操作,这增加了查询延迟。相反,您可以将 SET 与映射一起使用,将所有属性值设置为 null,在 Neptune 中,这等同于删除属性。当需要在单个实体上删除多个属性时,Neptune 将会提高性能。
使用:
WITH {prop1: null, prop2: null, prop3: null} as propertiesToRemove MATCH (n) SET n += propertiesToRemove
而不是:
MATCH (n) REMOVE n.prop1, n.prop2, n.prop3