O4Top-Schema
Multi-Layer Modeling (MLM) — PRPR
instances in instancesScreenSize implicitly denotes a regularity attribute. We are aware that using the prefixes introduces additional learning overhead, but on the other hand this is achieved with little syntactic overhead. Thus, we accept this tradeoff in favor of introducing more complex annotations with additional definitions.
- The most general modeling element is »^Resource. It subsumes with »is the universals ^Class and ◊ObjectProperty as well as .DataProperty. This is the basis for maintaining the hierarchies of the three elements with the transitive object properties ◊subClassOf, ◊subOpOf and ◊subDpOf. It also contains the schemas for the four different data property declarations required for the instantiation down the hierarchies. »^Universal is the specialization of »^Resource that provides the schema for defining data properties of type
.^UniversalsDataProperty, which can only be defined in universals. - Classes (prefixed with circumflex ^) and Object Properties (OP) (prefixed with diamond ◊ for OP definitions and double greater » for OP instances) are universals. Examples are ^Person, ^Product, ^Book and ◊hasMotor, »subClassOf, »hasRange.
- Data Properties (DP) (prefixed with dot .) can be assigned to universals and are defined with atomic data types from the set ADT between a class or OP (»hasDomain) and an adt ∈ ADT (»hasRange). Examples are .serialNr, .milage, .IMEI, .OrcID, .DUNSnr, .ISBN. A Data Property Definition (DPD), e.g., for .serialNr with (.serialNr, »hasDomain, ^Car) ∧ (.serialNr, »hasRange, :String) is equivalent to its short definition (^Car, .serialNr, :String)
- Object Properties (OP) are always defined between a domain class (»hasDomain) and a range class (»hasRange), e.g., (◊hasMotor, »hasDomain, ^Car) ∧ (◊hasMotor, »hasRange, ^Motor) which is equivalent to the short definition (^Car, ◊hasMotor, ^Motor). In an OP name the prefix ◊ refers to an Object Property Definition (OPD) while the prefix
»refers to an Object Property Instance (OPI). The OPIs named with »has, »hasDomain, »hasRange and »hasDP can be considered as instantiation of ◊has, while ◊subClassOf, ◊subOpOf and ◊subDpOf are derived from ◊is with ◊subClassOf ⊆ ◊is, ◊subOpOf ⊆ ◊is, and ◊subDpOf ⊆ ◊is. - Particulars (prefixed with >) are associated with their classes by »pof (particular of), e.g., (>BTs-Porsche, »pof, ^Porsche911CarreraS).
- Relators are associated with their Object Property Definition (OPD) using »opi, for example, (»hasAdvisor#3, »opi, ◊hasAdvisor) in figure lubm2. They are used to model binary and n-ary relationships.
Why do we consider the set of modeling elements in the O4Top schema to be minimal? A modeler cannot omit any of the elements without losing the ability to model essential facts. Classes represent the universals of an application domain. Object Properties establish binary relationships between classes and their instances. Data Properties represent properties of classes, binary relationships and their instances and are the basis for classification. Atomic data types characterize the nature of data properties. Thus, none of the modeling elements can be omitted or replaced by any of the others. On the other hand, experience from countless modeling projects has shown that there is no need to introduce additional types of modeling elements.
Extension: deriver.app
Source: taoke.de — O4Top-Schema.
