-
Notifications
You must be signed in to change notification settings - Fork 0
3. DL Semantics
The following provides the formal set-based semantics of the Description Logic table:
| Name | Syntax | Semantics |
|---|---|---|
| Top | β€ | π«β |
| Bottom | β₯ | β |
| Conjunction | C β D | Cβ β Dβ |
| Disjunction | C β D | Cβ β Dβ |
| Negation | Β¬C | π«β \ Dβ |
| Existential restriction | βr.C | {d β π«β | βe β π«β.(d,e) β rβ β e β Cβ} |
| Value restriction | βr.C | {d β π«β | βe β π«β.(d,e) β rβ β e β Cβ} |
| Self restriction | βr.Self | {d β π«β | (d,d) β rβ} |
| Unqualified number restriction | (β€n r) (β₯n r) (=n r) |
{d β π«β | #{e | (d,e) β rβ} β€ n} {d β π«β | #{e | (d,e) β rβ} β₯ n} {d β π«β | #{e | (d,e) β rβ} = n} |
| Qualified number restriction | (β€n r.C) (β₯n r.C) (=n r.C) |
{d β π«β | #{e | (d,e) β rβ β e β Cβ} β€ n} {d β π«β | #{e | (d,e) β rβ β e β Cβ} β₯ n} {d β π«β | #{e | (d,e) β rβ β e β Cβ} = n} |
| Nominal | {a} | {aβ} |
| Role value map | r β s | {d β π«β | {e | (d,e) β rβ} = {e | (d,e) β rβ}} |
| Predicate restriction | βc1,β¦,ck.P | {d β π«β | (c1β(d),β¦,ckβ(d)) β Pπ»} |
| Role composition | r β s | {(d,f) β π«β Γ π«β | βe β π«β.(d,e) β rβ β (e,f) β sβ} |
| Inverse role | rβ» | {(e,d) β π«β Γ π«β | (d,e) β rβ} |
| Feature chain | g1β―gnh | (g1β―gnh)β(d) = hβ(gnβ(β―(giβ(d))β―)) |
| General Concept Inclusion | C β D | Cβ β Dβ |
| Concept Definition | A β‘ C | Aβ β‘ Cβ |
| Role inclusion | r β s | rβ β sβ |
| Role disjointness | Disj(r,s) | rβ β sβ = β |
| Role transitivity | Trans(r) | βd,e,f β π«β ((d,e) β rβ β (e,f) β rβ β (d,f) β rβ) |
| Role functionality | Func(r) | βd β π«β #{e β π«β |
| Role reflexivity | Ref(r) | {(d,d) |
| Role irreflexivity | Irref(r) | rβ β {(_d,e) β π«β Γ π«β |
| Role symmetry | Sym(r) | {(e,d) |
| Role antisymmetry | Asym(r) | rβ β (rβ)- β {(d,d) |
| Concept assertion | a:C | rβ β Cβ |
| Role assertion | (a,b):r | (aβ,bβ) β rβ |
Description Logic (DL) is used to "describe" concepts and roles (or classes, and relationships/properties). However, these descriptions are an abstract concept over data, rather than specifying particular data.
On the other hand, Sets describe a specific group of instances that are members of the set. This is a concrete representation of the data.
When a Concept (from DL) is applied to a particular context, then a set can be derived. For instance, when the concept "Employee" is considered in the context of a particular company, then the resulting set will contain all of the employees of that company. But when the concept is applied in the context of a different company, then this will result in a completely different set of employees. This is clearer when we combine expressions. For instance, we may want to consider nurses who are employees, and so we create the conjunction of Nurse β Employee. In the concept of a legal firm, the set of people who are described by this concept is likely to be an empty set, but in a healthcare company the set might be the majority of the workforce. Similarly, when roles are applied in a particular context, this creates a set of specific relationships in that context.
When Concepts and Roles are defined together in relation to one another, they form a Model. When a Model is applied within a context to create sets, this is referred to as Interpreting the model in that context. For our Employees, we may have a role for "reportsTo" which connects most employees to their manager, and when we interpret this in the context of a specific company, we can get a set of everyone who works there, and the reporting structure of that company's Org Chart.
Because the Concepts and Roles in a model can be used to define sets in a particular context, but are not themselves sets, they are not manipulated or combined using the syntax of set operations. Instead, we have similar, related operators, that are specific to Description Logic. This is why DL has β when set theory uses β, β when sets use β,and β when sets use β. These operators are distinct from the set operators, but are visually similar.
An Interpretation β=(π«β,β β) is defined as a set of a instances π«β, along with an operator β β that maps concepts to a subset of π«β, and maps roles to a subset of binary relations defined by π«β Γ π«β. For instance, in the context of a particular company, π«β could contain all the employees, contractors, business units, assets, and contracts. The β β mapping then maps this complete set of elements to the appropriate concepts, while also mapping relationships between elements to appropriate roles.
So in a hypothetical company "Peter", "Mary", and "Accounting" may appear within π«β. This company, that may both be part of the "Employee" class, with ("Mary","Accounting") and ("Peter","Accounting") being part of the "worksIn" role, and ("Peter","Mary") being an element of the "reportsTo" role.
Some roles may also connect entities to elements of a concrete domain π», where π» contains values such as strings and numbers. These sorts of roles are often referred to as attributes.
In the above table we can see "Feature chain" defining a composition of roles to a specific attribute. "Abstract features" describe roles that connect one entity in π«β to another, such as gβ:π«ββπ«β while "concrete features" describe roles that connect entities to concrete values, as in hβ:π«ββπ«π».
In the "Predicate restriction" entry of the table, a set of attributes (which may be abstract roles referencing elements of π«β, but will typically be values in π«π») on an entity is referenced, where some predicate Pπ» can be applied to these values to determine a true/false value.
For example, consider the attributes startDate and endDate. The predicate greaterThan can be defined as a binary predicate that returns true when the first argument is larger than the second, and false otherwise. Consequently, the expression βstartDate,endDate.greaterThan references a class of all elements which have startDate and endDate values where the startDate comes after the endDate (we probably want to report all instances of this class as erroneous).
Note that predicates Pπ» are not defined by DL, and are expected to be defined elsewhere.