1 Introduction

Description Logics (DLs) are a class of knowledge representation languages with well-defined semantics and decidable reasoning algorithms which are widely used in a variety of knowledge-based applications on the Semantic Web (Baader et al. 2003). Unfortunately, there are occasions where classical DL formalisms fail to accurately represent the concepts that appear in a domain of interest. This is particularly the case when domain knowledge is inherently imprecise or vague. Concepts like that of a “near” destination (Berners-Lee and Hendler 2001), a “high Quality” audio system (McGuinness 2003), “many” children, a “faulty” reactor (Horrocks and Sattler 1999), “soon” and many more, require special modeling features. To bridge this gap fuzzy DLs have been introduced, which constitute an extension of classic DLs capable of representing and reasoning with vague and imprecise knowledge. Fuzzy DLs have already attracted the interest of researchers from other communities and have been used in numerous domains like multimedia and information retrieval applications (Meghini et al. 2001; Simou et al. 2008; Dasiopoulou et al. 2008) to provide ranking degrees, ontology alignment (Ferrara et al. 2008), matchmaking (Ragone et al. 2009) and many more.

Over the recent years, many expressive fuzzy DL languages have been studied, like fuzzy \(\mathcal{SHIN}\) (Stoilos et al. 2007), fuzzy \(\mathcal{ALCF}(D)\) (Straccia and Bobillo 2007) and fuzzy \(\mathcal{SROIQ}\) (Bobillo et al. 2007), while implementation efforts of the introduced algorithms resulted in systems like FiRE,Footnote 1 fuzzyDL Footnote 2 and DELOREAN.Footnote 3 The previously mentioned systems are based on fuzzy extensions of worst-case exponential algorithms and although optimizations for them have also been studied recently (Simou et al. 2010; Haarslev et al. 2007), their scalability is still questionable as no evidence of any large-scale experimental evaluation has been presented. As a consequence, like in the case of classical DLs, much interest has emerged about the development of sound and complete inference algorithms for tractable, i.e. of at most polynomial complexity, fragments of fuzzy DLs.

To meet this objective, various approaches based on different classic DL systems have been proposed. Straccia (2006) introduced a fuzzy extension of the DL-Lite (Calvanese et al. 2007b) language, while Pan et al. (2007) presented the very first scalable system based on fuzzy-DL-Lite which is able to answer expressive fuzzy conjunctive queries over millions of data. On the other hand several works have also been conducted around the \(\mathcal{EL}\) family of DLs (Baader et al. 2005). First Vojtáš presented a fuzzy extension of \(\mathcal{EL}\) (Vojtáš 2007) while Stoilos et al. (2008) examined a fuzzy extension of the tractable language \(\mathcal{EL}^{+}\).

The fuzzy \(\mathcal{EL}^{+}\) DL presented in Stoilos et al. (2008) has many interesting properties since it extends concept axioms with degrees of truth, thus allowing for fuzzy concept inclusion. Nevertheless, the proposed language provides a sound and complete algorithm only for the problem of fuzzy concept subsumption, which makes it inappropriate for representing assertional knowledge. In other words, fuzzy \({\mathcal{EL}}^+\) can only be used for classification purposes since reasoning on knowledge bases that share individuals, which is the case in most real life applications, is not supported. Furthermore, it lacks the ability to reason with datatype properties that are widely used in real life applications. By using them one can model statements like “Paul is 180 cm height” or “John smokes more than 15 cigarettes per day”. In Example 1 we illustrate the expressive power of fuzzy \({\mathcal{EL}^{++}}\) using a medical application scenario.

Example 1

In the context of the ASSIST project Footnote 4 an ontology about cervical cancer is constructed (Mitkas et al. 2008; Falelakis et al. 2009). The diagnosis of cervical cancer is based mainly on three types of examination, namely cytology, colposcopy, and histology. Each patient may have one or more of these examinations that have one of the results presented in Table 1. According to the findings of the examinations each woman is characterized by some severity index. Each woman with a severity index 0 is considered healthy while each woman with a severity index 3 has invasive cervical cancer.

$$ \begin{array}[t]{l} \exists hasCytologyResult.ASSIST0CytologyResult\sqsubseteq\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \exists hasSeverityIndex.ASSIST0SeverityIndex \end{array} $$
Table 1 Cytology, colposcopy and histology classification

Unfortunately the crisp \({\mathcal{EL}^{++}}\) language does not allow to express the fact that the findings of a histology examination are more important than those of a cytology examination. This can be achieved if we adopt a fuzzy version of \({\mathcal{EL}^{++}}\) to provide ranking degrees w.r.t. the confidence about the results of each examination—similar approaches have been proposed for multimedia retrieval, information retrieval, and ontology alignment applications (Meghini et al. 2001; Simou et al. 2008; Dasiopoulou et al. 2008; Ferrara et al. 2008). For example the following fuzzy concept inclusions

$$ \begin{array}[t]{l} \langle \exists hasCytologyResult.ASSIST0CytologyResult\sqsubseteq\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \exists hasSeverityIndex.ASSIST0SeverityIndex,0.6\rangle \\ \langle \exists hasHistologyResult.ASSIST0HistologyResult\sqsubseteq\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \exists hasSeverityIndex.ASSIST0SeverityIndex,0.8\rangle \end{array} $$

can be used to express the fact that the histology examination is more important, regarding the diagnosis about the severity index results, than the Cytology examination. Another advantage in using \({\mathcal{EL}^{++}}\), instead of fuzzy \({\mathcal{EL}^{+}}\), to represent our knowledge, is that it also provides for nominals and concrete domains. Nominals allow to relate our terminological knowledge to some assertional knowledge, i.e. information concerning different patients. For example we can assert that patient137 has a cytology examination with an ASSIST0 result:

$$ \begin{array}[t]{l} (\exists hasCytologyResult.ASSIST0CytologyResult)(patient137)\geq1 \end{array} $$

On the other hand concrete domains allow to represent numerical information about patients. For example the assertion

$$ \succcurlyeq_{15}(smokesCigarettesPerDay)(patient137)\geq 1 $$

indicates that patient137 smokes more than 15 cigarettes per day.

Motivated by the above scenario, in this paper we study a fuzzy extension of the \(\mathcal{EL}^{++}\) language. Similar to fuzzy \(\mathcal{EL}^{+}\), fuzzy \(\mathcal{EL}^{++}\) allows for concept inclusion axioms extended with degrees of truth (Straccia 2005b). Additionally though, it allows for nominals, the bottom concept, and fuzzy concrete domains which add extra expressiveness. The main contributions of this paper can be summarized as follows:

  • It presents the syntax and the semantics of fuzzy \(\mathcal{EL}^{++}\) which is more expressive than fuzzy \(\mathcal{EL}^{+}\) due to nominals, the bottom concept, and fuzzy concrete domains.

  • It studies and presents the reduction of the most common inference services of fuzzy DL systems to the fuzzy concept subsumption problem. It is important to note at this point that such kind of reduction has not been studied in the fuzzy DL literature before.

  • It investigates fuzzy p-admissible concrete domains for the fuzzy \({\mathcal{EL}^{++}}\) language—i.e. fuzzy concrete domains that can be integrated to the fuzzy \({\mathcal{EL}^{++}}\) language without affecting its polynomial time complexity.

  • It presents a reasoning algorithm for the problem of fuzzy concept subsumption in fuzzy \(\mathcal{EL}^{++}\) along with a detailed proof of its soundness and completeness.

  • It investigates on the complexity of the algorithm.

The main objective of this paper is not to present a language that is more expressive than previously presented fuzzy DL languages “most of the expressive features appearing in this paper have already been presented in the literature”. It rather studies the interaction between expressiveness and complexity in order to introduce a fuzzy DL language that is expressive enough to be used in real world applications and at the same time retains its polynomial complexity reasoning algorithm.

The rest of the paper is organized as follows. Section 2 briefly introduces the DL \({\mathcal{EL}^{++}}\) and provides some preliminaries about the notion of a fuzzy set and how set theoretic and logical operations are extended to the fuzzy set framework. Section 3 introduces the syntax and semantics of the fuzzy \({\mathcal{EL}^{++}}\) language, presents the most common inference problems, and how these are reduced to the problem of fuzzy concept subsumption. Section 4 provides an investigation on the semantics of fuzzy concrete domains and on how they can be embedded into the fuzzy \({\mathcal{EL}^{++}}\) language. In Section 5 we present in detail the reasoning procedure for deciding fuzzy concept subsumption w.r.t. a fuzzy \({\mathcal{EL}^{++}}\) ontology and we provide the proofs for soundness, completeness, and the complexity of the proposed algorithm. Finally, in Section 6 we review related work on other fuzzy \({\mathcal{EL}}\) languages and fuzzy concrete domains, while Section 7 concludes the paper.

2 Preliminaries

