本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
与其使用多个 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