Decision Insight 20180205 Mapping operations examples This page lists several use cases that helps understand how Add, Update, Initialize, Remove and Clear operations behave. Mono-valued members ADD operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 B | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 D | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A---[--A--[--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--------[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 ADD value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[--B--[--A-[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 B | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, UNTIL_CHANGED[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 D | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, UNTIL_CHANGED[ | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--------[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[--B--[--A-----------[ | |------------------------------------> | t1 t2 t3 t4 t5 F | [--A------[--B--------[--A--[--A--[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[--B--[--A--------[--A--[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 G | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t2, t5[ | [---------A--------[ | |-------------------------> | t1 t6 H | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t4 INITIALIZE operation Use case Values in the storage Operation Resulting storage A The instance does not yet exist and is created INIT value=* validTime=[*, *[ Behaves as the ADD operation in its various use-cases. B The instance already exists and is extended. INIT value=* validTime=[*, *[ Behaves as the UPDATE operation in its various use-cases. C The instance already exists and is NOT extended. INIT value=* validTime=[*, *[ This operation is skipped. REMOVE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t1, t2[ | | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 REMOVE value=B validTime=[t1, t2[ | [--A------[ | |-------------------------> | t1 t2 t3 C | [--A---------------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t2, UNTIL_END[ | [--A------[ | |-------------------------> | t1 t2 t3 D | [--A----------------[ | |---------------------------> | t1 t2 t3 t4 REMOVE value=A validTime=[t2, t3[ | [--A---[ [--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--------[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 REMOVE value=B validTime=[t1, t5[ | [--A------[ [--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 CLEAR operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t1, t2[ | | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t2, UNTIL_END[ | [--A------[ | |-------------------------> | t1 t2 t3 C | [--A---------------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t2, UNTIL_END[ | [--A------[ | |-------------------------> | t1 t2 t3 D | [--A----------------[ | |---------------------------> | t1 t2 t3 t4 CLEAR validTime=[t2, t3[ | [--A---[ [--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--[--A-----------[ | |------------------------------------> | t1 t2 t3 t4 t5 CLEAR validTime=[t2, t4[ | [--A------[ [--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 Multi-valued members ADD operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 ADD value=B validTime=[t1, t3[ | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 D | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 E | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A---[--A--[--A---[ | |---------------------------> | t1 t2 t3 t4 F | [--A---------------------------[ | [--B-----[ | |------------------------------------> | t1 t2 t3 t4 t5 ADD value=A validTime=[t3, UNTIL_CHANGED[ | [--A------------[--A----------[ | [--B-----[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 UPDATE value=B validTime=[t2, t3[ | [--A---------------[ | [--B-----[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 D | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t2, t5[ | [---------A--------[ | |-------------------------> | t1 t6 E | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t4 F | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, UNTIL_CHANGED[ | [--A---------------[ | |-------------------------> | t1 t2 t3 G | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, UNTIL_CHANGED[ | [--A----------------[ | |---------------------------> | t1 t2 t3 t4 H | [--A------[ [--A-----[ | [--B--------[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[ [--A-----------[ | [--B--------[ | |------------------------------------> | t1 t2 t3 t4 t5 I | [--A------[ [--A--[--A--[ | [--B------------------[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[ [--A--------[--A--[ | [--B------------------[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 INITIALIZE operation Use case Values in the storage Operation Resulting storage A The instance does not yet exist and is created INIT value=* validTime=[*, *[ Behaves as the ADD operation in its various use-cases. B The instance already exists and is extended. INIT value=* validTime=[*, *[ Behaves as the UPDATE operation in its various use-cases. C The instance already exists and is NOT extended. INIT value=* validTime=[*, *[ This operation is skipped. REMOVE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | [--B------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t1, t2[ | [--B------[ | | |-------------------------> | t1 t2 t3 B | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 REMOVE value=C validTime=[t1, t2[ | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 C | [--A---------------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t2, UNTIL_END[ | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 D | [--A----------------[ | [--B----------------[ | |---------------------------> | t1 t2 t3 t4 REMOVE value=A validTime=[t2, t3[ | [--A---[ [--A---[ | [--B----------------[ | |---------------------------> | t1 t2 t3 t4 CLEAR operation Use case Values in the storage Operation Resulting storage A | [--A------[ | [--B------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t1, t2[ | | | |-------------------------> | t1 t2 t3 B | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t1, t2[ | [--B-----[ | | |-------------------------> | t1 t2 t3 C | [--A----------------[ | [--B----------------[ | |---------------------------> | t1 t2 t3 t4 CLEAR value=A validTime=[t2, t3[ | [--A---[ [--A---[ | [--B---[ [--B---[ | |---------------------------> | t1 t2 t3 t4 Related Links
Mapping operations examples This page lists several use cases that helps understand how Add, Update, Initialize, Remove and Clear operations behave. Mono-valued members ADD operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 B | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 D | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A---[--A--[--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--------[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 ADD value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[--B--[--A-[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 B | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, UNTIL_CHANGED[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 D | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, UNTIL_CHANGED[ | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--------[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[--B--[--A-----------[ | |------------------------------------> | t1 t2 t3 t4 t5 F | [--A------[--B--------[--A--[--A--[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[--B--[--A--------[--A--[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 G | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t2, t5[ | [---------A--------[ | |-------------------------> | t1 t6 H | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t4 INITIALIZE operation Use case Values in the storage Operation Resulting storage A The instance does not yet exist and is created INIT value=* validTime=[*, *[ Behaves as the ADD operation in its various use-cases. B The instance already exists and is extended. INIT value=* validTime=[*, *[ Behaves as the UPDATE operation in its various use-cases. C The instance already exists and is NOT extended. INIT value=* validTime=[*, *[ This operation is skipped. REMOVE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t1, t2[ | | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 REMOVE value=B validTime=[t1, t2[ | [--A------[ | |-------------------------> | t1 t2 t3 C | [--A---------------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t2, UNTIL_END[ | [--A------[ | |-------------------------> | t1 t2 t3 D | [--A----------------[ | |---------------------------> | t1 t2 t3 t4 REMOVE value=A validTime=[t2, t3[ | [--A---[ [--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--------[--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 REMOVE value=B validTime=[t1, t5[ | [--A------[ [--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 CLEAR operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t1, t2[ | | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t2, UNTIL_END[ | [--A------[ | |-------------------------> | t1 t2 t3 C | [--A---------------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t2, UNTIL_END[ | [--A------[ | |-------------------------> | t1 t2 t3 D | [--A----------------[ | |---------------------------> | t1 t2 t3 t4 CLEAR validTime=[t2, t3[ | [--A---[ [--A---[ | |---------------------------> | t1 t2 t3 t4 E | [--A------[--B--[--A-----------[ | |------------------------------------> | t1 t2 t3 t4 t5 CLEAR validTime=[t2, t4[ | [--A------[ [--A-----[ | |------------------------------------> | t1 t2 t3 t4 t5 Multi-valued members ADD operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 ADD value=B validTime=[t1, t3[ | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, t3[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 D | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 E | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 ADD value=A validTime=[t2, UNTIL_CHANGED[ | [--A---[--A--[--A---[ | |---------------------------> | t1 t2 t3 t4 F | [--A---------------------------[ | [--B-----[ | |------------------------------------> | t1 t2 t3 t4 t5 ADD value=A validTime=[t3, UNTIL_CHANGED[ | [--A------------[--A----------[ | [--B-----[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 B | [--A------[ | |-------------------------> | t1 t2 t3 UPDATE value=B validTime=[t2, t3[ | [--A---------------[ | [--B-----[ | |-------------------------> | t1 t2 t3 C | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, t3[ | [--A---------------[ | |-------------------------> | t1 t2 t3 D | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t2, t5[ | [---------A--------[ | |-------------------------> | t1 t6 E | [--A--[ [--A--[ | |-------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, t3[ | [--A---------------[ | |-------------------------> | t1 t4 F | [--A------[--A-----[ | |-------------------------> | t1 t2 t3 UPDATE value=A validTime=[t1, UNTIL_CHANGED[ | [--A---------------[ | |-------------------------> | t1 t2 t3 G | [--A---------[--A---[ | |---------------------------> | t1 t2 t3 t4 UPDATE value=A validTime=[t2, UNTIL_CHANGED[ | [--A----------------[ | |---------------------------> | t1 t2 t3 t4 H | [--A------[ [--A-----[ | [--B--------[ | |------------------------------------> | t1 t2 t3 t4 t5 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[ [--A-----------[ | [--B--------[ | |------------------------------------> | t1 t2 t3 t4 t5 I | [--A------[ [--A--[--A--[ | [--B------------------[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 UPDATE value=A validTime=[t3, UNTIL_CHANGED[ | [--A------[ [--A--------[--A--[ | [--B------------------[ | |---------------------------------------> | t1 t2 t3 t4 t5 t6 INITIALIZE operation Use case Values in the storage Operation Resulting storage A The instance does not yet exist and is created INIT value=* validTime=[*, *[ Behaves as the ADD operation in its various use-cases. B The instance already exists and is extended. INIT value=* validTime=[*, *[ Behaves as the UPDATE operation in its various use-cases. C The instance already exists and is NOT extended. INIT value=* validTime=[*, *[ This operation is skipped. REMOVE operation Use case Values in the storage Operation Resulting storage A | [--A------[ | [--B------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t1, t2[ | [--B------[ | | |-------------------------> | t1 t2 t3 B | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 REMOVE value=C validTime=[t1, t2[ | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 C | [--A---------------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 REMOVE value=A validTime=[t2, UNTIL_END[ | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 D | [--A----------------[ | [--B----------------[ | |---------------------------> | t1 t2 t3 t4 REMOVE value=A validTime=[t2, t3[ | [--A---[ [--A---[ | [--B----------------[ | |---------------------------> | t1 t2 t3 t4 CLEAR operation Use case Values in the storage Operation Resulting storage A | [--A------[ | [--B------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t1, t2[ | | | |-------------------------> | t1 t2 t3 B | [--A------[ | [--B---------------[ | |-------------------------> | t1 t2 t3 CLEAR validTime=[t1, t2[ | [--B-----[ | | |-------------------------> | t1 t2 t3 C | [--A----------------[ | [--B----------------[ | |---------------------------> | t1 t2 t3 t4 CLEAR value=A validTime=[t2, t3[ | [--A---[ [--A---[ | [--B---[ [--B---[ | |---------------------------> | t1 t2 t3 t4