2.1 The \({\mathcal{EL}^{++}}\) language

In the current section we briefly introduce the Description Logic \({\mathcal{EL}^{++}}\) which we will extend in the next sections.

The signature of \({\mathcal{EL}^{++}}\) (Baader et al. 2005) consists of disjoint sets of concept names (unary predicates) N C , role names (binary predicates) N R , and individuals (constants) N I . \({\mathcal{EL}^{++}}\) concepts (or concept descriptions) are defined using the constructors presented in the upper part of Table 2 where a and b denote individuals, r,r 1,...,r k and s denote role names and C, D denote arbitrary concepts.

Table 2 Syntax and semantics of \(\mathcal{EL}^{++}\)

An \({\mathcal{EL}^{++}}\) ontology \(\mathcal{O}\) is a pair \( \langle{\mathcal{A}},\mathcal{C} \rangle\), where \({\mathcal{A}}\) is an assertional box (ABox) and \({\mathcal{C}}\) is a constraint box (CBox). An \({\mathcal{EL}^{++}}\) ABox is a finite set of concept and role assertions, while an \({\mathcal{EL}^{++}}\) CBox is a finite set of general concept inclusions (GCIs) and role inclusions (RIs). The syntaxes of both ABox and CBox are shown in Table 2.

The semantics of an \({\mathcal{EL}^{++}}\) ontology are given via an interpretation \(\mathcal{I}=\langle \Delta^{\mathcal{I}},\cdot^{\mathcal{I}}\rangle \). The domain \(\Delta^{\mathcal{I}}\) is a non-empty set of objects and the interpretation function \(\cdot^{\mathcal{I}}\) maps each concept name A ∈ N C to a subset \(A^{\mathcal{I}}\) of \(\Delta^{\mathcal{I}}\), each role name r ∈ N R to a binary relation \(r^{\mathcal{I}}\) on \(\Delta^{\mathcal{I}}\), and each individual name a ∈ N I to an element \(a^{\mathcal{I}}\in\Delta^{\mathcal{I}}\). An interpretation \(\mathcal{I}\) is a model of an ontology \(\mathcal{O}=\langle {\mathcal{A}},\mathcal{C}\rangle\) if it is a model of \({\mathcal{A}}\) and \({\mathcal{C}}\). \(\mathcal{I}\) is a model of an ABox \({\mathcal{A}}\) (CBox \(\mathcal{C}\)) iff every concept and role assertion in \({\mathcal{A}}\) (GCI and RI in \(\mathcal{C}\)) satisfy the semantics of \({\mathcal{EL}^{++}}\) concept descriptions shown in the third column of Table 2.

\({\mathcal{EL}^{++}}\) with concrete domains

Numerical information is expressed in DLs with the aid of “concrete domains” (Baader et al. 2005). A concrete domain \({\mathcal{D}}\) is a pair \( \langle \Delta^{{\mathcal{D}}},\mathcal{P}^{{\mathcal{D}}} \rangle \) with \(\Delta^{{\mathcal{D}}}\) a set of concrete objects (values) and \(\mathcal{P}^{{\mathcal{D}}}\) a set of predicate names, where each \(p\in\mathcal{P}^{{\mathcal{D}}}\) is associated with an arity n > 0 and an extension \(p^{\mathcal{D}}\subseteq (\Delta^{\mathcal{D}})^{n}\).

Example 2

The concrete domain of rational numbers \(Q= \langle\mathbb{Q},\mathcal{P}^{Q} \rangle\), presented in Baader et al. (2005), has as domain the rational numbers and contains unary predicates such as \(\top_{Q}\), =  q , >  q and binary predicates such as =, +  q (where q ∈ ℚ). Intuitively a conjunction of the form:

$$ (=_{3} ) (x )\wedge (+_{5} ) (x,y ) $$

indicates that x = 3 and that x + 5 = y. It is obvious that such a conjunction is satisfiable and also the following holds:

$$ (=_{3} ) (x )\wedge (+_{5} ) (x,y )\models (=_{8} ) (y ). $$

To provide a link between \({\mathcal{EL}^{++}}\) and some arbitrary concrete domain, Baader et al. introduce a set of feature names N F . The syntax and semantics of \({\mathcal{EL}^{++}}\) concrete domains are illustrated in Table 2, where p denotes a predicate of some concrete domain \({\mathcal{D}}_{j}\), f 1,...,f k are feature names, and an interpretation function \(\cdot^{\mathcal{I}}\) maps each feature name f ∈ N F to a partial function \(f^{\mathcal{I}}\) from \(\Delta^{\mathcal{I}}\) to \(\Delta^{\mathcal{D}}\). For example using the \({\mathcal{EL}^{++}}\) syntax we may assert that “John is 30 years old” as follows: = 30 (hasAge ) (John). The DL \({\mathcal{EL}^{++}}\) may be equipped with a number of concrete domains \({\mathcal{D}}_{1},\ldots,{\mathcal{D}}_{n}\) such that \(\Delta^{{\mathcal{D}}_{i}}\cap\Delta^{{\mathcal{D}}_{j}}=\emptyset\) for i ≠ j.

2.2 Fuzzy sets

In this section we briefly introduce fuzzy set theory and fuzzy logic (Klir and Yuan 1995).

Let Ω be a (possibly infinite) set of elements. Any classical (crisp) subset S of Ω can be defined with the aid of a characteristic function χ S :Ω→{0,1}, such that χ S (x) = 1 if x ∈ S, and χ S (x) = 0 otherwise. On the other hand, a fuzzy subset A of Ω is defined using a (so-called) membership function μ A :Ω→[0,1] denoting that x belongs to A to a certain degree. Similarly, an n-ary fuzzy relation R over the sets Ω 1,...,Ω n is defined by a mapping μ R :Ω 1×...×Ω n →[0,1]. For instance, TallHuman(John) = 0.8 implies that John belongs to the (fuzzy) set TallHumans to a degree of 0.8, i.e. that he is quite tall. Similarly, hasFriend (John,Mary ) = 0.9 states that Mary is a close friend of John.

2.2.1 Fuzzy set theoretic operations

The classical set theoretical and logical operations (complement, union, and so on) are extended in fuzzy set theory by using special mathematical functions (Klir and Yuan 1995). More precisely fuzzy complement, fuzzy intersection, fuzzy union, and fuzzy implication correspond (respectively) to an unary operation of the form c: [0,1 ]→[0,1], a binary operation of the form i: [0,1 ]×[0,1 ]→[0,1] (called t-norm), a binary operation of the form u: [0,1 ]×[0,1 ]→[0,1] (called t-conorm), and a binary operation \(\mathcal{J}: [0,1 ]\times [0,1 ]\rightarrow [0,1]\).

In order to produce meaningful results, these functions must satisfy certain mathematical properties. For example, fuzzy complement must satisfy the following axiomatic requirements c (0 ) = 1, c (1 ) = 0, and c must be a monotonically decreasing function. The reader is referred to Klir and Yuan (1995) for a comprehensive introduction to fuzzy set theoretic operations. In Table 3 some popular families of fuzzy operators are presented.

Table 3 Popular families of fuzzy operators

Finally, given two binary fuzzy relations R 1:Ω 1×Ω 2→[0,1 ] and R 2: Ω 2×Ω 3→[0,1 ], their sup-t composition is defined as follows:

$$ \big[R_{1}\circ^{i}R_{2} \big] (a,c )=\sup_{b\in\Omega_{2}} \big\{ i (R_{1} (a,b ),R_{2} (b,c ) ) \big\} $$

where i is a t-norm. Due to the associativity property of sup-t composition, i.e. \( (R_{1}\circ^{i}R_{2})\circ^{i}R_{3}=R_{1}\circ^{i} (R_{2}\circ^{i}R_{3} )\), we can extend the operation to any number of fuzzy relations, i.e. \( [R_{1}\circ^{i}R_{2}\circ^{i}\ldots\circ^{i}R_{n} ] (a,b )\).

3 The fuzzy \(\boldsymbol{\mathcal{EL}^{++}}\) language

3.1 Syntax and semantics

In this section we present the syntax and semantics of a fuzzy extension of the \(\mathcal{EL}^{++}\) language. Since the semantics we propose are based on the operators of the Gödel logic, we may as well call the proposed language \(\textnormal{f}_{G}\)-\(\mathcal{EL}^{++}\). Our extension follows in principle the syntax and semantics of fuzzy DLs previously presented in Straccia (2001) and Stoilos et al. (2007).

Like classical (crisp) \({\mathcal{EL}^{++}}\), the language of \(\textnormal{f}_{G}\)-\(\mathcal{EL}^{++}\) consists of concept names N C , role names N R and individuals N I . As usual individuals represent the objects of our universe, concept names represent fuzzy sets of individuals, and role names represent binary fuzzy relations between individuals of our universe.

