Data Property Types

Multi-Layer Modeling (MLM) — PRPR

pdf:dptypes:1.0
Data Property Types

Data Property Types

Typically, in classical Conceptual Modeling (CM), Data Properties (DP) are only used to assign values to attributes of particulars that have been previously declared in a class. In Meta-Level Modeling (MLM), data property values can also be assigned within classes. In this chapter we examine the types of data properties needed to meet the requirements of MLM. This also results in restrictions for their value assignment. We will therefore refer to the classic data properties from CM as Particulars Data Properties (PDP). Meta Data Properties (MDP) allow entities to be annotated with metadata at the Schema Level (SL) and at the Particulars Level (PL). Universal Data Properties (UDP) can only be assigned values in Schema Level (SL) entities. With Transparent Data Properties (TDP), a value assignment can be made within a class in such a way that the assignment of that attribute value is propagated from that class down the hierarchy to the particulars in the PL. In the following, each of the data property types is discussed in detail, as shown in figure dptypes. For the following let 1 ≤ i ≤ j ≤ n. In each class hierarchy (Ci , ≤∧) a definition DPD = (C, A, adt) for a data property A is only allowed for one class C. For example, let us consider the domain classes ^Person and ^Product as the roots of subclass hierarchy branches under the top class ^Class. Then, a data property such as weight can be defined only once in common superclass of the two classes. In the following, we generally assume for the roots Cn of domain subclass hierarchies that they are subclasses of the top class ^Class (see figure o4toptl2) where (Cn, »subClassOf, ^Class).

Particulars Data Property (PDP)

The purpose of PDPs is to assert domain-specific facts exclusively in the Particulars Layer (PL). PDP names are prefixed with a dot (.). Examples of PDPs are .serialNr, .fonNr, .personId, .URI. A definition for a PDP attribute .A has the form DPDP:= (Cj, .A, :adt). For any given P with (P, »pof, Ci) and Ci ≤∧ Cj a value for attribute .A can be assigned with (P, .A, v) based on its definition DPDP = (Cj, .A, :adt).

Meta Data Property (MDP)

The purpose of MDPs is to assert non-domain-specific metadata to knowledge subjects, such as any kind of authoring and administrative information. Names are prefixed with dot-dot (..). Examples for MDPs are ..createdBy, ..updated, ..checkedDate, ..VersionNr, ..DevTime, ..DevCost. An MDP definition for an MDP attribute ..A takes the form DPDM:= (Cj, ..A, :adt). For any particular P with (P, »pof, Ci) and Ci ≤∧ Cj a value for attribute ..A can be assigned with (P, ..A, v) based on the DPDM = (Cj, ..A, :adt). For any class Ci ≤∧ Cj a value vi for attribute ..A can be assigned with (Cj, ..A, vi) based on DPDM = (Cj, ..A, :adt).

Universals Data Property (UDP)

The purpose of UDPs is to assert data property values to universals (classes and object properties) that are not specific to particulars of those universals. A major motivation for the introduction of UDPs is that they make it possible to combine the powertype of a class such as Car_Model with the base type Car into one class Car. This is achieved by turning the PDP attributes of the Car_Model powertype such as .qtySold into UDP attributes such as .^producedUnits in the Car class. UDPs are derived DPs. Typically, resultant or range or cardinality properties such as sum, average, min, max etc. can be represented with UDPs. Names are prefixed with a period-circumflex (.^). Examples for UDPs are .^producedUnits, .^qtySold, .^avgLifeTime, .^maxSpeed etc. A UDP Definition for a UDP attribute .^A has the form DPDU:= (Cj, .^A, :adt). Particulars of any class from ∴Cn may not instantiate UDPs. For any class Ci ≤∧ Cj a value vi for attribute .^A can be assigned with (Cj, .^A, vi) based on DPDU = (Cj, .^A, :adt).

Transparent Data Property (TDP)

The purpose of TDPs is to assign values to data properties of classes where the pair (.∆attribute, value) propagates down through any entity of the hierarchy to the entities of the Particulars Layer (PL). We also refer to this method as Value Assignment Propagation (VAP). Thus, TDPs allow for deep instantiation as mentioned in [FoAl2021]. Typically, those properties can be represented by TDPs that are characteristic of classes and their subclasses as well as all of their particulars. TDP names are prefixed with period-delta (.∆). Examples for TDPs are .∆warmblooded, .∆ModelName, .∆BatteryPowered, and so on. A definition for a TDP .∆A has the form DPDT:= (Cj, .∆A , :adt). For any class Ci ≤∧ Cj a value vi for the attribute .∆A can be assigned with (Cj, .∆A, vi) based on DPDT = (Cj, .∆A, :adt). This has a huge potential for savings, since pairs of (.∆A, vi) do not need to be explicitly assigned in classes and particulars below the first assignment. The reason is that they can be entailed down the instantiation chain. For performance reasons, a modeler might still choose to store the attribute-value pairs redundantly.

Potency, Durability and Mutability

Carvalho and Almeida [CaAl2016] give the following definitions for durability and mutability: ‘The durability of an attribute indicates how far the attribute spans in an instantiation tree. The mutability of an attribute defines how often the attribute value can be changed in the instantiation tree’. We also find a definition of the potency of an element, which denotes the maximum depth of its instantiation chain. In this sense, its meaning is close to that of durability. Based on figure dptypes, we consider an instantiation tree to be the subclass hierarchy branch (Cn, ≤∧) starting from the root class Cn and including all particulars of (Cn, ≤∧). For a more precise definition of the span of durability we define as the starting point of the span the level where the data property is defined. According to these definitions, we determine the values of durability and mutability for each of the four types of data properties:
  • For PDPs, the durability is 1 because PDPs span from a class to one of its particulars. The mutability is 0 because PDPs do not instantiate on the Schema Layer (SL).
  • For MDPs, the maximum durability is n, because MDPs span down through the instantiation chain to the Particulars Layer (PL). The mutability is n.
  • For UDPs, the maximum durability is n - 1, because UDPs span down through the instantiation chain but not down into the PL. The mutability is n - 1.
  • For TDPs, the maximum durability is n, because the TDPs span down through the instantiation chain to the PL. The mutability is n.

Extension: deriver.app

Source: taoke.de — Data Property Types.