Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

1 Introduction

Managing uncertainty and fuzziness is growing in importance in Semantic Web research as recognised by a large number of research efforts in this direction [155, 160]. Semantic Web Languages (SWL) are the languages used to provide a formal description of concepts, terms, and relationships within a given domain, among which the OWL 2 family of languages is a major player [116]. OWL 2 has its logical grounding in Description Logics (DLs) [3] and the main aim of fuzzifying DLs is then to allow dealing with fuzzy concepts occurring in real world applications.

Uncertainty versus Fuzziness. One of the major difficulties, for those unfamiliar on the topic, is to understand the conceptual differences between uncertainty and fuzziness. Specifically, we recall that there has been a long-lasting misunderstanding in the literature of artificial intelligence and uncertainty modelling, regarding the role of probability/possibility theory and vague/fuzzy theory. A clarifying paper is [56]. We recall here the salient concepts.

Uncertainty. Under uncertainty theory fall all those approaches in which statements rather than being either true or false, are true or false to some probability or possibility (for example, “it will rain tomorrow”). That is, a statement is true or false in any world/interpretation, but we are “uncertain” about which world to consider as the right one, and thus we speak about e.g. a probability distribution or a possibility distribution over the worlds. For example, we cannot exactly establish whether it will rain tomorrow or not, due to our incomplete knowledge about our world, but we can estimate to which degree this is probable, possible, or necessary.

To be somewhat more formal, consider a propositional statement (formula) \(\phi \) (“tomorrow it will rain”) and a propositional interpretation (world) \(\mathcal {I} \). We may see \(\mathcal {I} \) as a function mapping propositional formulae into \(\{0,1\}\), i.e. \(\mathcal {I} (\phi ) \in \{0,1\}\). If \(\mathcal {I} (\phi ) = 1\), denoted also as \(\mathcal {I} \,\models \,\phi \), then we say that the statement \(\phi \) under \(\mathcal {I} \) is true, false otherwise. Now, each interpretation \(\mathcal {I} \) depicts some concrete world and, given n propositional letters, there are \(2^n\) possible interpretations. In uncertainty theory, we do not know which interpretation \(\mathcal {I} \) is the actual one and we say that we are uncertain about which world is the real one that will occur.

To deal with such a situation, one may construct a probability distribution over the worlds, that is a function \( Pr \) mapping interpretations in [0, 1], i.e. \( Pr (\mathcal {I}) \in [0,1]\), with \(\sum _\mathcal {I} Pr (\mathcal {I}) = 1\), where \( Pr (\mathcal {I})\) indicates the probability that \(\mathcal {I} \) is the actual world under which to interpret the propositional statement at hand. Then, the probability of a statement \(\phi \) in \( Pr \), denoted \( Pr (\phi )\), is the sum of all \( Pr (\mathcal {I})\) such that \(\mathcal {I} \,\models \,\phi \), i.e. 

$$\begin{aligned} Pr (\phi ) = \sum _{\mathcal {I} \models \phi } Pr (\mathcal {I}). \end{aligned}$$

Fuzziness. On the other hand, under fuzzy theory fall all those approaches in which statements (for example, “heavy rain”) are true to some degree, which is taken from a truth space (usually [0, 1]). That is, the convention prescribing that a proposition is either true or false is changed towards graded propositions. For instance, the compatibility of “heavy” in the phrase “heavy rain” is graded and the degree depends on the amount of rain is falling.Footnote 1 Often we may find rough definitions about rain types, such as:Footnote 2

  • Rain. Falling drops of water larger than 0.5 mm in diameter. In forecasts, “rain”    usually implies that the rain will fall steadily over a period of time;

  • Light Rain. Rain falls at the rate of 2.6 mm or less an hour;

  • Moderate Rain. Rain falls at the rate of 2.7 mm to 7.6 mm an hour;

  • Heavy Rain. Rain falls at the rate of 7.7 mm an hour or more.

It is evident that such definitions are quite harsh and resemble a bivalent (two-valued) logic: e.g. a precipitation rate of \(7.7\,\mathrm{mm}{/}\mathrm{h}\) is a heavy rain, while a precipitation rate of \(7.6\,\mathrm{mm}{/}\mathrm{h}\) is just a moderate rain. This is clearly unsatisfactory, as quite naturally the more rain is falling, the more the sentence “heavy rain” is true and, vice-versa, the less rain is falling the less the sentence is true.

In other words, this means essentially, that the sentence “heavy rain” is no longer either true or false as in the definition above, but is intrinsically graded.

A more fine grained way to define the various types of rains is illustrated in Fig. 1.

Fig. 1.
figure 1

Light, moderate and heavy rain.

Light rain, moderate rain and heavy rain are called Fuzzy Sets in the literature [176] and are characterised by the fact that membership is a matter of degree. Of course, the definition of fuzzy sets is frequently context dependent and subjective: e.g. the definition of heavy rain is quite different from heavy person and the latter may be defined differently among human beings.

From a logical point of view, a propositional interpretation maps a statement \(\phi \) to a truth degree in [0, 1], i.e. \(\mathcal {I} (\phi ) \in [0,1]\). Essentially, we are unable to establish whether a statement is entirely true or false due to the involvement of vague/fuzzy concepts, such as “heavy”.

Note that all fuzzy statements are truth-functional, that is, the degree of truth of every statement can be calculated from the degrees of truth of its constituents, while uncertain statements cannot always be a function of the uncertainties of their constituents [55]. For the sake of illustrative purpose, an example of truth functional interpretation of propositional statements is as follows:

$$\begin{aligned} \begin{array}{lcl} \mathcal {I} (\phi \wedge \psi ) &{} = &{} \min (\mathcal {I} (\phi ), \mathcal {I} (\psi )) \\ \mathcal {I} (\phi \vee \psi ) &{} = &{} \max (\mathcal {I} (\phi ), \mathcal {I} (\psi ))\\ \mathcal {I} (\lnot \phi ) &{} = &{} 1- \mathcal {I} (\phi ). \end{array} \end{aligned}$$

In such a setting one may be interested in the so-called notions of minimal (resp. maximal) degree of satisfaction of a statement, i.e. \(\min _\mathcal {I} \mathcal {I} (\phi )\) (resp. \(\max _\mathcal {I} \mathcal {I} (\phi )\)).

Uncertain Fuzzy Sentences. Let us recap: in a probabilistic setting each statement is either true or false, but there is e.g. a probability distribution telling us how probable each interpretation is, i.e. \(\mathcal {I} (\phi ) \in \{0,1\}\) and \( Pr (\mathcal {I}) \in [0,1]\). In fuzzy theory instead, sentences are graded, i.e. we have \(\mathcal {I} (\phi ) \in [0,1]\).

A natural question is: can we have sentences combining the two orthogonal concepts? Yes, for instance, “there will be heavy rain tomorrow” is an uncertain fuzzy sentence. Essentially, there is uncertainty about the world we will have tomorrow, and there is fuzziness about the various types of rain we may have tomorrow.

From a logical point of view, we may model uncertain fuzzy sentences in the following way:

  • we have a probability distribution over the worlds, i.e. a function \( Pr \) mapping interpretations in [0, 1], i.e. \( Pr (\mathcal {I}) \in [0,1]\), with \(\sum _\mathcal {I} Pr (\mathcal {I}) = 1\);

  • sentences are graded. Specifically, each interpretation is truth functional and maps sentences into [0, 1], i.e. \(\mathcal {I} (\phi ) \in [0,1]\);

  • for a sentence \(\phi \), we are interested in the so-called expected truth of \(\phi \), denoted \(ET(\phi ),\) namely

    $$\begin{aligned} ET(\phi ) = \sum _\mathcal {I} Pr(\mathcal {I})\cdot \mathcal {I} (\phi ). \end{aligned}$$