The abstract syntax of concepts and roles is the same as their \({\mathcal{EL}^{++}}\) counterparts; however their semantics is based on fuzzy interpretations. A fuzzy interpretation \(\mathcal{I}=\langle \Delta^{\mathcal{I}},\cdot^{\mathcal{I}}\rangle \) consists of a domain \(\Delta^{\mathcal{I}}\) which is a non-empty set of objects and a fuzzy interpretation function \(\cdot^{\mathcal{I}}\) which maps: (i) each a ∈ N I to an element \(a^{\mathcal{I}}\in\Delta^{\mathcal{I}}\), (ii) each A ∈ N C to a membership function \(A^{\mathcal{I}}:\Delta^{\mathcal{I}}\rightarrow[0,1]\), (iii) each r ∈ N R to a membership function \(r^{\mathcal{I}}:\Delta^{\mathcal{I}}\times\Delta^{\mathcal{I}}\rightarrow[0,1]\). For example, for some interpretation \(\mathcal{I}\), if \(x\in\Delta^{\mathcal{I}}\) then \(A^{\mathcal{I}}(x)\) gives the degree that the object x belongs to the fuzzy concept A, e.g. \(A^{\mathcal{I}}(x)=0.8\).

Fuzzy \(\mathcal{EL}^{++}\) allows to inductively define complex concept descriptions using the same constructors as the classic \({\mathcal{EL}^{++}}\) language. As with classical \({\mathcal{EL}^{++}}\) the semantics of concept descriptions are inductively defined. They are presented in the upper part of Table 4 for each \(x\in\Delta^{\mathcal{I}}\). They are based on the Gödel fuzzy theoretic operation functions defined in Section 2.2. For example, since the min function is used for conjunction, we have that \((C\sqcap D)^{\mathcal{I}}(x)=\min(C^{\mathcal{I}}(x),D^{\mathcal{I}}(x))\). We chose to interpret nominals in a standard way, i.e. { a} is interpreted as the singleton crisp set that contains exactly the object \(a^\mathcal{I}\), thus \(\{a\}^\mathcal{I}(x)=1\) if \(x=a^\mathcal{I}\), 0 otherwise. For different choices the reader is referred to Bobillo et al. (2006).

Table 4 Syntax and semantics of fuzzy \(\mathcal{EL}^{++}\)

The terminological knowledge of a fuzzy \({\mathcal{EL}^{++}}\) ontology is expressed by a set of fuzzy general concept inclusions (fuzzy GCIs) and role inclusion axioms (RIs), called a constraint box (CBox) \({\mathcal{C}}\) (Baader et al. 2005). A fuzzy GCI is an axiom of the form \(\langle C\sqsubseteq D,d\rangle \), where d ∈ (0,1] and C,D are concept descriptions (see also Straccia 2005b). A role inclusion axiom is an axiom of the form \(r_{1}\circ\ldots\circ r_{k}\sqsubseteq s\), where r 1,...,r k ,s ∈ N R .

The semantics of fuzzy GCIs and RIs are given in the middle part of Table 4 where \(x,y\in\Delta^{\mathcal{I}}\) and the operator ∘  min corresponds to the sup- min composition described in Section 2.2. An interpretation \(\mathcal{I}\) is a model of a CBox \({\mathcal{C}}\) iff, for each GCI and RI in \({\mathcal{C}}\), the conditions described in the middle part of Table 4 are satisfied. For example, let the CBox \(\mathcal{C}=\{ \langle A\sqcap B\sqsubseteq D,0.7\rangle ,r_{1}\circ r_{2}\sqsubseteq s\} \), and let the interpretation \(\mathcal{I}\) such that \(\Delta^{\mathcal{I}}=\{ x,y,z\} \), \(A^{\mathcal{I}}(x)=0.3\), \(B^{\mathcal{I}}(x)=0.2\), \(D^{\mathcal{I}}(x)=0.5\), \(r_{1}^{\mathcal{I}}(x,y)=0.4\), \(r_{2}^{\mathcal{I}}(y,z)=0.3\) and \(s^{\mathcal{I}}(x,z)=0.3\). It can be easily verified that \(\mathcal{I}\) satisfies our CBox.

Fuzzy \(\mathcal{EL}^{++}\) also allows for an assertional box (ABox) \(\mathcal{A}\), i.e. a finite set of concept and role assertions that are used to describe a snapshot of our world. The syntax and semantics of concept and role assertions are described in the bottom part of Table 4, where a,b ∈ N I , C ∈ N C , r ∈ N R and d ∈ [0,1]. Using such expressive means we can say, for example, that Tall(John) ≥ 0.8 and friend(John,Mairy) ≥ 0.5, while an interpretation \(\mathcal{I}\) that satisfies both assertions is the following: \(\Delta^{\mathcal{I}}=\{ x,y\}\), \(J{\kern-1pt}ohn^{\mathcal{I}}=x\), \(Mairy^{\mathcal{I}}=y\), \(Tall^{\mathcal{I}}(x)=0.9\), \(friend^{\mathcal{I}}(x,y)=0.7\).

We point out that the language studied in Stoilos et al. (2008) is not able to capture such assertional knowledge due to the absence of nominals.

Finally, we say that an interpretation \(\mathcal{I}\) is a model of a fuzzy ontology \(\mathcal{O}=\langle \mathcal{A},\mathcal{C}\rangle \) iff it is, at the same time, a model of \(\mathcal{A}\) and \(\mathcal{C}\).

Example 3

Providing a detailed version of the ontology presented in Example 1 we have that:Footnote 5

$$ \begin{array}{ccl} C & = & \{ \vphantom{x^{2}}\langle \exists hasCytologyResult.ASSIST0CytologyResult\sqsubseteq\\ & & \hfill\exists hasSeverityIndex.ASSIST0SeverityIndex,0.6\rangle ,\\ \par & & \langle \exists hasColposcopyResult.ASSIST0ColposcopyResult\sqsubseteq\\ & & \hfill\exists hasSeverityIndex.ASSIST0SeverityIndex,0.7\rangle ,\\ & & \langle \exists hasHistologyResult.ASSIST0HistologyResult\sqsubseteq\\ & & \hfill\exists hasSeverityIndex.ASSIST0SeverityIndex,0.8\rangle \ldots\vphantom{x^{2}}\} \\ {\mathcal{A}} & = & \{ \begin{array}[t]{l} (\exists hasCytologyResult.ASSIST0CytologyResult)(patient137)\geq1\end{array},\\ & & \ \begin{array}[t]{l} (\exists hasHistologyResult.ASSIST0HistologyResult)(patient138)\geq1\end{array}\} \end{array} $$

The first fuzzy GCI implies that if a patient has a cytology result of type ASSIST0 then this patient also has an ASSIST0 severity index with a degree of at least 0.6 (i.e. this patient participates with a degree of at least 0.6 in concept \(\exists hasSeverityIndex.ASSIST0SeverityIndex\)). In a similar manner, the other two GCIs state that the colposcopy and histology examination results imply degrees 0.7 and 0.8 respectively. Hence patient137 has an ASSIST0 severity index with a degree of at least 0.6 because of her cytology result, while patient138 belongs to the same concept with a degree of at least 0.8 because of her histology result.

In the specific scenario one can say that the degrees can be subsequently interpreted as degrees of confidence by the medical personnel. More specifically the concept

$$ \exists hasSeverityIndex.ASSIST0SeverityIndex $$

provides a ranking between the individuals participating in it. The higher the degree of participation an individual has on this concept, the higher is the confidence that this individual is healthy. Therefore since our ontology implies that

$$\begin{array}{rll} \mathcal{O} &\models& (\exists hasSeverityIndex.ASSIST0SeverityIndex)(patient137)\geq 0.6\\ \mathcal{O} &\models& (\exists hasSeverityIndex.ASSIST0SeverityIndex)(patient138)\geq 0.8 \end{array}$$

the medical personnel has a 0.6 confidence degree that patient137 is healthy and a 0.8 confidence degree that patient138 is healthy.

Other applications that adopt fuzzy DLs in order to provide ranking degrees have been proposed for multimedia, information retrieval, and ontology alignment applications (Meghini et al. 2001; Simou et al. 2008; Dasiopoulou et al. 2008; Ferrara et al. 2008).

The presence of nominals makes fuzzy \({\mathcal{EL}^{++}}\) much more expressive than fuzzy \({\mathcal{EL}^{+}}\) since it allows the representation of assertional knowledge for a large ontology containing patients or any other kind of information. Furthermore nominals along with the bottom concept allow to express the unique name assumption, i.e. that two individuals cannot correspond to the same object in \(\Delta^{\mathcal{I}}\), as follows: \({\langle \{ a\} \sqcap \{ b\}\sqsubseteq{\bot},1\rangle}\). Finally, the bottom concept also allows to express disjointness between complex concept descriptions as follows: \({\langle C\sqcap D\sqsubseteq{\bot},1\rangle}\).

