-
Tplus = I' -RVDI I
-
Tminus = I -RVDI I'
-
Tzero = I ∩RVDI I'
Change representation (no metadata)
A change of an item (property, reference, container, object) that describes the "old" to "new" state, and the transition between them can be represented in two equivalent ways:
-
item-delta-item,
-
delta set triple.
Item-delta-item
Item-delta-item contains explicit information on the old state ("item"), the change ("delta"), and the new state ("item").
Component | Meaning |
---|---|
state before change ("old") |
A set of values before the change is applied. |
change ("delta") |
Three sets of values: those that are added, deleted, or replaced. See item delta description. |
state after change ("new") |
A set of values after the change is applied. |
The "new" state information is redundant. It can be always determined by application of the delta on the old state.
Each of the triad (old, delta, new) can be null. If old state is null, it is assumed that item is being created. If new state is null, item is being deleted. And if delta is null, item is unchanged.
Delta set triple
It consists of three sets of values:
Component | Meaning |
---|---|
plus set |
Values that are to be added to the respective item. |
minus set |
Values that are to be removed from the respective item. |
zero set |
Values of the respective item that are to be kept unchanged. |
Plus, minus, and zero sets should be disjunctive under "Real value considering different IDs" equivalence strategy.[1]
It is obvious how delta set triple can be derived from item-delta-item: We can simply compute a difference between item old and new state and for each value we determine if it is added, deleted or kept unchanged. This results in the placement of such value in appropriate delta set.
In short (see here for details):
The process of determining delta from original item plus delta set triple (or more commonly, triples) is called consolidation and deserves separate treatment.
Both item-delta-item and delta set triple structure need to provide special treatment for values with metadata. |