• No results found

Description logics (DL) are a family of logic-based knowledge representation formalisms [BCM+03]. Knowledge is described in terms of concepts, roles and individuals, hence the name description logics.

The most basic DL is AL (“attributive language”), from which other de-scription languages differ in expressivity by allowing or disallowing parts of the language constructs. In AL, concepts can be defined using concept conjunction (⊓), negation (¬) of atomic concepts, limited existential quantification (∃R.⊤

with ⊤ as the only allowed filler) and universal restrictions (∀R.C). Further-more, the bottom concept (⊥) and the top concept (⊤) are available.

Extensions to AL are indicated by the use of single letters, appended to the logics name, according to the following schema:

U concept union

E full existential quantification C negation of arbirary concepts I inverse roles

N unqualified role restrictions (number restrictions) Q qualified cardinality restrictions

H role hierarchies R+ transitive roles

F functional properties O nominals

Note that U and E can be expressed by C. AL without atomic negation is named FL (“frame language”), whereas FL0 denotes AL without existential quantification. Usually, ALC plus transitively closed primitive roles R+is called S.

The ontology description language OWL can be seen as a syntactic variant of the description logic SHOIN (D). In the following, the syntax and semantics of SHOIN (D) are given.

Concept Descriptions. The elementary descriptions in a DL knowledge base are atomic concepts and atomic roles. Concepts are the building blocks and can be seen as classes of individuals. Complex descriptions can be built from

combinations of atomic concepts, roles, and the concept constructors that the logic offers. Individuals are objects that can belong to any number of concepts.

Properties of individuals and their relationships can be modeled with roles.

Rolefillers can be either objects (individuals) or literals. The latter are concrete datatypes, and it depends on the particular Description Logic, which kind of datatypes are supported. If a DL is parameterised with a set D of datatypes, this is indicated with an appended(D) to the DL’s name. Datatypes can be used in such logics via concrete roles.

Definition 2.2 (Syntax)

The set of SHOIN (D) concepts is defined by the following syntactic rules, where A is an atomic concept, C and D are concept descriptions, R is an abstract role, S is an abstract simple role, Ti are concrete roles, d is a concrete domain predicate, ai and ci are abstract and concrete individuals, respectively, and n is a non-negative integer.

C → ⊤ | ⊥ | A | ¬C | C1⊓ C2 | C1⊔ C2 | ∃R.C | ∀R.C |

≥ nS | ≤ nS | {a1, . . . , an} | ≥ nT | ≤ nT |

∃T1, . . . , Tn.D | ∀T1, . . . , Tn.D D → d | {c1, . . . , cn}

If more than one type of constructor occurs, the precedence order {¬} >

{∃, ∀} > {⊓, ⊔} applies. 2

Definition 2.3 (Semantics)

Let Nrole be the set of role names and Ncon the set of concept names. Fur-thermore let Nind be the set of individual names. Ncon, Nrole and Nind are pairwise disjoint finite sets. The formal semantics of the basic DL concepts is defined by an interpretation I that consists of a non-empty set ∆I (the do-main of interpretation) and an interpretation function ·I, which assigns to every concept C ∈ Ncon a set CI ⊆ ∆I, to every role R ∈ Nrole a binary relation RI⊆ ∆I× ∆I and aI∈ ∆I to every individual a ∈ Nind.

The interpretation function is extended to concept descriptions according to the following inductive definition:

top concept ⊤I = ∆I

bottom concept ⊥I = ∅

concept negation (¬C)I = ∆I\CI conjunction (C ⊓ D)I = CI∩ DI disjunction (C ⊔ D)I = CI∪ DI

value restriction (∀R.C)I = {a ∈ ∆I | ∀b.(a, b) ∈ RI→ b ∈ CI} existential quant. (∃R.⊤)I = {a ∈ ∆I | ∃b.(a, b)}