3.2 Fuzzy DL inference problems

In this section we present the most common inference problems addressed by fuzzy DLs and prove how each one can be reduced to the fuzzy concept subsumption problem.

Let \(\mathcal{C}\) be a fuzzy \({\mathcal{EL}^{++}}\) CBox, \({\mathcal{A}}\) a fuzzy \({\mathcal{EL}^{++}}\) ABox, and \(\mathcal{O}\) a fuzzy \({\mathcal{EL}^{++}}\) ontology. The most common inference problems addressed by fuzzy DL systems are the following:

Concept satisfiability :

A concept C is satisfiable w.r.t. \(\mathcal{C}\), iff there exists a model \(\mathcal{I}\) of \(\mathcal{C}\) such that \(C^{\mathcal{I}}(x)>0\) for some \(x\in\Delta^{\mathcal{I}}\).

Fuzzy concept subsumption :

A concept C is fuzzily subsumed by a concept D, to a degree of d ∈ (0,1], w.r.t. \(\mathcal{C}\), written \(\langle C\sqsubseteq_{\mathcal{C}}D,d\rangle \), iff for every model \(\mathcal{I}\) of \(\mathcal{C}\) and \(x\in\Delta^{\mathcal{I}}\) it holds that \(\min(C^{\mathcal{I}}(x),d)\leq D^{\mathcal{I}}(x)\). We often abuse notation and write \(\langle C \sqsubseteq_{\mathcal{O}}D,d\rangle\) if the ABox of the ontology is empty. We also write \(\mathcal{O}\models{\langle C\sqsubseteq D,d\rangle} \) as an equivalent form of \(\langle C\sqsubseteq_{\mathcal{O}}D,d\rangle \).

Ontology consistency :

We say that \(\mathcal{O}=\langle {\mathcal{A}},\mathcal{C}\rangle \) is consistent iff it has at least one model.

Instance problem :

An individual a ∈ N I is an instance of a concept C with a degree greater or equal than d, w.r.t. an ontology \(\mathcal{O}\), iff in each model \(\mathcal{I}\) of \(\mathcal{O}\) it holds that \(C^{\mathcal{I}}(a^\mathcal{I})\geq d\).

Greatest lower bound problem :

The greatest lower bound (GLB) problem for a crisp concept assertion C(a) is to find the largest degree d such that \(C^{\mathcal{I}}(a^\mathcal{I})\geq d\) holds for every model \(\mathcal{I}\) of \({\mathcal{O}}\).

As the following Lemma suggests all inference problems can be reduced in linear time to the fuzzy concept subsumption problem:

Lemma 1

Let \({\mathcal{O}}=\langle {\mathcal{A}},\mathcal{C}\rangle\) be a fuzzy \({\mathcal{EL}^{++}}\) ontology, with \({\mathcal{A}}\) the fuzzy \({\mathcal{EL}^{++}}\) ABox and \(\mathcal{C}\) the fuzzy CBox, and let C a fuzzy \({\mathcal{EL}^{++}}\) concept. All inference problems of fuzzy DLs can be reduced to fuzzy concept subsumption as follows:

  • Concept satisfiability: concept C is satisfiable w.r.t. \(\mathcal{C}\) iff \(\langle C\not\sqsubseteq_{\mathcal{C}}\bot,1\rangle \).

  • Instance problem: in order to solve the instance problem our algorithm replaces each assertion in \({\mathcal{A}}\) with a fuzzy GCI between a nominal and a concept. Henceforth, instance checking can be reduced to fuzzy concept subsumption between a nominal and a concept. Let the set \(\mathcal{C_{A}}\) defined as follows:

    $$\begin{array}{rll} \mathcal{C_{A}} & := & \{ \langle \{ a\} \sqsubseteq C,d\rangle \mid C(a)\geq d\in\mathcal{A}\} \\ && \bigcup\, \{ \langle \{ a\} \sqsubseteq\exists r.\{ b\} ,d\rangle \mid r(a,b)\geq d\in\mathcal{A}\} . \end{array}$$

    An individual c is an instance of C , to a degree at least d , w.r.t. \({\mathcal{O}}\) , iff \(\langle \{ c\} \sqsubseteq_{\mathcal{C}\cup\mathcal{C}_{{\mathcal{A}}}}C,d^{\prime}\rangle \) for some d′ ≥ d.

    We must point out that our algorithm when calculating concept subsumption between a nominal {c} and a concept D , it calculates the greatest degree d such that \({\mathcal{O}}\models{\langle \{c\}\sqsubseteq D,d\rangle}\) . Therefore simultaneously solves the GLB problem.

  • Ontology consistency: \({\mathcal{O}}\) is consistent iff \(\langle \top\not\sqsubseteq_{\mathcal{C}\cup\mathcal{C}_{{\mathcal{A}}}}\bot,1\rangle\) , where \(\mathcal{C}_{{\mathcal{A}}}\) is as before.

Consequently, like in the case of crisp \(\mathcal{EL}^{++}\), we will only focus in solving the fuzzy concept subsumption problem.

4 Extending fuzzy \({\mathcal{EL}^{++}}\) with fuzzy concrete domains

Fuzzy concrete domains allow us to represent and reason about “fuzzy concrete qualities”. The need for fuzzy arithmetic and subsequently fuzzy concrete domains emerges from a variety of applications (mechanical, geotechnical and biomedical engineering). For an extensive presentation of the theory of fuzzy arithmetic and an extensive view on its applications the reader may refer to Hanss (2005).

In the rest of this section (i) we revise the syntax and semantics of fuzzy concrete domains, initially introduced in Straccia (2005a), (ii) we introduce the notion of conjunction, disjunction, solution, and implication on a fuzzy concrete domain, (iii) we adapt the syntax and semantics of the concrete domain constructor introduced for the crisp \({\mathcal{EL}^{++}}\) language (Baader et al. 2005) for the fuzzy case, (iv) we introduce a set of restrictions on the expressiveness of fuzzy \({\mathcal{EL}^{++}}\) fuzzy concrete domains in order to ensure the language’s polynomial complexity.

4.1 Fuzzy concrete domains

Straccia (2005a) first studied fuzzy concrete domains in the fuzzy DL \(\mathcal{ALC}({\mathcal{D}})\). According to Straccia, a fuzzy concrete domain \(\mathcal{D}\) is a pair \(\langle \Delta^{\mathcal{D}},\Phi^{\mathcal{D}}\rangle \) where \(\Delta^{\mathcal{D}}\) is a set and \(\Phi^{\mathcal{D}}\) is a set of fuzzy predicate names. Each fuzzy predicate \(p\in\Phi^{\mathcal{D}}\) with a predefined arity n has an interpretation \(p^{\mathcal{D}}:(\Delta^{\mathcal{D}})^{n}\rightarrow[0,1]\), which is an n-ary fuzzy relation over \(\Delta^{\mathcal{D}}\).

For a concrete domain \(\mathcal{D}\) a conjunction of m formulae with degrees has the following form:

$$\label{eq:formulae_conjuntion} \bigwedge_{i=1}^{m}p_{i}(\overline{X}_{i})\bowtie_{i}d_{i} $$
(1)

where \(p_{i}\in\Phi^{\mathcal{D}}\) is a concrete domain predicate, \(\overline{X}_{i}\) is a vector of variable names with the same arity as p i , ⋈  i  ∈ { ≤ , < , = , > , ≥ } , d i  ∈ (0,1], and 1 ≤ i ≤ m.

We say that (1) is satisfiable, iff there exists a mapping δ from variable names to the elements of our concrete domain \(\delta:\left(\bigcup_{i=1}^{m}\overline{X}_{i}\right)\rightarrow\Delta^{\mathcal{D}}\), such that \(\mbox{\ensuremath{p_{i}^{\mathcal{D}_{j}}(\delta(\overline{X}_{i}))\bowtie_{i}d_{i}}}\) holdsFootnote 6 for every formula in the conjunction. We call the mapping δ a solution for the conjunction, denoted as \(\delta\models\bigwedge_{i=1}^{m}p_{i}(\overline{X}_{i})\bowtie_{i}d_{i}.\) In any different case we say that the conjunction is unsatisfiable. A conjunction of fuzzy concrete domain predicates implies a disjunction of fuzzy concrete domain predicates i.e.

$$ \bigwedge_{i=1}^{m}p_{i}(\overline{X}_{i})\bowtie_{i}d_{i} \models\bigvee_{i=m+1}^{n}p_{i}(\overline{X}_{i})\bowtie_{i}d_{i} $$

iff for every solution δ of the conjunction we have that \(\mbox{\ensuremath{\delta\models p_{l}((\overline{X}_{l}))\bowtie_{l}d_{l}}}\) for some m + 1 ≤ l ≤ n.

Example 4

