Applications
Partitioning Classes (PTCL)
This issue of different aspects of color was addressed in the paper by Guizzardi and Almeida [GuAl2020]. The Ontograph in Figure pc-colour shows different kinds of data properties that can be used to distinguish colors. The figure also shows that PC properties can be assigned in two different ways. The first, (^ANM-black_Panther, »is, ^.black) expresses that the species as a whole is black in color. In contrast, (^ANM-black_Panther, »has, ^.black-FurColor) expresses that the color refers to a specific body part. PCs can also be arranged in inheritance hierarchies. For example, color codes in hexadecimal and in RGB form can be subordinated to the respective color name. Thus, (^.RGB-255.255.255, »is, ^.white) and (^.#FFFFFF, »is, ^.white) represent the color white. With the superclasses ∵^.white-FurColor = {^.white-FurColor,^.FurColor, ^.ColorName, ^.Color} any particular of a class like ^ANM-Polar_bear automatically inherit any of the properties of the superclass.
Value Partitions:
.ΔLegs be the data property specifying the number of legs with VS(.ΔLegs) = {0, 2, 4, 6, 8, 100...}. Consequently the FPCs of .Legs are named .^v-Legs with v ∈ VS(.ΔLegs) and (^.v-Legs, .ΔLegs, v). Then for a transparent data property .ΔA we have the data property definition (^.v-A, .ΔA, :ADT) and the value assignment (^.v-A, .ΔA, v) for each v ∈ VS(.ΔA), e.g., (^.2-Legs, .ΔLegs, 2) or (^Fish, »has, ^.0-Legs).Attribute-Value Propagation Axioms:
^GoldenEagle »subClassOf ^Bird »is ^.warm-blooded. Then follows that each class in the chain gets the corresponding attribute-value pair, e.g., (^GoldenEagle, .Δwarm-blooded, T) ∈ KG and (^Bird, .Δwarm-blooded, T) ∈ KG. Since .Δwarm-blooded is a Transparent Data Property (TDP) it follows that also every particular of ^GoldenEagle and ^Bird also has the feature (.Δwarm-blooded, T). Let c1, c2, c3 be domain classes where c1 is the lowest class and c3 is the highest class which is subsumed under the partitioning class pc. Let ∵pc be the parent hierarchy of pc and d ∈ ∵pc a partitioning class for which there exists a value assignment (d, .Δdp, vp) ∈ KG with vp ∈ VS(.Δdp) exists. Then, for each d ∈ ∵pc every class from c1 to c3 gets the value vp, i.e., (d,.Δdp, vp) ∈ KG is entailed.{{axiom:PCCAx:PC-C Axiom:∀d ∈ ∵pc, ∀c2 ∈ ∵c1 : (c3 ∈ ∵c1 ∧ (c3, »is, pc) ∈ KG ) → (c2, .Δdp, vp) ∈ KG }}
The special case where the name of a PC contains an integer value followed by the name of the attribute such as in ^.2-Legs can be treated as a combination of the two previous axioms. Let v ∈ VS(.ΔA), e.g., for VS(.ΔLegs) = {0, 2, 4, 6, 8 ...}. For the instantiation chain ^GoldenEagle »subClassOf ^Bird »is ^.feathered_biped »has ^.2-Legs »is ^.Legs we can then infer (^GoldenEagle, »has, ^.2-Legs) and that (^GoldenEagle, .ΔLegs, 2) ∈ KG. Also every particular of ^GoldenEagle and ^Bird gets the feature (.ΔLegs, 2).
Boolean Partitioning Classes (BPC):
.feathered and ^.warm-blooded is assumed to be ‘true’ (T). Then (^Bird, »is, ^.warm-blooded) implies that all bird species and all bird particulars are ‘warm-blooded’ and thus have the feature (.warm-blooded, T). The special aspect of Boolean PCs is the manner in which the value for ‘false’ (F) is modeled. A boolean attribute can be either T or F. For each of the base classes, we define the opposite partitioning classes using the relational constructor such as in (^.not-feathered, »is-not, ^.feathered) and (^.not-warm-blooded, »is-not, ^.warm-blooded). In the partitioning classes ^.not-feathered and ^.not-warm-blooded, the default value T (true) from the base class is then reassigned with F (false).In general, however, this also means that the »is-not-relation between the Boolean PCs must be used to instantiate the data property definitions (^.feathered, .^feathered, :Boolean) and (^.warm-blooded, .^warm-blooded, :Boolean). Partitioning classes can then be combined into combined partitioning classes, as in (^.unfeathered-biped, »is, ^.not-feathered) and (^.unfeathered-biped, »has, ^.2-Legs). The definition of humans as unfeathered bipeds by Carnap [Carn1947], page 15, can be modeled with (^Homo_Sapiens, »is, ^.unfeathered-biped). Humans (^Homo_Sapiens) are thus 2-legged, non-feathered, and warm-blooded. The two examples again show how the modeling is kept lean by assigning the classes ^Bird or ^Homo_Sapiens to only one superclass, ^.feathered-biped or ^.unfeathered-biped. For each of the data properties, the values are not stored in the specific instances (particulars), but can be entailed, so that the storage of three triples per instance is guaranteed only for ^Bird and ^Homo_Sapiens alone. By applying the principal filter ∴ for child hierarchies and the principal ideal ∵ for parent hierarchies in the Preliminaries section we get: ∵^Bird = {^Bird, ^Species, ^.warm-blooded, ^.feathered, ^.feathered_biped, ^.2-Legs, ^.Legs} and ∵^Homo_Sapiens = {^Homo_Sapiens, ^Species, ^.warm-blooded, ^.¬feathered_biped, ^.¬feathered, ^.2-Legs, ^.Legs}. Then with (>ANM_Joe, »pof, ^Golden_Eagle) ∈ KG and (^Golden_Eagle, »is, ^Bird) ∈ KG it is determined that (>ANM_Joe, .Δwarm-blooded, T) ∈ KG, (>ANM_Joe, .Δfeathered, T) ∈ KG, and (>ANM_Joe, .ΔLegs, 2) ∈ KG. As already mentioned attribute-value pairs of PCs are instantiated directly or indirectly into their particulars using the >^is relation, e.g., for >ANM_Joe >^is ^.Adult »is ^.LifePhase »is ^.PClass. For the indirect we have, e.g., the instantiation chain >ANM_Joe »pof ^GoldenEagle »subClassOf ^Bird »is ^.warm-blooded »is ^.PClass.
To summarize, according to figure PC-boolean with (^Bird, »is ^.feathered_biped), (^.feathered_biped, »has, ^.2-Legs) we can entail ∵^.feathered_biped = {^.feathered, ^.2-Legs, ^.Legs} → (^Bird, .ΔLegs, 2) ∧ (^Bird, .Δfeathered, T). Also, because of VAP each particular bird has 2 legs and is feathered. With ∵^Fish = {^.¬feathered, ^.¬warm-blooded, ^.0-Legs → (^Fish, .ΔLegs, 0) ∧ (^Fish, .Δfeathered, F) ∧ (^Fish, .Δwarm-blooded, F) it follows that fish have no legs, are featherless, and are not warm-blooded. The examples for ^Bird and ^Fish illustrate the savings potential of the VAP method. The propagated features can be entailed and have not to be explicitly stored in the KG.
Extension: deriver.app
Combined mirror of PTCL Color, Value Partitions, and Boolean. Back to Introduction; Deriver documentation.
Sources: PTCL Color, PTCL Value Partitions, PTCL Boolean.

