Derived Property (DRM)
You can create derived property to derive the value from the values from other properties.
You can extract data from a property to build separate properties to represent the data. It makes the implicit data obvious.
Derived properties are also useful for defining the validation rules.
You also check the parent node and child node relationship, such as the child node with certain value can only create under certain parent node.