Note that if \(\mathcal {I} \) is bivalent (that is, \(\mathcal {I} (\phi ) \in \{0,1\}\)) then \(ET(\phi ) = Pr (\phi )\).

Talk Overview. We present here some salient aspects dealing with fuzzy knowledge in the context of the OWL 2 family of languages, specifically we address fuzzy DLs. We refer the reader to [160] for an extensive presentation concerning fuzzy OWL and other semantic web languages.

In the following, we briefly sketch the basic notions about Fuzzy Sets and Fuzzy Logic, which we require then in the subsequent section about fuzzy DLs.

2 Basics: From Fuzzy Sets to Mathematical Fuzzy Logic

2.1 Fuzzy Sets Basics

The aim of this section is to introduce the basic concepts of fuzzy set theory. To distinguish between fuzzy sets and classical (nonfuzzy) sets, we refer to the latter as crisp sets. For an in-depth treatment we refer the reader to, e.g. [54, 86].

From Crisp Sets to Fuzzy Sets. To better highlight the conceptual shift from classical sets to fuzzy sets, we start with some basic definitions and well-known properties of classical sets. Let X be a universal set containing all possible elements of concern in each particular context. The power set, denoted \(2^{A}\), of a set \(A \subset X\), is the set of subsets of A, i.e., \(2^{A} = \{ B \mid B \subseteq A \}\). Often sets are defined by specifying a property satisfied by its members, in the form \(A = \{x \mid P(x) \}\), where P(x) is a statement of the form “x has property Pthat is either true or false for any \(x\in X\). Examples of universe X and subsets \(A,B \in 2^{X}\) may be

$$\begin{aligned} X= & {} \{x \mid x~\mathrm{is}~\mathrm{a}~\mathrm{day}\} \\ A= & {} \{x \mid x~\mathrm{is}~\mathrm{a}~\mathrm{rainy}~\mathrm{day}\} \\ B= & {} \{x \mid x~\mathrm{is}~\mathrm{a}~\mathrm{day}~\mathrm{with}~\mathrm{precipitation}~\mathrm{rate}R \ge 7.5\,\mathrm{mm/h}\}. \end{aligned}$$

In the above case we have \(B \subseteq A \subseteq X\).

The membership function of a set \(A \subseteq X\), denoted \(\chi _{A}\), is a function mapping elements of X into \(\{0,1\}\), i.e. \(\chi _{A}:X \rightarrow \{0,1\}\), where \(\chi _{A}(x) = 1\) iff \(x \in A\). Note that for any sets \(A,B \in 2^{X}\), we have that

$$\begin{aligned} A \subseteq B \text{ iff } \forall x \in X. \ \chi _{A}(x) \le \chi _{B}(x). \end{aligned}$$
(1)

The complement of a set A is denoted \(\bar{A}\), i.e. \(\bar{A} = X \setminus A\). Of course, \(\forall x\in X. \ \chi _{\bar{A}}(x) = 1 - \chi _{A}(x)\). In a similar way, we may express set operations of intersection and union via the membership function as follows:

$$\begin{aligned} \forall x\in X. \ \chi _{A \cap B}(x)= & {} \min (\chi _{A}(x), \chi _{B}(x)) \end{aligned}$$
(2)
$$\begin{aligned} \forall x\in X. \ \chi _{A \cup B}(x)= & {} \max (\chi _{A}(x), \chi _{B}(x)). \end{aligned}$$
(3)

The Cartesian product, \(A \times B\), of two sets \(A, B \in 2^{X}\) is defined as \(A \times B = \{\langle a,b \rangle \mid a \in A, b \in B \}\). A relation \(R \subseteq X \times X\) is reflexive if for all \(x\in X\) \( \chi _{R}(x,x)=1\), is symmetric if for all \(x,y\in X\) \( \chi _{R}(x,y) = \chi _{R}(y,x)\). The inverse of R is defined as function \( \chi _{R^{-1}}:X \times X \rightarrow \{0,1\}\) with membership function \( \chi _{R^{-1}}(y,x) = \chi _{R}(x,y)\).

As defined so far, the membership function of a crisp set A assigns a value of either 1 or 0 to each individual of the universe set and, thus, discriminates between being a member or not being a member of A.

A fuzzy set [176] is characterised instead by a membership function \(\chi _{A}:X \rightarrow [0,1]\), or denoted simply \(A:X \rightarrow [0,1]\). With \(\tilde{2}^{X}\) we denote the fuzzy power set over X, i.e. the set of all fuzzy sets over X. For instance, by referring to Fig. 1, the fuzzy set

$$\begin{aligned} C= & {} \{x \mid \text{ x } \text{ is } \text{ a } \text{ day } \text{ with }~{ heavy}~\text{ precipitation } \text{ rate } \text{ R }\} \end{aligned}$$

is defined via the membership function

