Set multiple properties at once using a single SET clause
Instead of using multiple SET clauses to set individual properties, use a map to set multiple properties for an entity at once.
You can use:
MATCH (n:SomeLabel {`~id`: 'id1'}) SET n += {property1 : 'value1', property2 : 'value2', property3 : 'value3'}
Instead of:
MATCH (n:SomeLabel {`~id`: 'id1'}) SET n.property1 = 'value1' SET n.property2 = 'value2' SET n.property3 = 'value3'
The SET clause accepts either a single property or a map. If updating multiple properties on a single entity, using a single SET clause with a map allows the updates to be performed in a single operation instead of multiple operations, which can be executed more effeciently.
Use the SET clause to remove multiple properties at once
When using the openCypher language, REMOVE is used to remove properties from an entity. In Neptune,
each property being removed requires a separate operation, adding query latency. You can instead use SET with a map to
set all property values to null
, which in Neptune is equivalent to removing properties. Neptune will
have increased performance when multiple properties on a single entity are required to be removed.
Use:
WITH {prop1: null, prop2: null, prop3: null} as propertiesToRemove MATCH (n) SET n += propertiesToRemove
Instead of:
MATCH (n) REMOVE n.prop1, n.prop2, n.prop3