The concrete domain \(\mathcal{F}^{\prime\prime}=\langle \mathbb{Q},\Phi^{\mathcal{F}^{\prime\prime}}\rangle \) defined on the set of rational numbers contains the unary predicate \(\succcurlyeq_{q}\) and the binary predicate \( { \succcurlyeq _{ + q}} \) for every q ∈ ℚ. The two predicates can be defined based on some monotonic, continuous, increasing function such as the following:

$$ \begin{array}{c} f_q(x)= \begin{cases} 0 \quad ,\ x<q-10\\ \dfrac{x-q+10}{10} & ,\ q-10\leq x\leq q\\ 1 & ,\ q<x \end{cases} \end{array}. $$

Based on the previous membership functions the two predicates are interpreted as follows: \( \succcurlyeq _q^\mathcal{D}(x) = {f_q}(x) \) and \( \succcurlyeq _{ + q}^\mathcal{D}(x,y) = {f_q}(x - y) \)

The formula \( { \succcurlyeq _{ + q}}\left( x \right) \) is used to indicate that the variable x is fuzzily superior to the value of q, while the formula \( { \succcurlyeq _{ + q}}\left( {x,y} \right) \) is used to indicate that the variable x is fuzzily superior to the addition of the variable y and the value of q. The membership function f 20, illustrated in Fig. 1, gives a value of 0 to every x ∈ ℚ lesser than 10, a value of 1 to every x ∈ ℚ greater than 20, and a value in-between to every other x ∈ ℚ. Therefore an assertion of the form \(\succcurlyeq_{20}(x)\geq 1\) (respectively \( { \succcurlyeq _{ + 20}}\left( {x,y} \right) \)) indicates that δ(x) ≥ 20 (respectively δ(x) ≥ 20 + δ(y)) for every solution δ of the previous assertion.

Fig. 1
figure 1

The \(\succcurlyeq_{15}\) and the \(\succcurlyeq_{20}\) membership functionsFigures 1–3 -EPS vs PDF differs in background. Please check.

4.2 Fuzzy \({\mathcal{EL}^{++}}\) with concrete domains

Knowledge related to some fuzzy concrete domain is embodied into a fuzzy \({\mathcal{EL}}^{++}\) ontology via the fuzzy concrete domain constructor. As it can be seen in Table 5, the fuzzy concrete domain constructor we propose has the same syntax as its crisp counterpart presented in Baader et al. (2005). As a result, in order to provide a link between the DL and some fuzzy concrete domain, a set N F of feature names is introduced. The concept description p(f 1,...,f k ) presented in Table 5 is constructed by a predicate of some concrete domain \({\mathcal{D}}\) and the feature names f 1,...,f k . Intuitively the predicate p, along with some degree d ∈ [0,1] dictates the relation between the features f 1,...,f n .

Table 5 Syntax and semantics of the concrete domain constructor for fuzzy \(\mathcal{EL}^{++}\)

Example 5

Suppose that we have the predicate \(\succcurlyeq_{20}\) defined in Example 4 and the feature name \(\textnormal{smokesCigarettesPerDay}\). A concept inclusion of the form

$$ \langle{\succcurlyeq_{20}(\textnormal{smokesCigarettesPerDay})}\sqsubseteq{\textnormal{HeavySmoker}},1\rangle $$

indicates that someone that smokes more than 20 cigarettes per day is a heavy smoker. Likewise a concept assertion of the form

$$ \succcurlyeq_{15}(\textnormal{smokesCigarettesPerDay})(J{\kern-1pt}ohn)\geq1 $$

states that John smokes more than 15 cigarettes per day.

As usual, the DL fuzzy \(\mathcal{EL}^{++}\) may be equipped with a number of concrete domains \(\mathcal{D}_{1},\ldots,\mathcal{D}_{n}\) such that \(\Delta^{\mathcal{D}_{i}}\cap\Delta^{\mathcal{D}_{j}}=\emptyset\) for 1 ≤ i < j ≤ n. If we want to stress out the use of particular concrete domains \(\mathcal{D}_{1},\ldots,\mathcal{D}_{n}\), we write fuzzy \(\mathcal{EL}^{++}(\mathcal{D}_{1},\ldots,\mathcal{D}_{n})\) instead of fuzzy \(\mathcal{EL}^{++}\).

In order to handle feature names, an interpretation \(\mathcal{I}\) is extended by mapping each feature name f ∈ N F to a partial function \(f^{\mathcal{I}}:\Delta^{\mathcal{I}}\rightarrow\bigcup_{1\leq i\leq n}\Delta^{{\mathcal{D}}_{i}}.\) The extension of \(\cdot^{\mathcal{I}}\) in order to interpret the concrete domain concept description is presented in Table 5.

Example 6

A possible interpretation for Example 5 is the following: \(\Delta^{\mathcal{I}} =\{ J{\kern-1pt}ohn^{\mathcal{I}}\}\), \(\textnormal{smokesCigarettesPerDay}^{\mathcal{I}}(J{\kern-1pt}ohn^{\mathcal{I}}) =15\), \(\textnormal{HeavySmoker}^{\mathcal{I}}(V^{\mathcal{I}}) =0.5\). The previous interpretation is a model since:

$$\begin{array}{rll} (\succcurlyeq_{15}(\textnormal{smokesCigarettesPerDay}))^{\mathcal{I}}(J{\kern-1pt}ohn^{\mathcal{I}}) & = & 1\\ (\succcurlyeq_{20}(\textnormal{smokesCigarettesPerDay}))^{\mathcal{I}}(J{\kern-1pt}ohn^{\mathcal{I}}) & = & 0.5 \end{array}$$

and therefore the ABox and the CBox are satisfied.

Unfortunately, unrestricted use of fuzzy concrete domains may lead to some non polynomial or even undecidable language. For example, it is obvious that the language fuzzy \({\mathcal{EL}^{++}}({\mathcal{D}})\), where \({\mathcal{D}}\) is some language of exponential complexity, is a language of at least exponential complexity. Even worse, as shown in Lutz (2003), combining decidable description logics and decidable concrete domains may even lead to undecidable languages.

In order to ensure that our language is of polynomial complexity, we must impose a set of restrictions on the expressiveness of the concrete domain. These restrictions, that are an adaptation for the fuzzy case of those presented in Baader et al. (2005), result in two different categories of fuzzy p-admissible concrete domains: loose fuzzy p-admissible concrete domains and strict fuzzy p-admissible concrete domains.

Loose fuzzy p-admissible concrete domains are more expressive than strict. Due to their expressiveness, their utilization must be limited in order to ensure a sound, complete, and polynomial algorithm. Therefore, a concept p(f 1,...,f k ) is only allowed in concept inclusions of the form:

$$\begin{array}{rll} & \langle \{ a\} \sqsubseteq p(f_{1},\ldots,f_{k}),d\rangle \label{eq:nominal-loose fuzzy p admissible concept}\end{array}$$
(2)
$$\begin{array}{rll} & \langle p(f_{1},\ldots,f_{k})\sqsubseteq C,d\rangle \label{eq:loose fuzzy p admissible concept - Concept description} \end{array}$$
(3)

where { a} is some nominal in our ontology and C can be some arbitrary concept description as long as neither it, nor some of its subconcepts, is a concrete domain expression. On the other hand, strict fuzzy p-admissible concrete domain concepts may be used in any part of a concept inclusion since their limited expressiveness ensures that the fuzzy \({\mathcal{EL}^{++}}\) language will remain sound, complete, and terminating.

Definition 1

(Loose Fuzzy p-admissible Concrete Domain) A concrete domain \(\mathcal{D}\) is loosely fuzzy p -admissible if it has the following properties:

  1. 1.

    Satisfiability and implication in \(\mathcal{D}\) are decidable in polynomial time.

  2. 2.

    \(\mathcal{D}\) is convex, i.e. if a conjunction of atoms of the form \(p_{i}(\overline{X}_{i})\geq d_{i}\) implies a disjunction of such atoms, then it also implies one of its disjuncts.

The admissibility restrictions imposed on loose fuzzy p-admissible concrete domains are an immediate extension of the restrictions presented in Baader et al. (2005). The restriction of a polynomial time algorithm for deciding satisfiability and implication in \({\mathcal{D}}\) is obviously needed in order to ensure that the resulting language will be of polynomial complexity. The convexity restriction ensures that fuzzy concrete domains won’t introduce non-determinism to our language that ultimately would lead to a language of non polynomial complexity. The concrete domain presented in Example 4 without the presence of \(\succcurlyeq\)  +  q predicates is loosely fuzzy p-admissible as proved in Proposition 1 in the Appendix.

Example 7

In this example we will present a fuzzy concrete domain that does not satisfy Condition 2 of Definition 1 and we will show how it can introduce non determinism to our language. Suppose that we have the concrete domain \(\Theta=\langle \mathbb{Q},\Phi^\Theta\rangle\) where ℚ corresponds to the set of rational numbers and ΦΘ contains only the unary predicates ≃ 0.5, ≃ 1 , ≃ 1.5 whose membership functions are depicted on Fig. 2.