$$\begin{aligned} \chi _{C}(x) = \left\{ \begin{array}{ll} 1 &{}\quad \mathrm{if}\quad R \ge 7.5 \\ (x - 5) / 2.5 &{}\quad \mathrm{if}\quad R \in [5,7.5) \\ 0 &{}\quad \mathrm{otherwise}. \end{array}\right. \end{aligned}$$

As pointed out previously, the definition of the membership function may depend on the context and may be subjective. Moreover, also the shape of such functions may be quite different. Luckily, the trapezoidal (Fig. 2(a)), the triangular (Fig. 2(b)), the L-function (left-shoulder function, Fig. 2(c)), and the R-function (right-shoulder function, Fig. 2(d)) are simple, but most frequently used to specify membership degrees.

Fig. 2.
figure 2

(a) Trapezoidal function \( trz (a,b,c,d)\); (b) Triangular function \( tri (a,b,c)\); (c) L-function \( ls (a,b)\); and (d) R-function \( rs (a,b)\).

The usefulness of fuzzy sets depends critically on our capability to construct appropriate membership functions. The problem of constructing meaningful membership functions is a difficult one and we refer the interested reader to, e.g. [86, Chap. 10]. However, one easy and typically satisfactory method to define the membership functions (for a numerical domain) is to uniformly partition the range of, e.g. precipitation rates values (bounded by a minimum and maximum value), into 5 or 7 fuzzy sets using either trapezoidal functions (e.g. as illustrated in Fig. 3), or using triangular functions (as illustrated in Fig. 4). The latter one is the more used one, as it has less parameters.

Fig. 3.
figure 3

Fuzzy sets construction using trapezoidal functions.

Fig. 4.
figure 4

Fuzzy sets construction using triangular functions.

The standard fuzzy set operations are defined for any \(x\in X\) as in Eqs. (2) and (3). Note also that the set inclusion defined as in Eq. (1) is indeed crisp in the sense that either \(A \subseteq B\) or \(A \not \subseteq B\).

Norm-Based Fuzzy Set Operations. Standard fuzzy set operations are not the only ones that can be conceived to be suitable to generalise the classical Boolean operations. For each of the three types of operations there is a wide class of plausible fuzzy version. The most notable ones are characterised by the so-called class of t-norms \(\otimes \) (called triangular norms), t-conorms \(\oplus \) (also called s-norm), and negation \(\ominus \) (see, e.g. [85]). An additional operator is used to define set inclusion (called implication \(\Rightarrow \)). Indeed, the degree of subsumption between two fuzzy sets A and B, denoted \(A \sqsubseteq B\), is defined as \(\inf _{x \in X} A(x) \Rightarrow B(x)\), where \(\Rightarrow \) is an implication function.

An important aspect of such functions is that they satisfy some properties that one expects to hold (see Tables 1 and 2). Usually, the implication function \(\Rightarrow \) is defined as r-implication, that is,

$$\begin{aligned} a \Rightarrow b = \sup \,\{c\mid a \otimes c \le b\}. \end{aligned}$$
Table 1. Properties for t-norms and s-norms.
Table 2. Properties for implication and negation functions.

Of course, due to commutativity, \(\otimes \) and \(\oplus \) are monotone also in the first argument. We say that \(\otimes \) is indempotent if \(a \otimes a = a\), for any \(a\in [0,1]\). For any \(a\in [0,1]\), we say that a negation function \(\ominus \) is involutive iff \(\ominus \ominus a = a\). Salient negation functions are:

  • Standard or Łukasiewicz Negation: \(\ominus _{l} a = 1-a\);

  • Gödel Negation: \(\ominus _{g} a\) is 1 if \(a=0\), else is 0.

Of course, Łukasiewicz negation is involutive, while Gödel negation is not.

Salient t-norm functions are:

  • Gödel t-norm: \(a \otimes _{g}b = \min (a,b)\);

  • Bounded Difference or Łukasiewicz t-norm: \(a \otimes _{l} b = \max (0, a+ b -1)\);

  • Algebraic Product or Product t-norm: \(a \otimes _{p} b = a \cdot b\);

  • Drastic Product:  \(a \otimes _{d} b = \left\{ \begin{array}{ll} 0 &{} \text{ when } (a,b) \in [0,1[ \times [0,1[\\ \min (a,b) &{} \text{ otherwise } \end{array}\right. \)

Salient s-norm functions are:

  • Gödel s-norm: \(a \oplus _{g}b = \max (a,b)\);

  • Bounded Sum or Łukasiewicz s-norm: \(a \oplus _{l} b = \min (1, a+ b)\);

  • Algebraic Sum or Product s-norm: \(a \oplus _{p} b = a + b - ab\);

  • Drastic sum:  \(a \oplus _{d} b = \left\{ \begin{array}{ll} 1 &{} \text{ when } (a,b) \in ]0,1] \times ]0,1]\\ \max (a,b) &{} \text{ otherwise } \end{array}\right. \)

We recall that the following important properties can be shown about t-norms and s-norms.

  1. 1.

    There is the following ordering among t-norms (\(\otimes \) is any t-norm):

    $$\begin{aligned}&\otimes _{d} \le \otimes \le \otimes _{g} \\&\otimes _{d} \le \otimes _{l} \le \otimes _{p} \le \otimes _{g}. \end{aligned}$$
  2. 2.

    The only idempotent t-norm is \(\otimes _{g}\).

  3. 3.

    The only t-norm satisfying \(a \otimes a = 0\) for all \(a \in [0,1[\) is \(\otimes _{d}\).

  4. 4.

    There is the following ordering among s-norms (\(\oplus \) is any s-norm):

    $$\begin{aligned}&\oplus _{g} \le \oplus \le \oplus _{d} \\&\oplus _{g} \le \oplus _{p} \le \oplus _{l} \le \oplus _{d}. \end{aligned}$$
  5. 5.

    The only idempotent s-norm is \(\oplus _{g}\).

  6. 6.

    The only s-norm satisfying \(a \oplus a = 1\) for all \(a \in ]0,1]\) is \(\oplus _{d}\).

The dual s-norm of \(\otimes \) is defined as

$$\begin{aligned} a \oplus b = 1 - (1-a) \otimes (1-b). \end{aligned}$$
(4)

Some t-norms, s-norms, implication functions, and negation functions are shown in Table 3. One usually distinguishes three different sets of fuzzy set operations (called fuzzy logics), namely, Łukasiewicz, Gödel, and Product logic; the popular Standard Fuzzy Logic (SFL) is a sublogic of Łukasiewicz logic as \( \min (a,b) = a \otimes _{l} (a \Rightarrow _{l} b)\) and \(\max (a,b) = 1 - \min (1-a, 1-b)\). The importance of these three logics is due to the Mostert–Shields theorem [114] that states that any continuous t-norm can be obtained as an ordinal sum of these three (see also [67]).

The implication \(x \Rightarrow y = \max (1-x,y)\) is called Kleene-Dienes implication in the fuzzy logic literature. Note that we have the following inferences: let \(a \ge n\) and \(a \Rightarrow b \ge m\). Then, under Kleene-Dienes implication, we infer that if \(n > 1-m\) then \(b \ge m\). Under r-implication relative to a t-norm \(\otimes \), we infer that \(b \ge n\otimes m\).

The composition of two fuzzy relations \(R_{1}:X\times X \rightarrow [0,1]\) and \(R_{2}:X\times X \rightarrow [0,1]\) is defined as \((R_{1} \circ R_{2})(x,z) = \sup _{y\in X} R_{1}(x,y) \otimes R_{2}(y,z)\). A fuzzy relation R is transitive iff \(R(x,z) \,{\geqslant }\,(R\circ R)(x,z)\).

Fuzzy Modifiers. Fuzzy modifiers are an interesting feature of fuzzy set theory. Essentially, a fuzzy modifier, such as \(\mathtt {very}\), \(\mathtt {more\_or\_less}\), and \(\mathtt {slightly}\), apply to fuzzy sets to change their membership function.

Formally, a fuzzy modifier m represents a function

$$\begin{aligned} f_{m}:[0,1]\rightarrow [0,1]. \end{aligned}$$
Table 3. Combination functions of various fuzzy logics.
Table 4. Some additional properties of combination functions of various fuzzy logics.
Fig. 5.
figure 5

Linear modifier lm(ab).

For example, we may define \(f_\mathtt {very}(x) \,{=}\,x^{2}\) and \(f_\mathtt {slightly}(x) = \sqrt{x}\). In this way, we may express the fuzzy set of very heavy rain by applying the modifier very to the fuzzy membership function of “heavy rain” i.e.

$$\begin{aligned} \chi _{\mathtt {very \, heavy rain}}(x) = f_{very }(\chi _{\mathtt { heavy rain}}(x)) = (\chi _{\mathtt { heavy rain}}(x))^{2} = (rs(5,7.5)(x))^{2}. \end{aligned}$$

A typical shape of modifiers is the so-called linear modifiers, as illustrated in Fig. 5. Note that such a modifier can be parameterized by means of one parameter c only, i.e. \(lm(a,b) = lm(c)\), where \(a = c/(c+1), \ b=1/(c+1)\).

2.2 Mathematical Fuzzy Logic Basics

Given that the OWL 2 family of languages is grounded on Mathematical Logic, it is quite natural to look at Mathematical Fuzzy Logic [67] to get inspiration for a fuzzy logic extensions of the OWL family. So, we recap here briefly that in Mathematical Fuzzy Logic, the convention prescribing that a statement is either true or false is changed and is a matter of degree measured on an ordered scale that is no longer \(\{0, 1\}\), but [0, 1]. This degree is called degree of truth of the logical statement \(\phi \) in the interpretation \(\mathcal {I} \). Fuzzy statements have the form \(\langle \phi , r \rangle \), where \(r \,{\in }\,[0,1]\) (see, e.g. [66, 67]) and \(\phi \) is a statement, which encodes that the degree of truth of \(\phi \) is greater or equal r. A fuzzy interpretation \(\mathcal {I} \) maps each basic statement \(p_i\) into [0, 1] and is then extended inductively to all statements:

$$\begin{aligned} \begin{array}{lcl} \mathcal {I} (\phi \wedge \psi ) &{} = &{} \mathcal {I} (\phi ) \otimes \mathcal {I} (\psi ) \\ \mathcal {I} (\phi \vee \psi ) &{} = &{} \mathcal {I} (\phi )\oplus \mathcal {I} (\psi ) \\ \mathcal {I} (\phi \rightarrow \psi ) &{} = &{} \mathcal {I} (\phi ) \Rightarrow \mathcal {I} (\psi ) \\ \mathcal {I} (\phi \leftrightarrow \psi ) &{} = &{} \mathcal {I} (\phi \rightarrow \psi ) \otimes \mathcal {I} (\psi \rightarrow \phi ) \\ \mathcal {I} (\lnot \phi ) &{} = &{} {\ominus }\,\mathcal {I} (\phi ) \\ \mathcal {I} (\exists x. \phi ) &{} = &{} \mathop {\sup }\nolimits _{a \in {\varDelta }^\mathcal{I} }\mathcal {I} _{x}^{a}(\phi ) \\ \mathcal {I} (\forall x. \phi ) &{} = &{} \mathop {\inf }\nolimits _{a \in {\varDelta }^\mathcal{I} }\mathcal {I} _{x}^{a}(\phi ), \end{array} \end{aligned}$$
(5)

where \({\varDelta }^\mathcal{I} \) is the domain of \(\mathcal {I} \), and \(\otimes \), \(\oplus \), \(\Rightarrow \), and \(\ominus \) are the t-norms, t-conorms, implication functions, a negation functions we have seen in the previous section.Footnote 3

One may also consider the following abbreviations:

$$\begin{aligned} \phi \wedge _{g} \psi&\overset{\mathtt {def}}{=} \phi \wedge (\phi \rightarrow \psi ) \end{aligned}$$
(6)
$$\begin{aligned} \phi \vee _{g} \psi&\overset{\mathtt {def}}{=} (\phi \rightarrow \psi ) \rightarrow \phi ) \wedge _{g} (\psi \rightarrow \phi ) \rightarrow \psi ) \end{aligned}$$
(7)
$$\begin{aligned} \lnot _{\otimes }\phi&\overset{\mathtt {def}}{=} \phi \rightarrow 0. \end{aligned}$$
(8)

In case \(\Rightarrow \) is the r-implication based on \(\otimes \), then \(\wedge _{g}\) (resp. \(\vee _{g}\)) is interpreted as Gödel t-norm (resp. s-norm), while \(\lnot _{\otimes }\) is interpreted as the negation function related to \(\otimes \).

A fuzzy interpretation \(\mathcal {I} \) satisfies a fuzzy statement \(\langle \phi , r \rangle \), or \(\mathcal {I} \) is a model of \(\langle \phi , r \rangle \), denoted \(\mathcal {I} \,{\models }\,\langle \phi , r \rangle \), iff \(\mathcal {I} (\phi ) \ge r\). We say that \(\mathcal {I} \) is a model of \(\phi \) if \(\mathcal {I} (\phi ) = 1\). A fuzzy knowledge base (or simply knowledge base, if clear from context) is a set of fuzzy statements and an interpretation \(\mathcal {I} \) satisfies (is a model of) a knowledge base, denoted \(\mathcal {I} \,\models \,{\mathcal{K}}\), iff it satisfies each element in it.

We say \(\langle \phi , n \rangle \) is a tight logical consequence of a set of fuzzy statements \({\mathcal{K}}\) iff n is the infimum of \(\mathcal {I} (\phi )\) subject to all models \(\mathcal {I} \) of \({\mathcal{K}}\). Notice that the latter is equivalent to \(n\,{=}\,\sup \,\{ r \,{\mid }\,{\mathcal{K}}\,{\models }\,\langle \phi , r \rangle \}\). n is called the best entailment degree of \(\phi \) w.r.t.  \({\mathcal{K}}\) (denoted \(bed({\mathcal{K}},\phi )\)), i.e.

$$\begin{aligned} bed({\mathcal{K}},\phi ) = \sup \,\{ r \,{\mid }\,{\mathcal{K}}\,{\models }\,\langle \phi , r \rangle \}. \end{aligned}$$
(9)

On the other hand, the best satisfiability degree of \(\phi \) w.r.t.  \({\mathcal{K}}\) (denoted \(bsd({\mathcal{K}},\phi )\)) is

$$\begin{aligned} bsd({\mathcal{K}},\phi ) = \sup _{\mathcal {I}} \,\{ \mathcal {I} (\phi ) \,{\mid }\,\mathcal {I} \,\models \,{\mathcal{K}}\}. \end{aligned}$$
(10)

Of course, the properties of Table 4 immediately translate into equivalence among formulae. For instance, the following equivalences hold (in brackets we indicate the logic for which the equivalences holds)

$$\begin{aligned} \lnot \lnot \phi\equiv & {} \phi \ \ (\L ) \\ \phi \wedge \phi\equiv & {} \phi \ \ (G) \\ \lnot ( \phi \wedge \lnot \phi )\equiv & {} 1 \ \ (\L , G, \varPi ) \\ \phi \vee \lnot \phi\equiv & {} 1 \ \ (\L ). \end{aligned}$$

Remark 1

Unlike the classical case, in general, we do not have that \(\forall x. \phi \) and \(\lnot \exists x. \lnot \phi \) are equivalent. They are equivalent for Łukasiewicz logic and SFL, but are neither equivalent for Gödel nor for Product logic. For instance, under Gödel negation, just consider an interpretation \(\mathcal {I} \) with domain \(\{a\}\) and \(\mathcal {I} (p(a)) = u\), with \(0 < u < 1\). Then \(\mathcal {I} (\forall x. p(x)) = u\), while \(\mathcal {I} (\lnot \exists x. \lnot p(x)) = 1\) and, thus, \(\forall x. p(x) \not \equiv \lnot \exists x. \lnot p(x)\).

We refer the reader to [160] for an overview of reasoning algorithms for fuzzy propositional and First-Order Logics.

On Witnessed Models. We say that a fuzzy interpretation \(\mathcal {I} \) is a witnessed interpretation iff

$$\begin{aligned} \mathcal {I} (\exists x. \phi )= & {} \mathcal {I} _{x}^{a}(\phi ), \text{ for } \text{ some } a \in {\varDelta }^\mathcal{I} \end{aligned}$$
(11)
$$\begin{aligned} \mathcal {I} (\forall x. \phi )= & {} \mathcal {I} _{x}^{a}(\phi ), \text{ for } \text{ some } a \in {\varDelta }^\mathcal{I} . \end{aligned}$$
(12)

These equations say that the supremum (resp. infimum) are attained at some point for a witnessed interpretation. Now, unlike the classical case, it may not be true that Eqs. (11) and (12) hold for all \(\mathcal {I} \), i.e. \(\mathcal {I} \) may not be witnessed. For instance, for \(\mathcal {I} \) with domain the natural numbers and \(\mathcal {I} _{x}^{n}(A(x)) = 1 - 1/n\), we have that \(\mathcal {I} (\exists x. A(x)) = \sup _{n} \mathcal {I} _{x}^{n}(A(x)) = \sup _{n} 1 - 1/n = 1\), while in no point \(\mathcal {I} _{x}^{n}(A(x))\) is 1. So, \(\mathcal {I} \) is not witnessed (the argument for \(\forall \) is similar). The following important property can be shown (see, e.g. [6770]) stating that in Łukasiewicz logic and, thus, in SFL, a fuzzy statement \(\langle \phi , r \rangle \) has a witnessed fuzzy model iff it has a fuzzy model. This is not true for Gödel and product logic however. Therefore, for Łukasiewicz logic, we may restrict our attention to witnessed models only. That is, Łukasiewicz has the so-called witnessed model property (there is a model iff there is witnessed model). Of course, if the truth space is finite then any fuzzy logic has the witnessed model property as well.

3 Fuzzy Description Logics and OWL 2

We have seen in the previous sections how to “fuzzify” classical sets and FOL. In the latter case, fuzzy statements are of the form \(\langle \phi , n \rangle \), where \(\phi \) is a statement and \(n \in [0,1]\).

The natural extension to fuzzy DLs [160] consists then in replacing \(\phi \) with appropriate expressions belonging to the DL family of languages, as we will illustrate next.

3.1 Fuzzy DLs

Description Logics (DLs) [3] are the logical counterpart of the family of OWL languages. So, to illustrate the basic concepts of fuzzy OWL, it suffices to show the fuzzy DL case (see [108, 160], for a survey). We recap that the basic ingredients are the descriptions of classes, properties, and their instances, such as

  • \(a{:}{C}\), such as \(\mathsf {a}{:}{\mathsf {Person} \sqcap \forall \mathsf {hasChild}.\mathsf {Femal}}\), meaning that individual a is an instance of concept/class C (here C is seen as a unary predicate);

  • \((a,b)\text{: }R\), such as \((\mathsf {tom},\mathsf {mary})\text{: }\mathsf {hasChild}\), meaning that the pair of individuals \(\langle a,b \rangle \) is an instance of the property/role R (here R is seen as a binary predicate);

  • \(C \sqsubseteq D\), such as \(\mathsf {Person} \sqsubseteq \forall \mathsf {hasChild}.\mathsf {Person}\), meaning that the class C is a subclass of class D;

So far, several fuzzy variants of DLs have been proposed: they can be classified according to

We also refer the reader to [160] for a comprehensive survey.

In general, fuzzy DLs allow expressions of the form \(\langle a{:}{C}, n \rangle \), stating that a is an instance of concept/class C with degree at least n, i.e. the FOL formula C(a) is true to degree at least n. Similarly, \(\langle C_{1} \sqsubseteq C_{2}, n \rangle \) states a vague subsumption relationships. Informally, \(\langle C_{1} \sqsubseteq C_{2}, n \rangle \) dictates that the FOL formula \(\forall x. C_{1}(x) \rightarrow C_{2}(x)\) is true to degree at least n. Essentially, fuzzy DLs are then obtained by interpreting the statements as fuzzy FOL formulae and attaching a weight n to DL statements, thus, defining so fuzzy DL statements.

As matter of example, consider the DL \(\mathcal{ALC}\) (\(\mathcal A\)ttributive \(\mathcal L\)anguage with \(\mathcal C\)omplement), a major DL representative used to introduce new extensions to DLs: the table below shows its syntax, semantics and provides examples. In the table, a fuzzy interpretation \(\mathcal {I} = ({\varDelta }^\mathcal{I} , {\cdot }^\mathcal{I} )\) consists of a nonempty set \({\varDelta }^\mathcal{I} \) (the domain) and of a fuzzy interpretation function \({\cdot }^\mathcal{I} \) that assigns

  • to each atomic concept A a function \({A}^\mathcal{I} :{\varDelta }^\mathcal{I} \rightarrow [0,1]\);

  • to each abstract role R a function \({R}^\mathcal{I} :{\varDelta }^\mathcal{I} \times {\varDelta }^\mathcal{I} \rightarrow [0,1]\);

  • to each individual a an element \({a}^\mathcal{I} \,{\in }\,{\varDelta }^\mathcal{I} \) such that \({a}^\mathcal{I} \ne {b}^\mathcal{I} \) if \(a\ne b\) (unique Name Assumption, UNA).

\(C^{\mathcal {I}}\) denotes the membership function of the fuzzy concept C with respect to the fuzzy interpretation \(\mathcal {I} \). For \(x \in {\varDelta }^\mathcal{I} \), \(C^{\mathcal {I}}(x)\) gives us the degree of being x an element of the fuzzy concept C under \(\mathcal {I} \). Similarly, \(R^{\mathcal {I}}\) denotes the membership function of the fuzzy role R with respect to \(\mathcal {I} \). For \(x,y \in {\varDelta }^\mathcal{I} \), \(R^{\mathcal {I}}(x,y)\) gives us the degree of being (xy) an element of the fuzzy role R.

figure a

The upper pane describes how concepts/classes can be formed, while the lower pane shows the form of statements/axioms a knowledge base may be build of. Axioms of the form \(C \sqsubseteq D\), called, General Inclusion Axioms (GCIs), dictated that the class C is a subclass of the class D, \(a{:}{C}\) dictates that individual a is an instance of class C, while \((a,b)\text{: }R\) states that \(\langle a,b \rangle \) is an instance of the binary relation R. The definition \(A=C\), is used in place of having both \(A \sqsubseteq C\) and \(C \sqsubseteq A\), stating that class A is defined to be equivalent to C.

Fuzzy DLs [160] are then obtained by interpreting the statements as fuzzy FOL formulae and attaching a weight n to DL statements, yielding fuzzy DL statements, such as \(\langle C \sqsubseteq D, n \rangle , \langle a{:}{C}, n \rangle \) and \(\langle (a,b)\text{: }R, n \rangle \). The former is called fuzzy GCI, while the latter two are called fuzzy assertions.

It is worth noting that one may find in fuzzy DLs also fuzzy statements of the form \(\langle {\alpha } {\,{\geqslant }\,} {n} \rangle \), \(\langle {\alpha } {\,{\leqslant }\,} {n} \rangle \), \(\langle {\alpha } {\,{>}\,} {n} \rangle \), \(\langle {\alpha } {\,{<}\,} {n} \rangle \), and \(\langle {\alpha } {=} {n} \rangle \), stating that the degree of truth of axiom \(\alpha \) is bounded by \(\bullet n\), where \(\bullet \in \{\,{\geqslant }\,, \,{\leqslant }\,, \,{>}\,, \,{<}\,, =\}\). We stick here to the form \(\langle \alpha , n \rangle \), i.e. \(\langle {\alpha } {\,{\geqslant }\,} {n} \rangle \) only, by reminding that as graded axioms are intended to be produced semi- or automatically, it is hardly conceivable that they may have, e.g. the form \(\langle {\alpha } {\,{\leqslant }\,} {n} \rangle \), \(\langle {\alpha } {\,{>}\,} {n} \rangle \) or \(\langle {\alpha } {\,{<}\,} {n} \rangle \).

A fuzzy knowledge base is a tuple \({\mathcal{K}}= \langle \mathcal{T},\mathcal{A} \rangle \), where now fuzzy axioms occur in place of classical DL axioms. \(\mathcal{T}, \mathcal{A}\) are called now fuzzy TBox (that is a finite set of fuzzy GCIs) and fuzzy ABox (that is a finite set of fuzzy assertions), respectively. An interpretation \(\mathcal {I} \) is a model of a fuzzy statement \(\langle \phi , n \rangle \), denoted \(\mathcal {I} \,\models \,\langle \phi , n \rangle \) if \({\phi }^\mathcal{I} \ge n\). We say that a fuzzy interpretation \(\mathcal {I} \) satisfies (is a model of) a fuzzy KB \({\mathcal{K}}= \langle \mathcal{T},\mathcal{A} \rangle \) iff it satisfies each element in \(\mathcal {A}\) and \(\mathcal {T}\). A fuzzy KB \({\mathcal{K}}= \langle \mathcal{T},\mathcal{A} \rangle \) entails an axiom E, denoted \({\mathcal{K}}\models E\), iff every model of \({\mathcal{K}}\) satisfies E. We say that two concepts C and D are equivalent, denoted \(C \equiv _{{\mathcal{K}}} D\) iff in evry model \(\mathcal {I} \) of \({\mathcal{K}}\) and for all \(x\in {\varDelta }^\mathcal{I} \), \({C}^\mathcal{I} (x) = {D}^\mathcal{I} (x)\).

As for the fuzzy FOL case, for concept assertion, role assertion, GCI or role inclusion axiom \(\phi \), we say that \(\langle \phi , n \rangle \) is a tight logical consequence of \({\mathcal{K}}\) iff n is the infimum of \({\phi }^\mathcal{I} \) subject to all models \(\mathcal {I} \) of \({\mathcal{K}}\). Notice that the latter is equivalent to

$$\begin{aligned} n\,{=}\,\sup \,\{ r \,{\mid }\,{\mathcal{K}}\,{\models }\,\langle \phi , r \rangle \}. \end{aligned}$$

n is called the best entailment degree of \(\phi \) w.r.t.  \({\mathcal{K}}\) (denoted \(bed({\mathcal{K}},\phi )\)), i.e.

$$\begin{aligned} bed({\mathcal{K}},\phi ) = \sup \,\{ r \,{\mid }\,{\mathcal{K}}\,{\models }\,\langle \phi , r \rangle \}. \end{aligned}$$
(13)

On the other hand, the best satisfiability degree of \(\phi \) w.r.t.  \({\mathcal{K}}\) (denoted \(bsd({\mathcal{K}},\phi )\)) is

$$\begin{aligned} bsd({\mathcal{K}},\phi ) = \sup _{\mathcal {I}} \,\{ {\phi }^\mathcal{I} \,{\mid }\,\mathcal {I} \,\models \,{\mathcal{K}}\}. \end{aligned}$$
(14)

For a concept C, we also say that the best satisfiability degree of C w.r.t.  \({\mathcal{K}}\) (denoted \(bsd({\mathcal{K}},C)\)) is

$$\begin{aligned} bsd({\mathcal{K}},C) = \sup _{\mathcal {I} \models {\mathcal{K}}} \ \sup _{x \in {\varDelta }^\mathcal{I} } {C}^\mathcal{I} (x). \end{aligned}$$

Example 1

Consider the following background knowledge about cars encoded as the fuzzy TBox:

$$\begin{aligned} \begin{array}{rcl} Car &{} \sqsubseteq &{} \exists HasPrice.Price \\ Sedan &{} \sqsubseteq &{} Car \\ Van &{} \sqsubseteq &{} Car \\ CheapPrice &{}\sqsubseteq &{} Price \\ ModeratePrice &{} \sqsubseteq &{}Price\\ ExpensivePrice &{}\sqsubseteq &{} Price \\ \langle CheapPrice &{} \sqsubseteq &{} ModeratePrice, 0.7 \rangle \\ \langle ModeratePrice &{} \sqsubseteq &{} ExpensivePrice, 0.4\rangle \\ CheapCar &{} =&{} Car \sqcap \exists HasPrice.CheapPrice \\ ModerateCar &{} =&{} Car \sqcap \exists HasPrice.ModeratePrice \\ ExpensiveCar &{} =&{} Car \sqcap \exists HasPrice.ExpensivePrice \\ \end{array} \end{aligned}$$

Essentially, the vague concepts here are CheapPriceModeratePrice, and ExpensivePrice and the graded GCIs declare to which extent there is a relationship among them.

The facts about two specific cars a and b are encoded with the following fuzzy ABox \(\mathcal{A}\):

$$\begin{aligned} \begin{array}{l} \langle a{:}{Sedan \sqcap \exists HasPrice.CheapPrice}, 0.7 \rangle \\ \langle b{:}{Van \sqcap \exists HasPrice.ModeratePrice}, 0.8 \rangle . \end{array} \end{aligned}$$

So, a is a sedan having a cheap price, while b is a van with a moderate price.

Under Gödel semantics it can be shown that

$$\begin{aligned} \mathcal{K}&\,\models \, \langle a{:}{ModerateCar}, 0.7 \rangle \\ \mathcal{K}&\, \models \, \langle b{:}{ExpensiveCar}, 0.4 \rangle . \end{aligned}$$

Informally, in the former case the reasoning is as follows. As a is a sedan (at least to degree 0.7), it is a car (at least to degree 0.7) and, thus, a is a car with a cheap price (at least to degree 0.7). Therefore, by the definition of a cheap car, a is, thus, a cheap car (at least to degree 0.7). In the latter case, as b is a van (at least to degree 0.8), it is a car (at least to degree 0.8) and, thus, b is a car with a moderate price (at least to degree 0.8). Therefore, as a moderate price is to some degree an expensive price, b has, thus, an expensive price (at least to degree \(\min (0.8, 0.4) = 0.4\)). Eventually, by the definition of expensive car, b is, thus, an expensive car (at least to degree 0.4).

Remark 2

Like for the fuzzy FOL case, for which \(\forall \) and \(\exists \) are not complementary in general (see Remark 1), also for fuzzy DLs we have that \(\forall R.C\) and \(\lnot \exists R.\lnot C\) are not equivalent in general, unlike the classical case. However, they are equivalent under Łukasiewicz logic and SFL.

Remark 3

It is worth noting that, w.l.o.g., an axiom \(\langle C \sqsubseteq D, n \rangle \) may be rewritten as \(\langle \top \sqsubseteq C \rightarrow D, n \rangle \)

Remark 4

(Fuzzy DLs under SFL). [143], which presents fuzzy \(\mathcal{ALC}\) under SFL, proposes a slightly different semantics for fuzzy GCIs. In fact, in [143] a fuzzy GCI is of the form \(C \sqsubseteq D\) with semantics: \(\mathcal {I} \) is a model of \(C \sqsubseteq D\) iff for every \(x \in {\varDelta }^\mathcal{I} \) we have that \({C}^\mathcal{I} (x) \le {D}^\mathcal{I} (x)\). This is the same of any fuzzy axiom of the form \(\langle \top \sqsubseteq C \rightarrow _{x} D, 1 \rangle \), where \(\rightarrow _{x}\) is an r-implication.

Acyclic Fuzzy Ontologies. Acyclic fuzzy ontologies play an important role in fuzzy DLs both as they occur often in practice as well as from a computational complexity point of view. Specifically, let us also introduce a restricted form of TBoxes, i.e. acyclic TBoxes. That is, let \(\mathcal{T}\) be a TBox in which the GCIs have one of the following form

$$\begin{aligned} A&\sqsubseteq _{n} C \\ A&\tilde{\sqsubseteq }\, C \\ A&\tilde{=}\, C, \end{aligned}$$

where A is a concept name, C is a concept, and \(A \sqsubseteq _{n} C\) is a shorthand for \(\langle \top \sqsubseteq A \rightarrow C, n \rangle \). We call the former two GCIs primitive and call the latter definitional. We say that A is the head of these axioms and C is the body. Furthermore, we also assume that no concept name A is in the head of more than one axiom. Now, we say that

  • concept name A directly uses concept name B w.r.t.  \(\mathcal {T}\), denoted \(A\rightarrow _{\mathcal{T}}B\), if A is the head of some axiom \(\tau \in \mathcal{T}\) such that B occurs in the body of \(\tau \);

  • concept name A uses concept name B w.r.t.  \(\mathcal {T}\), denoted \(A\rightsquigarrow _{\mathcal{T}}B\), if there exist concept names \(A_{1},\ldots ,A_{n}\), such that \(A_{1}=A\), \(A_{n}=B\) and, for every \(1\le i<n\), it holds that \(A_{i} \rightarrow _{\mathcal{T}}A_{i+1}\).

Eventually, we say that a TBox \(\mathcal{T}\) is cyclic (acyclic) if there is (no) A such that \(A \rightsquigarrow _{\mathcal{T}}A\). We say also that a fuzzy TBox is unfoldable if it is an acyclic TBox which only contains inclusion axioms of the form \(A \tilde{\sqsubseteq }C\) and if there is an \(A \tilde{=}C\) then A does not occur in the head of any other axiom.

On Witnessed Models. As for fuzzy FOL, the use of infima (universal quantification \(\forall \)) and suprema (existential quantification \(\exists \)) may lead to counterintuitive behaviours (see also, e.g. [6770]). For instance, consider the concept assertion \(\langle a{:}{\exists R.A}, 1 \rangle \). Consider the interpretation \(\mathcal {I} \) with domain \(\mathbb {N}\), \({a}^\mathcal{I} = 1\), and for all \(n,m \in \mathbb {N}\)

$$\begin{aligned} {A}^\mathcal{I} (n)= & {} 1 - \frac{1}{n} \\ {R}^\mathcal{I} (m,n)= & {} 1. \end{aligned}$$

Then for any \(n \in N\), \({R}^\mathcal{I} ({a}^\mathcal{I} ,n) \otimes {A}^\mathcal{I} (n) = {A}^\mathcal{I} (n) = 1 - \frac{1}{n} < 1\). However,

$$\begin{aligned} {(\exists R.A)}^\mathcal{I} ({a}^\mathcal{I} ) = \sup _{n \in \mathbb {N}} {R}^\mathcal{I} ({a}^\mathcal{I} ,n) \otimes {A}^\mathcal{I} (n) = \sup _{n \in \mathbb {N}} {A}^\mathcal{I} (n) = \sup _{n \in \mathbb {N}} 1 - \frac{1}{n} = 1. \end{aligned}$$

That is, unlike the crisp case, notwithstanding there is no individual n of the domain of \(\mathcal {I} \) satisfying \({R}^\mathcal{I} ({a}^\mathcal{I} ,n) \otimes {A}^\mathcal{I} (n) = 1\), still, \(\mathcal {I} \) satisfies the assertion \(\langle a{:}{\exists R.A}, 1 \rangle \). Similar arguments apply to all of the expressions involving infima and suprema. While such interpretations may exist in theory, they unlikely may model any practical knowledge representation domain. Therefore, it is customary to restrict the attention to witnessed models only.

Eventually, we recall from [7] the following property: in Łukasiewicz logic, thus, in SFL, an acyclic knowledge base \(\mathcal {K}\) is satisfiable iff \({\mathcal{K}}\) has a finite model. This property is not true if we drop the acyclicity condition, i.e., if arbitrary CGIs may occur in the TBox (see [7], Theorem 3.3).

3.2 Salient Language Extensions

One may use additionally some special constructs to enhance the expressivity of fuzzy DLs [14, 23, 25, 146, 160] such as fuzzy concrete domains, modifiers and aggregation functions.

Fuzzy Concrete Domains. We rely on [146]. In general, a fuzzy concrete domain, also called a fuzzy datatype theory \({\mathbf {D}}\,{=}\,\langle \varDelta ^{{\mathbf {D}}}, {\,\cdot \,}^{{\mathbf {D}}} \rangle \) consists of a datatype domain \(\varDelta ^{{\mathbf {D}}}\) and a mapping \({\,\cdot \,}^{{\mathbf {D}}}\) that assigns to each data value an element of \(\varDelta ^{{\mathbf {D}}}\), and assigns to every n-ary datatype predicate d an n-ary fuzzy relation over \(\varDelta _{{\mathbf {D}}}\). More specifically, fuzzy DLs do support unary datatypes only. Therefore, \({\,\cdot \,}^{{\mathbf {D}}}\) maps indeed each datatype predicate into a function from \(\varDelta ^{{\mathbf {D}}}\) to [0, 1]. Typical examples of datatype predicates \(\mathbf {d}\) are the well known fuzzy membership functions

$$\begin{aligned} \begin{array}{ccl} \mathbf {d}:= & {} ls(a,b) \ | \ rs(a,b) \ | \ tri(a,b,c) \ | \ trz(a,b,c,d) \end{array} \end{aligned}$$

and the crisp membership functions

$$\begin{aligned} \begin{array}{ccl} \mathbf {d} := \ \ge _{v} \ | \ \le _{v} \ | \ = _{v}, \end{array} \end{aligned}$$

where, e.g. \(\ge _{v}\) corresponds to the crisp set of data values that are greater than or equal to the value v.

Concerning roles, a role R is either an object property or a datatype property. An interpretation maps an object property into a function \({\varDelta }^\mathcal{I} \times {\varDelta }^\mathcal{I} \rightarrow [0,1]\), while it maps a datatype property into a function \({\varDelta }^\mathcal{I} \times \varDelta ^{{\mathbf {D}}} \rightarrow \{0,1\}\). A datatype property does not have an inverse, but may be functional.

We also use an alphabet for concrete individuals, denoted v, and extend an interpretation to concrete individuals by mapping them into \(\varDelta ^{{\mathbf {D}}}\). As for individuals, we adopt the UNA, i.e., \({v_{1}}^\mathcal{I} \ne {v_{2}}^\mathcal{I} \) if \(v_{1}\ne v_{2}\).

We can now extend concept expressions according to the following syntax:

$$\begin{aligned} \begin{array}{ccl} C,D \rightarrow \forall T.\mathbf {d} \ | \ \exists T.\mathbf {d}, \end{array} \end{aligned}$$

where \(\mathbf {d}\) is a datatype and T is a datatype property.

For instance, the definition

$$\begin{aligned} HeavyRain =Rain \sqcap \exists hasPrecipitationRate. rs(5,7.5), \end{aligned}$$

where the datatype property hasPrecipitationRate has been declared functional, corresponds to our definition of heavy rain seen in Sect. 1.

Modifiers. Fuzzy modifiers (see also [14, 52, 7175, 169]) such as \(\mathtt {very}\) and \(\mathtt {slightly}\), apply to fuzzy concepts to change their membership function. We recall from Sect. 2.1 that a fuzzy modifier m represents a function \(f_{m}:[0,1]\rightarrow [0,1]\). Now, we extend the language of fuzzy concept constructors by allowing to apply a modifier m to a concept C or a concrete domain predicate \(\mathbf {d}\): i.e.

$$\begin{aligned} \begin{array}{ccl} C \rightarrow m(C) \ | \ \forall T.m(\mathbf {d}) \ | \ \exists T.m(\mathbf {d}) \\ \end{array} \end{aligned}$$

allowing, e.g. to define

$$\begin{aligned} VeryHeavyRain =Rain \sqcap \exists hasPrecipitationRate. \mathtt {very}(rs(5,7.5))\ . \end{aligned}$$

From a semantics point of view, we extend fuzzy interpretations in the obvious way

$$\begin{aligned} {m(C)}^\mathcal{I} (x)= & {} f_{m}({C}^\mathcal{I} (x)) \\ {m(\mathbf {d})}^\mathcal{I} (x)= & {} f_{m}(\mathbf {d}^{{\mathbf {D}}}(x)) . \end{aligned}$$

Aggregation Operators. Eventually, we may extend fuzzy DLs by allowing aggregation operators (such as the mean, median, weighted sum operators) to aggregate concepts, as illustrated, e.g. in [23, 24]. Given an n-ary aggregation operator \(@:[0,1]^n\rightarrow [0,1]\), then we extend the language of fuzzy concepts by allowing to apply \(@\) to n concepts \(C_{1}, \ldots , C_{n}\), i.e.

$$\begin{aligned} \begin{array}{ccl} C \rightarrow @(C_{1} , \ldots , C_{n}) \\ \end{array} \end{aligned}$$

allowing, e.g. to express the concept

$$\begin{aligned} 0.7 \cdot ExpensiveHotel + 0.3 \cdot LuxuriousHotel \end{aligned}$$

denoting the fuzzy set of expensive and luxurious hotels, whose membership function is the weighted sum of being an expensive and luxurious hotel.

From a semantics point of view, we extend fuzzy interpretations in the obvious way

$$\begin{aligned} { @(C_{1} , \ldots , C_{n})}^\mathcal{I} (x)= & {} @({C}^\mathcal{I} _{1}(x) , \ldots , {C}^\mathcal{I} _{n}(x)). \end{aligned}$$

Applications. Fuzzy set theory and fuzzy logic [176] have proved to be suitable formalisms to handle fuzzy knowledge. Not surprisingly, fuzzy ontologies already emerge as useful in several applications, such as information retrieval [2, 37, 101, 166, 167, 171, 177], recommendation systems [38, 90, 118, 173], image interpretation [4749, 113, 137, 141, 142], the Semantic Web and the Internet [44, 120, 131], ambient intelligence [50, 51, 100, 127], ontology merging [42, 168], matchmaking [1, 43, 121125, 164, 165], decision making [156], summarization [89], robotics [57, 58], machine learning [9299, 163] and many others [6, 46, 59, 76, 88, 91, 102, 112, 119, 126, 132, 157].

3.3 Representing Fuzzy OWL Ontologies in OWL

OWL [115] and its successor OWL 2 [45, 116] are standard W3C languages for defining and instantiating Web ontologies whose logical counterpart are classical DLs. So far, several fuzzy extensions of DLs exists and some fuzzy DL reasoners have been implemented, such as fuzzyDL [14], DeLorean [10], Fire [60, 136], SoftFacts [159], GURDL [64], GERDS [65], YADLR [87], FRESG [172] and DLMedia [158, 167].

Not surprisingly, each reasoner uses its own fuzzy DL language for representing fuzzy ontologies and, thus, there is a need for a standard way to represent such information.

A first possibility would be to adopt as a standard one of the fuzzy extensions of the languages OWL and OWL 2 that have been proposed, such as [63, 133, 134]. However, as it is not expected that a fuzzy OWL extension will become a W3C proposed standard in the near future, [20, 22, 25] identifies the syntactic differences that a fuzzy ontology language has to cope with, and proposes to use OWL 2 itself to represent fuzzy ontologies. More precisely, [25] uses OWL 2 annotation properties to encode fuzzy \(\mathcal {SROIQ}\mathbf {(D)}\) [160] ontologies. The use of annotation properties makes it possible (i) to use current OWL 2 editors for fuzzy ontology representation, and (ii) that OWL 2 reasoners discard the fuzzy part of a fuzzy ontology, producing almost the same results as if it would not exist. In order to support this methodology for fuzzy ontology representation, [25] describes an implementation of a Protégé plug-in to edit fuzzy ontologies and some parsers that translate fuzzy ontologies represented using this methodology into the languages supported by some fuzzy DL reasoners.

Furthermore, the plug-in is integrated with the fuzzyDL [61] reasoner [9] and makes it possible to submit queries to it. For the moment, such queries must be expressed using the particular syntax supported by fuzzyDL.

We are not going into more detail here and refer the reader to [25] and the FuzzyOWL2 web site [62], from which one may download some fuzzy OWL 2 ontologies as well, such as a fuzzy wine ontology, an ontology for matchmaking, and multi-criteria decision making.

3.4 Reasoning Problems and Algorithms

In fuzzy DLs the following problems are of interest.

  • Consistency Problem:

  • Is \({\mathcal{K}}\) satisfiable?

  • Is C coherent, i.e. is \({C}^\mathcal{I} (x) > 0\) for some model \(\mathcal {I} \) of \({\mathcal{K}}\) and \(x \in {\varDelta }^\mathcal{I} \)?

  • Instance Checking Problem:

  • Does \({\mathcal{K}}\,\models \,\langle a{:}{C}, n \rangle \) hold?

  • Subsumption Problem:

  • Does \({\mathcal{K}}\,\models \,\langle C\sqsubseteq D, n \rangle \) hold?

  • Best Entailment Degree Problem:

  • What is \(bed({\mathcal{K}},\phi )\)?

  • Best Satisfiability Degree Problem:

  • What is \(bsd({\mathcal{K}},\phi )\)?

  • Instance Retrieval Problem:

  • Compute the set \(\{\langle a, n \rangle \mid n = bed({\mathcal{K}},a{:}{C}) \}\).

Similarly as for the crisp case, all the above problems can be reduced to satisfiability degree problems as long as the below presented reductions are supported by the underlying DL language (if not then specific algorithms have been developed): indeed, we have

Remark 5

(Fuzzy DL problem reductions). The following problem reductions hold:

  • \({\mathcal{K}}\) is satisfiable iff \(bsd({\mathcal{K}},a{:}{\perp }) > 0\), where a is a new individual.

  • C is coherent w.r.t.  \({\mathcal{K}}\) iff one of the following holds:

    • \({\mathcal{K}}\cup \{\langle {a{:}{C}} {>} {0} \rangle \}\) is satisfiable, where a is a new individual;

    • \({\mathcal{K}}\not \,\models \,\langle C \sqsubseteq \perp , 1 \rangle \);

    • \(bsd({\mathcal{K}},a{:}{C}) > 0\), where a is a new individual.

  • \({\mathcal{K}}\,\models \,\langle a{:}{C}, n \rangle \) iff one of the following holds:

    • \({\mathcal{K}}\cup \{\langle {a{:}{C}} {<} {n} \rangle \}\) is not satisfiable;

    • \(bed({\mathcal{K}},a{:}{C}) \ge n\).

  • \({\mathcal{K}}\,\models \,\langle C\sqsubseteq D, n \rangle \) iff one of the following holds:

    • \({\mathcal{K}}\cup \{\langle {a{:}{C \rightarrow D}} {<} {n} \rangle \}\) is not satisfiable, where a is a new individual;

    • \(bed({\mathcal{K}},C\sqsubseteq D) \ge n\).

  • We have that

    $$\begin{aligned} bed({\mathcal{K}},\phi )= & {} \min x. \text{ such } \text{ that } {\mathcal{K}}\cup \{ \langle {\phi } {\le } {x} \rangle \} \text{ satisfiable } \end{aligned}$$
    (15)
    $$\begin{aligned} bsd({\mathcal{K}},\phi )= & {} \max x. \text{ such } \text{ that } {\mathcal{K}}\cup \{ \langle {\phi } {\ge } {x} \rangle \} \text{ satisfiable } . \end{aligned}$$
    (16)

Various reasoning methods have been worked out for fuzzy DLs (see [160]), which can be classified in the following categories:

  • Tableaux algorithms, extending the tableaux algorithms for classical DLs to the fuzzy case.

  • Tableaux algorithms and optimisation problems, using a tableaux algorithm to reduce the reasoning to an optimisation problem.

  • Automata-based algorithms, adopting similar ideas used to prove some results in the classical case.

  • Reduction to classical DLs, for which existing reasoning algorithms are well-known.

  • Reduction to propositional fuzzy logics, for which reasoning has been widely studied.

We are not going to detail them here. However, let us point out that recently there have been some unexpected surprises [4, 5, 7, 41]. Reference [7] shows that \(\mathcal{ALC}\) with GCIs (i) does not have the finite model property under Łukasiewicz Logic or Product Logic, contrary to the classical case; (ii) illustrates that some developed algorithms are neither complete not correct; and (iii) shows some interesting conditions under which decidability is still guaranteed. References [4, 5] show that knowledge base satisfiability is an undecidable problem for Product Logic. The same holds for Łukasiewicz Logic as well [41]. In case the truth-space is finite and defined a priori, decidability is guaranteed (see, e.g. [12, 16, 144]).

The generalisation of fuzzy OWL to the case in which an annotation \(n \in [0,1]\) is replaced with an annotation value \(\lambda \) taken from another structure such as a complete lattice has been addressed in [149]. From a computational complexity point of view, similar results hold as for the [0, 1] case [31, 33, 149]. While [149] provides a decidability result in case the lattice is finite, [31] further improves the decidability result by characterising the computational complexity of KB satisfiability problem for \(\mathcal{ALC}\) with GCIs over finite lattices being EXPTIME-complete, as for the crisp variant, while [33] shows that the KB satisfiability problem for \(\mathcal{ALC}\) with GCIs over non finite lattices is undecidable.

4 Conclusions

We have provided a “crash course” through fuzzy DLs, by illustrating the basic concepts involved in. For a more in depth presentation, we refer the reader to [160].