full existent. quant. (∃R.C)I = {a ∈ ∆I | ∃b.(a, b) ∈ RI∧ b ∈ CI} at-most restriction (≤ nR)I = {a ∈ ∆I | #{b | (a, b) ∈ RI} ≤ n}

at-least restriction (≥ nR)I = {a ∈ ∆I | #{b | (a, b) ∈ RI} ≥ n}

nominals {a1, . . . , an}I = {aI1, . . . , aIn} The cardinality of a set S is denoted by #S.

The concepts and roles of a DL ontology are related by the use of axioms, namely equality (≡) and inclusion (⊑). The validity of an axiom ǫ (either a

concept or a role axiom) in an interpretation I is called a model of ǫ, which is denoted by I |= ǫ and defined as follows: I |= (C ⊑ D) iff (CI ⊆ DI) and I |= (C ≡ D) iff (CI = DI).

Equivalence of two concepts C and D is given if CI = DI and is denoted with C ≡ D. A concept D includes another concept C if CI ⊆ DI. This is denoted with C ⊑ D.

I satisfies a set of axioms E iff I satisfies each element in E, in that case I is called a model of E. Two sets of axioms E1and E2 are equivalent if they have the same models. In the same way E1 is entailed by E2 (denoted by E2 |= E1

if all of the models of E1 are also models of E2. 2

Definition 2.4 (Knowledge Base)

A SHOIN (D) knowledge base K = hT , R, Ai consists of a TBox T , an ABox A and an RBox R. The notions of a TBox, an ABox and an RBox are explained in the following.

TBox. A TBox T consists of a finite set of terminological axioms, either con-cept inclusion axioms C ⊑ D or equality axioms C ≡ D for concon-cepts C and D.

An equation where the left-hand side is an atomic concept is called a definition (of that concept): new concepts are defined in terms of previously defined con-cepts. The use of concept inclusion (⊑) is called an incomplete definition or a specialisation.

Let Ncon have partitions Nconb and Ncond being the sets of base concept names and defined concept names. Base concept names occur only on the right-hand side of axioms, whereas defined concept names occur on the left-hand side of some axioms. Hence, the terminology defines the defined names in terms of base names. A ≡ C is a definition of A for A ∈ Ncond and C over Ncon, Nrole, and Nnom.

A terminology is unequivocal such that there is at most one definition for every atomic concept A ∈ Ncon.

A terminology is acyclic iff T is of the form {Ai ≡ Ci | 1 ≤ i ≤ n} such that for every i ∈ {1, . . . , n} only defined names from {A1, . . . , Ai−1} occur in Ci.

RBox. An RBox R is a finite set of role inclusion axioms of the form R ⊑ S where R and S are abstract roles. An abstract role is an abstract role name or the inverse R of an abstract role name R. A set of abstract role names Nrole consists of transitive role names R+ and normal role names RP where R+∩RP = ∅. The set of abstract roles can be defined as Nrole∪{R|R ∈ Nrole}.

A role hierarchy is a finite set of role inclusion axioms.

An interpretation I consists of a non-empty set ∆I(the domain of interpre-tation) and an interpretation function ·I, which maps every role to a subset of

I× ∆I such that, for P ∈ Nrole and R ∈ R+

hx, yi ∈ PI iff hy, xi ∈ P, and if hx, yi ∈ RI and hy, zi ∈ RI, then hx, zi ∈ RI. Role composition ’◦’ is interpreted as an associative binary operator with rI1 ◦ rI2 := {(x, z) | (x, y) ∈ r1I∧ (x, z) ∈ rI2} for every r1, r2∈ Nrole.

A role inclusion axiom is defined by r1◦ · · · ◦ rn ⊑ r for n ∈ N+ and r1, . . . , rn, r ∈ Nrole. A simple role is a role that has no transitive sub-roles (where n = 1).

To avoid considering roles such as R−−, a function Inv is defined on roles such that Inv(R) = Rif R is a role name, and Inv(R) = S if R = S. For an RBox R a role hierarchy R+ is defined as

R+ := (R ∪ {Inv(R) ⊑ Inv(S) | R ⊑ S ∈ R}, ⊑)

where ⊑is the transitive-reflexive closure of ⊑ over R∪{Inv(R) ⊑ Inv(S) | R ⊑ S ∈ R}.

An interpretation I satisfies a role hierarchy R+ iff RI⊆ SI for each R ⊑ S ∈ R+, which is denoted by I |= R+ . I is then a model of R+ (recall that R+ is a set of axioms).

ABox. An assertional box (ABox ) A is a finite set of concept and role assertions C(a), R(a, b), T (a, c) plus individual (in)equality relations a= b and a 6. = b..

The interpretation I maps each individual a ∈ Nindto an element aI ∈ ∆I. It is assumed (following the unique name assumption) that distinct individual names denote distinct objects. Therefore, for distinct individuals a, b ∈ Nind

holds aI 6= bI. Note that this is handled strictly different in OWL where no UNA can be applied, as will be shown later. Moreover, I satisfies the concept assertion C(a) if aI∈ CI and the role assertion R(a, b) if (aI, bI) ∈ RI. I |= A iff I satisfies each assertion in A and is then called a model of the ABox A.

If an interpretation I is a model of an ABox A, an RBox R and a TBox T , it satisfies A with respect to R and T .

I is a model of a knowledge base K iff I is a model of each component T ,R

and A. 2

Definition 2.5 (Concrete domain)

DL knowledge bases are not only capable of defining structural properties of concepts, moreover quantitative properties can be expressed. Accordingly, there exists the notion of concrete domains that express the availability of concrete data types (e.g. strings or integers) in role definitions.

Let Nrolec be the set of concrete role names cr. Every cr in Nrolec must be interpreted by a mapping ∆ID→ 2D. Furthermore let a concrete domain D be a pair h∆DDi, where ∆Dis an interpretation domain and ΦDa set of concrete domain predicates d over that domain with a predefined arity n ∈N\{0} and an interpretation dD ⊆ ∆nD. For every d ∈ ΦD with arity n and cr1, . . . , crn ∈ Nrolec, d(cr1, . . . , crn) is a concrete domain restriction. An interpretation I is a pair (∆I, ·I) consisting of a non empty set ∆I (the domain) that is disjoint from

Dand an interpretation function ·I , d(cr1, . . . , crn) is interpreted as follows:

d(cr1, . . . , crn)I := {x ∈ ∆I | ∃y1, . . . , yn∈ ∆D:

crIi(x) = yi for all 1 ≤ i ≤ n

∧ (y1, . . . , yn) ∈ ΦD}.

For instance, consider the concrete domain D = (ND, ΦD) over the set of natural numbersN. Let Φ = {≥12, ≥16, ≥18, ≥21} be the set of concrete domain predicates in this example. The interpretation of the predicate ≥12 is ≥D12=

{(x) ∈ N | x ≥ 12} = {12, 13, 14, 15, . . .}, denoting the set of integers equal or greater than 12. Given that {hasAge} ∈ P, the concept of GrownUpPerson can be defined as persons being at least 18 years old, similarly the concept AdultPerson requiring an age of at least 21.

GrownU pP erson ⊑ Person ⊓ ≥18(hasAge) AdultP erson ⊑ Person ⊓ ≥21(hasAge)

Note that this notation for concrete domain predicates should not be con-fused with role restrictions. For example,

ExtendedFamilyPerson ≡ ≥ 6 hasChild ⊓ Person defines the concept of persons having at least 6 children.

Binary concrete predicates can be used likewise, e.g. ≤ which is interpreted by ≤D= {(x, y) ∈N | x < y}. For example, the concrete roles shoesize and IQ can thus be related: ≤ (shoesize, IQ).