Fig. 2
figure 2

The ≃ 0.5, ≃ 1, and ≃ 1.5 membership functions

Suppose now that we have a formula with degree of the form ≃ 1(x) ≥ 0.5. The previous inequality along with the membership function of the ≃ 1 predicate imply that every solution δ of the previous conjunction maps the variable name x to some element in [0.5,1.5]. With similar arguments we also have that each solution δ′ of ≃ 0.5(x) ≥ 0.5 maps x to some element in [0,1], while each solution δ′′ of ≃ 1.5(x) ≥ 0.5 maps x to some element in [1,2]. Therefore it can be verified that

$$ \simeq_1(x)\geq 0.5 \models \simeq_{0.5}(x)\geq 0.5\bigvee \simeq_{1.5}(x)\geq 0.5 $$

applies, while ≃ 1(x) ≥ 0.5 ⊧ ≃ 0.5(x) ≥ 0.5 and ≃ 1(x) ≥ 0.5 ⊧ ≃ 1.5(x) ≥ 0.5 don’t apply. Therefore the presented concrete domain is non-convex.

Suppose now that we have an \({\mathcal{EL}^{++}}\) ontology of the form

$$ {\mathcal{O}}=\left\{ \langle\{a\}\sqsubseteq\simeq_{1}(f),{0.5}\rangle, \langle\simeq_{0.5}(f)\sqsubseteq{C},{1}\rangle, \langle{\simeq_{1.5}(f)}\sqsubseteq{D},{1}\rangle, \right\} $$

where f is some feature name. According to the previous findings we can conclude that for every model \(\mathcal{I}\) of \({\mathcal{O}}\) either \(\mathcal{I}\models \langle{\{a\}}\sqsubseteq{C},{0.5}\rangle\) holds or \(\mathcal{I}\models \langle{\{a\}}\sqsubseteq{D},{0.5}\rangle\) holds, while neither \({\mathcal{O}}\models \langle{\{a\}}\sqsubseteq{C},{0.5}\rangle\) nor \({\mathcal{O}}\models \langle{\{a\}}\sqsubseteq{D},{0.5}\rangle\) hold. Therefore the corresponding language is non-deterministic and consequently of non-polynomial complexity.

We proceed to define strictly fuzzy p-admissible concrete domains that are a more restrictive subset of loosely fuzzy p-admissible concrete domains.

Definition 2

(Strict Fuzzy p-admissible Concrete Domain) A concrete domain \(\mathcal{D}\) is strictly fuzzy p -admissible, if it is loosely fuzzy p-admissible and has the following properties for some conjunction \({\textnormal{conj}}:=\bigwedge_{i=1}^{m}p_{i}(\overline{X}_{i}) \geq d_{i}\):

  1. 1.

    If the implications \({\textnormal{conj}}\models p(\overline{X})\geq d \), \({\textnormal{conj}} \not\models p(\overline{X})> d\) apply, then the implications \({\textnormal{conj}}^{\prime}\models p(\overline{X}) \geq \min(e,d)\), \({\textnormal{conj}}^{\prime}\not\models p(\overline{X}) > \min(e,d)\) will also apply for any degree e ∈ (0,1] and the conjunction

    $$ {\textnormal{conj}}^{\prime}:=\bigwedge_{i=1}^{m}p_{i}(\overline{X}_{i}) \geq \min(d_{i},e). $$
  2. 2.

    If the conjunction \({\textnormal{conj}}\) is unsatisfiable, then the conjunction \({\textnormal{conj}}^{\prime}\) is also unsatisfiable for every e ∈ (0,1].

  3. 3.

    If the implications \({\textnormal{conj}}\models p(\overline{X})\geq d\), \({\textnormal{conj}}\not\models p(\overline{X})>d\) apply, then d appears in the conjunction \({\textnormal{conj}}\).

  4. 4.

    If the implications \({\textnormal{conj}}\models p(\overline{X})\geq d\) and \({\textnormal{conj}} \not\models p(\overline{X})> d\) apply, then it also applies that \({\textnormal{conj}}^{\prime\prime}\models p(\overline{X})\geq d\), \({\textnormal{conj}}^{\prime\prime}\not\models p(\overline{X})> d\) for the conjunction:

    $$ {\textnormal{conj}}^{\prime\prime}:=\bigwedge_{p^{\prime}(\overline{X}^{\prime})\geq d^{\prime}\textnormal{ appears in }{\textnormal{conj}}\textnormal{ and } d^{\prime}\geq d} p^{\prime}(\overline{X^{\prime}})\geq d^{\prime}. $$

The previously mentioned admissibility restrictions were imposed by the proof process—they are used throughout the soundness, completeness, and complexity proofs—and thus it is difficult to give an intuitive explanation of each one of them. Nevertheless, the main intuition underlying these restrictions is that they prevent the production of new degrees. The production of new degrees along with the presence of fuzzy p-admissible concrete domain concepts in GCIs could lead our algorithm even to non termination. In Example 11 in the Appendix we show how the absence of these restrictions may alter the performance of our algorithm.

Having in mind the latest work of Baader and Peñaloza (2011) which proves that even inexpressive fuzzy DLs become undecidable with the addition of arbitrary t-norms in GCIs, it is interesting to investigate if the same applies with the presence of arbitrary concrete domains (even of polynomial complexity) since they both may introduce an arbitrary number of new degrees to an ontology \({\mathcal{O}}\).

We give an example of a fuzzy concrete domain that confines to the previously mentioned restrictions:

Example 8

We can formulate a fuzzy concrete domain \(\mathcal{F}^{\prime}=\langle S\times[0,1],\Phi^{\mathcal{F}^{\prime}}\rangle \) where S is an arbitrary set of elements and \(\Phi^{\mathcal{F}^{\prime}}\) contains a predicate =  q for every q ∈ S. Therefore the interpretation of =  q (i.e. \(=_q^{\mathcal{D}}\)) is a mapping \(=_q^{\mathcal{D}}:S\times[0,1]\rightarrow [0,1]\) defined as follows for every element α ∈ S×[0,1]:

$$ =_q^{\mathcal{D}}(\alpha)= \begin{cases} d \quad \textnormal{ if } \alpha=\langle q, d\rangle \\ 0 \quad \textnormal{ otherwise}\\ \end{cases} $$

For example the conjunction

$$ =_5(x)\geq 0.3 \wedge =_5(x)\geq 0.5 \wedge =_8(y)\geq 0.6 . $$

has a solution δ such that \(\delta(x)=\langle 5,0.5\rangle\), \(\delta(y)=\langle 8,0.6\rangle\).

5 Reasoning in the fuzzy \(\mathcal{EL}^{++}\) language

Since all reasoning problems of fuzzy \(\mathcal{EL}^{++}\) can be reduced to fuzzy concept subsumption, it suffices to develop an algorithm for this problem only. The proposed algorithm, similar to that presented in Baader et al. (2005), is performed in two steps. Initially an ontology \({\mathcal{O}}\) is normalized and then an algorithm for deciding subsumption is applied over the normalized ontology.

5.1 Normal form of a fuzzy \(\mathcal{EL}^{++}\) ontology

Given an ontology \({\mathcal{O}}\), the set of basic concept descriptions of \({\mathcal{O}}\), denoted as \(BC_{{\mathcal{O}}}\), is the smallest set of concept descriptions that contains the top concept \(\top\), all concept names and nominals in \({\mathcal{O}}\), and all subconcepts of the form p(f 1,...,f k ) appearing in \({\mathcal{O}}\). Similarly, \(R_{{\mathcal{O}}}\) denotes the set of all role names in \({\mathcal{O}}\), and the set \( [0,1]_{{\mathcal{O}}}\) is the subset of [0,1 ] containing only the degrees appearing in \({\mathcal{O}}\), i.e. \( [0,1 ]_{{\mathcal{O}}}=\{ d\mid d\in [0,1 ]\textnormal{ and }\langle C\sqsubseteq D,d\rangle \in{\mathcal{O}}\}\). Since our algorithm focuses on the fuzzy concept subsumption problem and therefore works on an empty ABox according to Lemma 1, we won’t consider the ABox \({\mathcal{A}}\) for degrees.

A fuzzy \(\mathcal{EL}^{++}\) ontology \({\mathcal{O}}\) is in normal form, iff all fuzzy GCIs in \({\mathcal{O}}\) are in one of the following forms (where \(C_{1},C_{2}\in BC_{{\mathcal{O}}}\), \(D\in BC_{{\mathcal{O}}}\cup\{ \bot\} \) and d ∈ (0,1]):

$$ \langle C_{1}\sqsubseteq D,d\rangle \ \ \ \ \ \langle C_{1}\sqsubseteq\exists r.C_{2},d\rangle \ \ \ \ \ \langle C_{1}\sqcap C_{2}\sqsubseteq D,d\rangle \ \ \ \ \ \langle \exists r.C_{1}\sqsubseteq C_{2},d\rangle $$

and all RIs are in either the form \(r_{1}\sqsubseteq s\), or \(r_{1}\circ r_{2}\sqsubseteq s\), for \(r_{1},r_{2},s\in R_{{\mathcal{O}}}\).

As in the case with classical \(\mathcal{EL}^{++}\) (Baader et al. 2005), a fuzzy \(\mathcal{EL}^{++}\) ontology \({\mathcal{O}}\) can be normalised by exhaustively applying the rules of Table 6 where \(\hat{C},\hat{D}\not\in BC_{{\mathcal{O}}}\) are concept descriptions, u denotes a new role name, and A a new concept name.

Table 6 Normalization rules for fuzzy \(\mathcal{EL}^{++}\)

Example 9

For example suppose that our ontology \({\mathcal{O}}\) contains only a GCI of the form \(\langle{\exists r. (A\sqcap B)}\sqsubseteq{C \sqcap D},{0.3}\rangle \).

  • Application of rule NF3 replaces the initial GCI with two GCIs of the form: \(\langle{A\sqcap B}\sqsubseteq{E_1},{1}\rangle\) and \(\langle{ \exists r. E_1}\sqsubseteq{C \sqcap D},{0.3}\rangle \) where E 1 is a new concept name.

  • Application of rule NF5 replaces the GCI \(\langle{ \exists r. E_1}\sqsubseteq{C \sqcap D},{0.3}\rangle \) with two GCIs of the form \(\langle{\exists r. E_1}\sqsubseteq{E_2},{1}\rangle\) and \(\langle{E_2}\sqsubseteq{C\sqcap D},{0.3}\rangle\) where E 2 is a new concept name.

  • Application of rule NF7 replaces the GCI \(\langle{E_2}\sqsubseteq{C\sqcap D},{0.3}\rangle\) with two GCIs of the form \(\langle{E_2}\sqsubseteq{C},{0.3}\rangle\) and \(\langle{E_2}\sqsubseteq{ D},{0.3}\rangle\).

Therefore the initial CBox \(\mathcal{C}=\{ \langle{ \exists r. (A\sqcap B)}\sqsubseteq{C \sqcap D},{0.3}\rangle \}\) is transformed to the normalized CBox

$$ \mathcal{C}^{\prime}=\{ \langle{A\sqcap B}\sqsubseteq{E_1},{1}\rangle, \langle{\exists r. E_1}\sqsubseteq{E_2},{1}\rangle, \langle{E_2}\sqsubseteq{C},{0.3}\rangle, \langle{E_2}\sqsubseteq{ D},{0.3}\rangle. \} $$

where E 1, E 2 are newly introduced concept names.

Lemma 2

Fuzzy subsumption w.r.t. a fuzzy \(\mathcal{EL}^{++}\) ontology \({\mathcal{O}}\) can be reduced in linear time to fuzzy subsumption w.r.t. a normalized fuzzy \(\mathcal{EL}^{++}\) ontology \({\mathcal{O}}^{\prime}\).

5.2 A subsumption algorithm for fuzzy \(\mathcal{EL}^{++}\)

In this section we present the algorithm for deciding fuzzy concept subsumption w.r.t. to a normalized ontology \({\mathcal{O}}\). Initially we reduce the problem of fuzzy concept subsumption between two concept descriptions C and D to fuzzy concept subsumption between a newly introduced nominal and a newly introduced concept name.

Lemma 3

Let \({\mathcal{O}}\) be a fuzzy \({\mathcal{EL}^{++}}\) ontology and C and D fuzzy \({\mathcal{EL}^{++}}\) concepts. Then \(\langle C\sqsubseteq_{{\mathcal{O}}}D,d\rangle\) , iff \(\langle \{ o\} \sqsubseteq_{{\mathcal{O}}^{\prime}}B,d\rangle \) , where o is a new individual name, B a new concept name not appearing in \(BC_{{\mathcal{O}}}\) and

$$ {\mathcal{O}}^{\prime}={\mathcal{O}}\cup\{ \langle{\{ o\}}\sqsubseteq C,1\rangle,\langle D\sqsubseteq B, 1\rangle\}. $$

Our reasoning algorithm works by saturating the input axioms using the rules in Table 7. The rules are applied over a normalized ontology \({\mathcal{O}}\) and produce new axioms of the form \(\langle C\sqsubseteq D, d\rangle\), \(\langle C\sqsubseteq \exists{r}.D,d\rangle\) where \(r\in R_{\mathcal{O}}\) and \(C,D\in BC_{\mathcal{O}}\). These new axioms are added to the saturated ontology \({{\mathcal{O}}_{\rm SAT}}\) which contains, explicitly, fuzzy concept subsumptions implied in \({\mathcal{O}}\). This means that if \(\langle C\sqsubseteq D, d\rangle\in{{\mathcal{O}}_{\rm SAT}}\) then \(\langle C\sqsubseteq_{{\mathcal{O}}}D,d\rangle \). The rules in Table 7 have the form

$$ \dfrac{U_{1},\ldots,U_{n}}{W}:V $$

where U 1,...,U n are concept inclusions in \({{\mathcal{O}}_{\rm SAT}}\), W is the concept inclusion that will be added in each rule application to \({{\mathcal{O}}_{\rm SAT}}\), and V is either a concept/role inclusion in \({\mathcal{O}}\), or a fuzzy concrete domain condition. The notation adopted by our algorithm is similar to the one presented in Kazakov (2009), rather than the one in Baader et al. (2005) and Stoilos et al. (2008).

Table 7 Saturation Rules for Fuzzy \(\mathcal{EL}^{++}\) Ontologies

The saturation rules are performed in the following sequence. Initially rules I1, I2 are applied and then the algorithm proceeds with the application of the other completion rules described in Table 7 until no rule can add any further information. By the semantics of concept inclusion, if both \(\langle C\sqsubseteq_{{\mathcal{O}}}D,d_{1}\rangle \), \(\langle C\sqsubseteq_{{\mathcal{O}}}D,d_{2}\rangle \) hold, it suffices to keep only the concept inclusion with the maximum degree (similar for concept inclusions of the form \(\langle C\sqsubseteq_{{\mathcal{O}}}\exists r.D,d\rangle \)). For the same reason, a rule adding a concept inclusion \(\langle C\sqsubseteq D, {d_{1}}\rangle\) to \({{\mathcal{O}}_{\rm SAT}}\) won’t be applied if \({{\mathcal{O}}_{\rm SAT}}\) already contains \(\langle C \sqsubseteq D, {d_{2}}\rangle\) and d 2 ≥ d 1.

In Table 7 we use the relation \(\rightsquigarrow\) (see rule CR6) between a nominal and a concept. The definition of this relation is similar to the one in Baader et al. (2005) adapted to membership degrees. For \(\{a\},E \in BC_{{\mathcal{O}}}\) we say that \(\langle \{ a\}\rightsquigarrow E,d\rangle\) when one of the following conditions holds:

  • Either there exist concepts \(\{C_{1},\ldots,C_{k+1}\}\subseteq BC_{{\mathcal{O}}}\) and roles \(\{r_{1},\ldots,r_{k}\}\subseteq R_{{\mathcal{O}}}\), such that: (i) \(\langle C_{i}{\kern-1pt}\sqsubseteq{\kern-1pt} \exists r_{i}.C_{i+1},d_{i}\rangle {\kern-1pt}\in{\kern-1pt} {{\mathcal{O}}_{\rm SAT}}\) for every 1 ≤ i ≤ k, (ii)  min (d 1,...,d k ) = d, (iii) C 1 = { a} and C k + 1 = E; or

  • E is some nominal \(\{ b\} \in BC_{{\mathcal{O}}}\) and d = 1. I.e. we have that \(\langle \{ a\} \rightsquigarrow \{b\} ,1\rangle\) for every pair of nominals \(\{ a\} ,\{ b\} \in BC_{{\mathcal{O}}}\).

Additionally, in rules CR7, CR8a, CR8b, CR9, \(\overline{F}\) and \(\overline{F}_{1}\ldots,\overline{F}_{m}\) correspond to vectors of feature names, while in rules CR7, CR8a, CR8b we consider that all the predicates belong to the same concrete domain \(p_{1},\ldots,p_{m}\in\Phi^{{\mathcal{D}}}\), and that every concept inclusion \(\langle C\sqsubseteq{p_{i}(\overline{F}_{i})},{d_{i}}\rangle\) concerning the particular concrete domain is taken into account. Finally rules CR8a, CR8b will only be applied if the resulting concept inclusion \(\langle C\sqsubseteq{p(\overline{F})},d\rangle\) contains some concept \(p(\overline{F})\in BC_{{\mathcal{O}}}\).

Theorem 1

(Correctness) Let \({\mathcal{O}}\) be a fuzzy \({\mathcal{EL}^{++}}\) ontology in normal form and let \({{\mathcal{O}}_{\rm SAT}}\) be obtained from \({\mathcal{O}}\) by exhaustively applying the rules of Table  7 until no new information is added to \({{\mathcal{O}}_{\rm SAT}}\) . For every nominal \(\{ o\} \in BC_{{\mathcal{O}}}\) and concept \(B\in BC_{{\mathcal{O}}}\) , \({\mathcal{O}}\models\langle \{ o\} \sqsubseteq B,d\rangle\) if and only if one of the following two conditions holds:

  1. S1

    \(\langle \{ o\} \sqsubseteq B,d^{\prime}\rangle \in{{\mathcal{O}}_{\rm SAT}}\) for some d′ ≥ d,

  2. S2

    there exists some nominal \(\{ a\} \in BC_{{\mathcal{O}}}\) such that \(\langle \{ a\} \sqsubseteq\bot,d\rangle \in{{\mathcal{O}}_{\rm SAT}}\) and d > 0.

Example 10

Based on Example 3 we construct the ontology \({\mathcal{O}}=\langle \emptyset,C\cup\mathcal{C}_{{\mathcal{A}}}\rangle \) and then normalize it. The application of the Rules I1, I2, CR3,CR4 will be performed adding to the saturated ontology \({{\mathcal{O}}_{\rm SAT}}\) the following concept inclusions:

$$\begin{array}{rll} \langle \{ patient137\} &\sqsubseteq& \exists hasSeverityIndex.ASSIST0SeverityIndex,0.6\rangle \\ \langle \{ patient138\} &\sqsubseteq& \exists hasSeverityIndex.ASSIST0SeverityIndex,0.8\rangle \end{array}$$

Lemma 4

Fuzzy concept subsumption between a nominal {o } and a concept \(B\in BC_{\mathcal{O}}\) w.r.t. some normalized fuzzy \({\mathcal{EL}^{++}}\) ontology \({\mathcal{O}}\) can be decided in polynomial time.

The following Theorem is an immediate consequence of Lemmata 2, 3 and 4.

Theorem 2

(Complexity) Fuzzy concept subsumption between fuzzy \(\mathcal{EL}^{++}\) concepts can be decided in polynomial time.

6 Related work

There have been many works on extending the \({\mathcal{EL}}\) language with fuzzy set theory. Peter Vojtáš proposed a fuzzy extension of the \(\mathcal{EL}\) language for performing queries containing several vague concepts of user’s preferences (Vojtáš 2007). The proposed language differs from usual fuzzy DL languages in that it interprets conjunction using fuzzy aggregation functions rather than t-norms. Also roles are not interpreted as fuzzy binary relations, bur rather as crisp (classical) ones. Stoilos et al. (2008) proposed a fuzzy extension of the \(\mathcal{EL}^{+}\) language, using the operators of Gödel logic, which they named f G -\({\mathcal{EL}^{+}}\). The language introduced in this paper is an extension of the one presented in Stoilos et al. (2008), with nominals, the bottom concept, and fuzzy concrete domains. The language f G -\({\mathcal{EL}^{+}}\), was used by Feng et al. (2010), for computing logical differences between ontologies. Finally, Vanekov et al. propose in Vaneková and Vojtáš (2010) a fuzzy \({\mathcal{EL}}\left({\mathcal{D}}\right)\) language which extends the language presented in Vojtáš (2007) with the aggregation constructor @ U , the top-k constructor, and fuzzy concrete domains. The aggregation constructor allows to define the degree of some concept based on some aggregation function and the degrees of a set of concepts. The top-k constructor allows to select from a concept C only the k individuals with the highest degrees, while the proposed concrete domain allows for linguistic variables such as good Price etc. that are based on some membership function.

The main differences between our language and the language presented in Vaneková and Vojtáš (2010) which also allows for fuzzy concrete domains are the following: The language presented in Vaneková and Vojtáš (2010) provides for the aggregation @ U and the top-k constructor while it considers only for crisp roles. On the other hand, the language we propose supports for nominals, the bottom concept, role composition and fuzzy roles. Another difference is that the language presented in Vaneková and Vojtáš (2010) due to the presence of the aggregation @ U and the top-k constructor is non-monotonic in contrast to our language that preserves monotonicity. Finally we should notice that the complexity of the language presented in Vaneková and Vojtáš (2010) has not yet been studied.

Regarding fuzzy concrete domains, our work is based on works of Straccia and Bobillo. In Straccia (2005a), Straccia first introduced the notion of a fuzzy concrete domain, \({\mathcal{D}}=\langle \Delta_{{\mathcal{D}}},\Phi_{{\mathcal{D}}}\rangle \), where \(\Delta_{\mathcal{D}}\) is the interpretation domain and \(\Phi_{\mathcal{D}}\) is the set of fuzzy concrete domain predicates. In order to provide a link between fuzzy concrete domains and the DL fuzzy \(\mathcal{ALC}({\mathcal{D}})\), Straccia provides the constructors \(\forall T.D,\ \exists T.D\) where T is a concrete role and D is either some unary fuzzy concrete domain predicate d, or its negation \(\neg d\). Reasoning in \(\mathcal{ALC}({\mathcal{D}})\), is performed by reduction to bounded mixed integer programming (bMIP) (Hahnle 2001). The work is extended by Bobillo and Straccia (2009b) with the additional constructors ( ≥ t n), ( ≤ t n), ( = t n), where t is some concrete feature name and n some value in the interpretation domain \(\Delta^{\mathcal{D}}\). Finally Bobillo and Straccia (2009a) further extend the language \(\mathcal{ALC}({\mathcal{D}})\) with mathematical operations either between real numbers, or between fuzzy membership functions such as fuzzy numbers. The proposed language allows to define new membership functions. For example we can define the datatype that is the result of adding the membership functions of two different triangular functions.

Even though the expressive power of the language proposed by Bobillo and Straccia is appealing, fuzzy \({\mathcal{EL}^{++}}\) cannot embody arbitrary fuzzy concrete domains that do not comply with the restrictions presented in Definitions 1 and 2. In fact, in Example 7 we showed how fuzzy \({\mathcal{EL}^{++}}\) expanded with a simple concrete domain on the rational numbers and fuzzy predicates based on the triangular membership function can change the complexity of the fuzzy \({\mathcal{EL}^{++}}\) language to non-polynomial. Therefore the main contribution, w.r.t. previous work on fuzzy concrete domains, is that our paper presents the admissibility restrictions that ensure that the fuzzy \({\mathcal{EL}^{++}}\) language retains its polynomial complexity.

7 Conclusions and future work

In this paper we have presented a fuzzy extension of the DL language \(\mathcal{EL}^{++}\), creating fuzzy \(\mathcal{EL}^{++}\). We first described its syntax and semantics, while then we showed how each inference problem of fuzzy DLs, i.e. concept satisfiability, ontology consistency and instance checking, can be reduced to the fuzzy concept subsumption problem. Subsequently, we have developed a tractable algorithm for deciding the fuzzy subsumption problem. Compared to previous approaches our language supports nominals, the bottom concept, and fuzzy concrete domains. Nominals allow for reasoning w.r.t. assertional knowledge (which cannot be done in e.g. fuzzy-\(\mathcal{EL}^{+}\)), while the presence of the bottom concept allows to express disjointness between concepts (e.g. \(\langle C\sqcap D\sqsubseteq\bot,1\rangle\)), and together with nominals, to express difference between individuals (e.g. \(\langle \{ a\} \sqcap\{ b\} \sqsubseteq\bot,1\rangle \)). Moreover, the fuzzy concrete domains of fuzzy \({\mathcal{EL}^{++}}\) allow the representation of concrete qualities of real-world objects such as their weight, temperature, and spatial extension. Finally, we provided detailed proofs of the correctness of the presented reasoning algorithm.

Regarding future work, we plan to extend the semantics of the fuzzy \({\mathcal{EL}^{++}}\) language to allow for arbitrary t-norm operators for interpreting conjunction. Having in mind the latest work of Baader and Peñaloza (2011), which proves undecidability for a specific family of fuzzy DL languages extended with arbitrary t-norms, it is interesting to investigate if the same will apply for the fuzzy \({\mathcal{EL}^{++}}\) language. If such is the case, it is interesting to examine decidable and polynomial sublanguages of the fuzzy \({\mathcal{EL}^{++}}\) language extended with general t-norms. Finally, we also want to consider more expressive, but still tractable, logics than \({\mathcal{EL}^{++}}\). Such logics have also been investigated in the literature (Baader et al. 2008) and they allow for constructors such as domain and range restrictions on roles.