F2_BobilloEtAl DeLorean: A Reasoner for Fuzzy OWL 1.1 Fernando Bobillo, Miguel Delgado, and Juan Gómez-Romero Department of Computer Science and Artificial Intelligence, University of Granada C. Periodista Daniel Saucedo Aranda, 18071 Granada, Spain Phone: +34 958243194; Fax: +34 958243317 Email: fbobillo@decsai.ugr.es, mdelgado@ugr.es, jgomez@decsai.ugr.es Abstract. Classical ontologies are not suitable to represent imprecise or vague pieces of information, which has led to fuzzy extensions of De- scription Logics. In order to support an early acceptance of the OWL 1.1 ontology language, we present DeLorean, the first reasoner that supports a fuzzy extension of the Description Logic SROIQ, closely equivalent to it. It implements some interesting optimization techniques, whose usefulness is shown in a preliminary empirical evaluation. 1 Introduction Ontologies are a core element in the layered architecture of the Semantic Web. The current standard language for ontology representation is the Web Ontology Language (OWL). However, since its first development, several limitations on the expressiveness of OWL have been identified, and consequently several extensions to the language have been proposed. Among them, the most significant is OWL 1.1 [1] which is its most likely immediate successor. Description Logics (DLs for short) [2] are a family of logics for representing structured knowledge. They have proved to be very useful as ontology languages, and the DL SROIQ(D) is actually closely equivalent to OWL 1.1. It has been widely pointed out that classical ontologies are not appropriate to deal with imprecise and vague knowledge, which is inherent to several real- world domains. Since fuzzy logic is a suitable formalism to handle these types of knowledge, several fuzzy extensions of DLs have been proposed [3]. The broad acceptance of the forthcoming OWL 1.1 ontology language will largely depend on the availability of editors, reasoners, and other numerous tools that support the use of OWL 1.1 from a high-level/application perspective [4]. With this idea in mind, this work reports the implementation of DeLorean, the first reasoner that supports the fuzzy DL SROIQ. We also present a new optimization (handling superfluous elements before applying crisp reasoning) and a preliminary evaluation of the optimizations in the reduction. This paper is organized as follows. Section 2 describes the fuzzy DL SROIQ, which is equivalent to the fuzzy language supported by DeLorean. Then, Section 3 describes the reasoning algorithm, based on a reduction into crisp SROIQ. Section 4 presents our implementation, some of the implemented opti- mizations (including handling of superfluous elements), and a preliminary eval- uation. Finally, Section 6 sets out some conclusions and ideas for future work. 2 A Quick View to Fuzzy SROIQ In this section we recall the definition of fuzzy SROIQ [6], which extends SROIQ to the fuzzy case by letting concepts denote fuzzy sets of individuals and roles denote fuzzy binary relations. Axioms are also extended to the fuzzy case and some of them hold to a degree. We will assume a set of degrees of truth which are rational numbers of the form ! ! (0, 1], " ! [0, 1) and # ! [0, 1]. Moreover, we will assume a set of inequalities $% ! {", <, #, >}, ! ! {", <}, " ! {#, >}. For every operator $%, we define: (i) its symmetric operator $%!, defined as "!=#, >!=<, #!=", ; (ii) its negation operator ¬ $%, defined as ¬ "=<, ¬ >=#, ¬ #=>, ¬ <=". Syntax. In fuzzy SROIQ we have three alphabets of symbols, for concepts (C), roles (R), and individuals (I). The set of roles is defined by RA $ U $ {R!|R ! RA}, where RA ! R, U is the universal role and R! is the inverse of R. Assume A ! C, R, S ! R (where S is a simple role [7]), oi ! I for 1 # i # m, m " 1, n " 0. Fuzzy concepts are defined inductively as follows: C, D % & | ' | A | C (D | C )D | ¬C | *R.C | +R.C | {!1/o1, . . . , !m/om} | (" m S.C) | (# n S.C) | +S.Self . Let a, b ! I. The axioms in a fuzzy Knowledge Base K are grouped in a fuzzy ABox A, a fuzzy TBox T , and a fuzzy RBox R1 as follows: ABox Concept assertion !a : C " !#, !a : C > "#, !a : C $ "#, !a : C < !# Role assertion !(a, b) : R " !#, !(a, b) : R > "#, !(a, b) : R $ "#, !(a, b) : R < !# Inequality assertion !a %= b# Equality assertion !a = b# TBox Fuzzy GCI !C & D " !#, !C & D > "# Concept equivalence C ' D, equivalent to {!C & D " 1#, !D & C " 1#} RBox Fuzzy RIA !R1R2 . . . Rn & R " !#, !R1R2 . . . Rn & R > "# Transitive role axiom trans(R) Disjoint role axiom dis(S1, S2) Reflexive role axiom ref (R) Irreflexive role axiom irr(S) Symmetric role axiom sym(R) Asymmetric role axiom asy(S) Semantics. A fuzzy interpretation I is a pair (&I, ·I), where &I is a non empty set (the interpretation domain) and ·I a fuzzy interpretation function mapping: (i) every individual a onto an element aI of &I; (ii) every concept C onto a function CI : &I % [0, 1]; (iii) every role R onto a function RI : &I , &I % [0, 1]. CI (resp. RI) denotes the membership function of the fuzzy concept C 1 The syntax of role axioms is restricted to guarantee the decidability of the logic [6]. (resp. fuzzy role R) w.r.t. I. CI(x) (resp. RI(x, y)) gives us the degree of being the individual x an element of the fuzzy concept C (resp. the degree of being (x, y) an element of the fuzzy role R) under the fuzzy interpretation I. Given a t-norm -, a t-conorm ., a negation function / and an implication function 0 [8], the interpretation is extended to complex concepts and roles as: &I(x) = 1 'I(x) = 0 (C ( D)I(x) = CI(x) - DI(x) (C ) D)I(x) = CI(x) . DI(x) (¬C)I(x) = /CI(x) (*R.C)I(x) = infy"!I{RI(x, y) 0 CI(y)} (+R.C)I(x) = supy"!I{RI(x, y) - CI(y)} {!1/o1, . . . , !m/om}I(x) = supi | x=oIi !i (" m S.C)I(x) = supy1,...,ym"!I [(- n i=1{S I(x, yi) - CI(yi)}) ! (-j 0 then SI(y, x) = 0, – a fuzzy KB K = 3A, T , R4 i" it satisfies each element in A, T and R. Irreflexive, transitive and symmetric role axioms are syntactic sugar for every R-implication (and consequently it can be assumed that they do not appear in fuzzy KBs) due to the following equivalences: irr(S) 6 3& 5 ¬+S.Self " 14, trans(R) 6 3RR 5 R " 14 and sym(R) 6 3R 5 R! " 14. In the rest of the paper we will only consider fuzzy KB satisfiability, since (as in the crisp case) most inference problems can be reduced to it [9]. 3 A Crisp Representation for Fuzzy SROIQ In this section we show how to reduce a fuzzy Z SROIQ fuzzy KB into a crisp KB (see [5, 6] for details). The procedure preserves reasoning, in such a way that existing SROIQ reasoners could be applied to the resulting KB. The basic idea is to create some new crisp concepts and roles, representing the !-cuts of the fuzzy concepts and roles, and to rely on them. Next, some new axioms are added to preserve their semantics, and finally every axiom in the ABox, the TBox and the RBox is represented using these new crisp elements. Adding new elements. Let AK and RK be the set of atomic concepts and roles occurring in a fuzzy KB K = 3A, T , R4. The set of the degrees which must be considered for any reasoning task is defined as NK = #, 1 2 # | 3' $% #4 ! K. Now, for each !, " ! NK with ! ! (0, 1] and " ! [0, 1), for each A ! AK and for each RA ! RK, two new atomic concepts A#", A># and two new atomic roles R#", R># are introduced. A#" represents the crisp set of individuals which are instance of A with degree higher or equal than ! i.e the !-cut of A. The semantics of these newly introduced atomic concepts and roles is pre- served by some terminological and role axioms. For each 1 # i # |NK| 2 1, 2 # j # |NK|21 and for each A ! AK, T (NK) is the smallest terminology containing these two axioms: A#$i+1 5 A>$i , A>$j 5 A#$j . Similarly, for each RA ! RK, R(NK) contains these axioms: R#$i+1 5 R>$i , R>$i 5 R#$i . Example 1. Consider the fuzzy KB K = {'}, where ' = 3StGenevieveTexasWhite : WhiteWine " 0.754}. We have that NK = {0, 0.25, 0.5, 0.75, 1} and T (NK) = {WhiteWine#0.25 5 WhiteWine>0, WhiteWine>0.25 5 WhiteWine#0.25, WhiteWi- ne#0.5 5 WhiteWine>0.25, WhiteWine>0.5 5 WhiteWine#0.5, WhiteWine#0.5 5 WhiteWine>0.25, WhiteWine>0.5 5 WhiteWine#0.5, WhiteWine#0.75 5 WhiteWi- ne>0.5, WhiteWine>0.75 5 WhiteWine#0.75, WhiteWine#1 5 WhiteWine>0.75}. () Mapping fuzzy concepts, roles and axioms. Concept and role expressions are reduced using mapping (, as shown in the first part of Table 1. Given a fuzzy concept C, ((C, " !) is a crisp set containing all the elements which belong to C with a degree greater or equal than ! (the other cases are similar). For instance, the 1-cut of the fuzzy concept *madeFromFruit.(NonSweetFruit ) SweetFruit) is ((*madeFromFruit.(NonSweetFruit ) SweetFruit), " 1) = *madeFromFruit>0.Non- SweetFruit#1 ) SweetFruit#1. Finally, we map the axioms in the ABox, TBox and RBox. Axioms are re- duced as shown in the second part of Table 1, where ) maps fuzzy axioms into crisp assertions, and * maps fuzzy TBox (resp. RBox) axioms into crisp TBox (resp. RBox) axioms. Recall that we are assuming that irreflexive, transitive and symmetric role axioms do not appear in the RBox. For example, assuming NK = {0, 0.25, 0.5, 0.75, 1}, the reduction of the fuzzy GCI 3Port 5 RedWine " 14 is *(3Port 5 RedWine " 14) = {Port>0 5 RedWine>0, Port#0.25 5 RedWine#0.25, Port>0.25 5 RedWine>0.25, Port#0.5 5 RedWine#0.5, Port>0.5 5 RedWine>0.5, Port#0.75 5 RedWine#0.75, Port>0.75 5 RedWine>0.75, Port#1 5 RedWine#1}. Table 1. Mapping of concept and role expressions, and reduction of the axioms. The semantics of &G uses Gödel implication, that of &KD uses Kleene-Dienes implication. Fuzzy concepts #((, !$) ( #((, "$) ) #(), !$) ) #(), "$) ( #(A, !$) A!! #(A, "$) ¬A¬"! #(¬C, %& $) #(C, %&! 1 * $) #(C + D, !$) #(C, !$) + #(D, !$) #(C + D, "$) #(C, "$) , #(D, "$) #(C , D, !$) #(C, !$) , #(D, !$) #(C , D, "$) #(C, "$) + #(D, "$) #(-R.C, !$) -#(R, !$).#(C, !$) #(-R.C, "$) .#(R, ¬" $).#(C, "$) #(.R.C, {", >}$) .#(R, {>, "}1 * $).#(C, {", >}$) #(.R.C, "$) -#(R, "!1 * $).#(C, "$) #({!1/o1, . . . , !m/om}, %& $) {oi | !i %& $, 1 $ i $ m} #(" m S.C, !$) " m #(S, !$).#(C, !$) #(" m S.C, "$) $ m*1 #(S, ¬ " $).#(C, ¬ " $) #($ n S.C, {", >} $) $ n #(S, {>, "} 1 * $).#(C, {>, "} 1 * $) #($ n S.C, "$) " n+1 #(S, "! 1 * $).#(C, "! 1 * $) #(-S.Self, !$) -#(S, !$).Self #(-S.Self, "$) ¬-#(S, ¬ " $).Self Fuzzy roles #(RA, !$) RA!! #(RA, "$) ¬RA¬"! #(R!, %& $) #(R, %& $)! #(U, !$) U #(U, "$) ¬U Axioms '(!a : C %& $#) {a : #(C, %& $)} '(!(a, b) : R %& $#) {(a, b) : #(R, %& $)} '(!a %= b#) {a %= b} '(!a = b#) {a = b} ((C &G D " !) ! !"N f K \{0} | !#"{#(C, " $) & #(D, " $)}! !"N f K | !<"{#(C, > $) & #(D, > $)} ((C &G D > ") ((C & D " ") / {#(C, > ") & #(D, > ")} ((C &KD D " !) {#(C, > 1 * !) & #(D, " !) } ((C &KD D > ") {#(C, " 1 * ") & #(D, > ") } ((!R1 . . . Rn &G R " !#) ! !"N f K \{0} | !#"{#(R1, " $) . . . #(Rn, " $) & #(R, " $)}! !"N f K | !<"{#(R1, > $) . . . #(Rn, > $) & #(R, > $)} ((!R1 . . . Rn &G R > "#) ((!R1 . . . Rn & R " "#) / {#(R1, > ") . . . #(Rn, > ") & #(R, > ")} ((!R1 . . . Rn &KD R " !#) {#(R1, > 1 * !) . . . #(Rn, > 1 * !) & #(R, " !)} ((!R1 . . . Rn &KD R > "#) {#(R1, " 1 * ") . . . #(Rn, " 1 * ") & #(R, > ")} ((dis(S1, S2)) {dis(#(S1, > 0), #(S2, > 0))} ((ref (R)) {ref (#(R, " 1))} ((asy(S)) {asy(#(S, > 0)} Properties. Summing up, a fuzzy KB K = 3A, T , R4 is reduced into a KB crisp(K) = 3)(A), T (NK) $ *(K, T ), R(NK) $ *(K, R)4. The following theorem shows that the reduction preserves reasoning: Theorem 1. A Z SROIQ fuzzy KB K is satisfiable i! crisp(K)) is [6]. The resulting KB is quadratic because it depends on the number of relevant degrees |NK|, or linear if we assume a fixed set. An interesting property is that the reduction of an ontology can be reused when adding a new axiom. If the new axioms does not introduce new atomic concepts, atomic roles nor a new degree of truth, we just need to add the reduction of the axiom. 4 DeLorean Reasoner This section describes the prototype implementation of our reasoner, which is called DeLorean (DEscription LOgic REasoner with vAgueNess). Initially, we developed a first version based on Jena API2 [6]. This version was developed in Java, using the parser generator JavaCC3, and DIG 1.1 in- terface [10] to communicate with crisp DL reasoners. An interesting property is the possibility of using any crisp reasoner thanks to the DIG interface. However, DIG interface does not yet support full SROIQ, so the logic supported by De- Lorean was restricted to Z SHOIN (OWL DL). From a historical point of view, this version was the first reasoner that supported a fuzzy extension of the OWL DL language. It implemented the reduction described in [11], and applied the optimization in the number of new elements and axioms described below. With the aim of augmenting the expressivity of the logic, in the current version we have changed the subjacent API to OWL API for OWL 24 [4]. Now, DeLorean supports both Z SROIQ(D) and G SROIQ(D), which correspond to fuzzy versions of OWL 1.1 under Zadeh and Gödel semantics, respectively. Since DIG interface does not currently allow the full expressivity of OWL 1.1, our solution was to integrate directly DeLorean with a concrete crisp ontology reasoner: Pellet [12], which can be directly used from the current version of the OWL API. This way, the user is free to choose to use either a generic crisp reasoner (restricting the expressivity to SHOIQ) or Pellet with no expressivity limitations. DeLorean is the first reasoner that supports a fuzzy extension of OWL 1.1. Figure 1 illustrates the architecture of the system: – The Parser reads an input file with a fuzzy ontology and translates it into an internal representation. The point here is that we can use any language to encode the fuzzy ontology, as long as the Parser can understand the representation and the reduction is properly implemented. Consequently we will not get into details of our particular choice. 2 http://jena.sourceforge.net/ 3 https://javacc.dev.java.net 4 http://owlapi.sourceforge.net Fig. 1. Architecture of DeLorean reasoner. In order to make the representation of fuzzy KBs easier, DeLorean also al- lows the possibility of importing OWL 1.1 ontologies. These (crisp) ontologies are saved into a text file which the user can edit and extend, for example adding membership degrees to the fuzzy axioms or specifying a particular fuzzy operator (Zadeh or Gödel family) for some complex concept. – The Reduction module implements the reduction procedures described in the previous section, building an OWL API model with an equivalent crisp on- tology which can be exported to an OWL file. The implementation also takes into account all the optimizations already discussed along this document. – The Inference module tests this ontology for consistency, using either Pel- let or any crisp reasoner through the DIG interface. Crisp reasoning does not take into account superfluous elements as we explain below. – Inputs (the path of the fuzzy ontology) and outputs (the result of the rea- soning and the elapsed time) are managed by an User interface. The reasoner implements the following optimizations: Optimizing the number of new elements and axioms. Previous works use two more atomic concepts A$# , A<" and some additional axioms A<$k 5 A$$k , A$$i 5 A<$i+1 , A#$k(A<$k 5 ', A>$i(A$$i 5 ', & 5 A#$k)A<$k , & 5 A>$i ) A$$i , 2 # k # |NK|. In [6] it is shown that they are unnecessary. Optimizing GCI reductions. In some particular cases, the reduction of fuzzy GCIs can be optimized [6]. For example, in range role axioms of the form 3& 5 *R.C " 14, domain role axioms of the form 3& 5 *R!.C " 14 and functional role axioms of the form 3& 5# 1 R.& " 14 we can use that *(3& 5 D $% #4) = & 5 ((D, $% #). Also, in disjoint concept axioms of the form 3C ( D 5 ' " 14, we can use that *(C 5 ' $% #) = ((C, > 0) 5 '. Furthermore, if the resulting TBox contains A 5 B, A 5 C and B 5 C, then A 5 C is unnecessary since it can be deduced from the other two axioms. Allowing crisp concepts and roles. Suppose that A is a fuzzy concept. Then, we need NK 2 1 concepts of the form A#" and another NK 2 1 concepts of the form A># to represent it, as well as 2 · (|NK| 2 1) 2 1 axioms to preserve their semantics. Fortunately, in real applications not all concepts and roles will be fuzzy. If A is declared to be crisp, we just need one concept to represent it and no new axioms. The case for fuzzy roles is exactly the same. Of course, this optimization requires some manual intervention. Reasoning ignoring superfluous elements. Our reduction is designed to promote reusing. For instance, consider the fuzzy KB K in Example 1. The reduc- tion of K contains )(' ) = StGenevieveTexasWhite : WhiteWine#0.75, but also the axioms in T (NK). It can be seen that the concepts WhiteWine>0, WhiteWine#0.25, WhiteWine>0.25, WhiteWine#0.5, WhiteWine>0.5, WhiteWine>0.75, WhiteWine#1 are superfluous in the sense that cannot cause a contradiction. Hence, for a satisfia- bility test of crisp(K), we can avoid the axioms in T (NK) where they appear. But please note that if additional axioms are added to K, crisp(K) will be di"erent and previous superfluous concept and roles may not be superfluous any more. For example, if we want to check if K $ 3StGenevieveTexasWhite : WhiteWine " 0.54 is satisfiable, then the concept WhiteWine#0.5 is no longer superfluous. In this case, it is enough to consider T %(NK) = {WhiteWine#0.75 5 WhiteWine#0.5}. The case of atomic roles is similar to that of atomic concepts. 5 Use Case: A Fuzzy Wine Ontology This section considers a concrete use case, a fuzzy extension of the well-known Wine ontology5, a highly expressive ontology (in SHOIN (D)). Some metrics of the ontology are shown in the first column of Table 2. In an empirical evaluation of the reductions of fuzzy DLs to crisp DLs, P. Cimiano et al. wrote that “the Wine ontology showed to be completely intractable both with the optimized and unoptimized reduction even using only 3 degrees” [13]. They only considered there what we have called here “optimization of the number of new elements and axioms”. We will show that the rest of the optimizations, specially the (natural) assumption that there are some crisp elements, reduce significantly the number of axioms, even if tractability of the reasoning is to be verified. A fuzzy extension of the ontology. We have defined a fuzzy version of the Wine ontology by adding a degree to the axioms. Given a variable set of degrees NK, the degrees of the truth for fuzzy assertions is randomly chosen in NK. In the case of fuzzy GCIs and RIAs, the degree is always 1 in special GCIs (namely concept equivalences and disjointness, domain, range and functional role axioms) or if there is a crisp element in the left side; otherwise, the degree is 0.5. In most of the times fuzzy assertions are of the form 3' ! "4 with " 1= 1. Clearly, this favors the use of elements of the forms C!# and R!# , reducing the number of superfluous concepts. Once again, we are in the worst case from the 5 http://www.w3.org/TR/2003/CR-owl-guide-20030818/wine.rdf point of view of the size of the resulting crisp ontology. Nonetheless, in practice we will be often able to say that an individual fully belongs to a fuzzy concept, or that two individuals are fully related by means of a fuzzy role. Crisp concepts and roles. A careful analysis of the fuzzy KB brings about that most of the concepts and the roles should indeed be interpreted as crisp. For example, most of the subclasses of the class Wine refer to a well-defined geographical origin of the wines. For instance, Alsatian wine is a wine which has been produced in the French region of Alsace: AlsatianWine 6 Wine ( +locatedAt.{alsaceRegion}. In other applications there could exist examples of fuzzy regions, but this is not our case. Another important number of sub- classes of Wine refer to the type of grape used, which is also a crisp concept. For instance, Riesling is a wine which has been produced from Riesling grapes: Riesling 6 Wine ( +madeFromGrape.{RieslingGrape}( " 1 madeFromGrape.&. Clearly, there are other concepts with no sharp boundaries (for instance, those derived from the vague terms “dry”, “sweet”, “white” or“heavy”). The re- sult of our study has identified 50 fuzzy concepts in the Wine ontology, namely: WineColor, RedWine, RoseWine, WhiteWine, RedBordeaux, RedBurgundy, RedTa- bleWine, WhiteBordeaux, WhiteBurgundy, WhiteLoire, WhiteTableWine, WineSugar, SweetWine, SweetRiesling, WhiteNonSweetWine, DryWine, DryRedWine, DryRies- ling, DryWhiteWine, WineBody, FullBodiedWine, WineFlavor, WineTaste, LateHar- vest, EarlyHarvest, NonSpicyRedMeat, NonSpicyRedMeatCourse, SpicyRedMeat, PastaWithSpicyRedSauce, PastaWithSpicyRedSauceCourse, PastaWithNonSpicyRed- Sauce, PastaWithNonSpicyRedSauceCourse, SpicyRedMeatCourse, SweetFruit, Sweet- FruitCourse, SweetDessert, SweetDessertCourse, NonSweetFruit, NonSweetFruit- Course, RedMeat, NonRedMeat, RedMeatCourse, NonRedMeatCourse, PastaWith- HeavyCreamSauce, PastaWithLightCreamSauce, Dessert, CheeseNutsDessert, De- ssertCourse, CheeseNutsDessertCourse, DessertWine. Furthermore, we identified 5 fuzzy roles: hasColor, hasSugar, hasBody, hasFla- vor, and hasWineDescriptor (which is a super-role of the other four). Measuring the importance of the optimizations. The reduction under Gödel semantics is still to be published [14], so we focus our experimentation in Z SROIQ (omitting the concrete role yearValue), but allowing the use of both Kleene-Dienes and Gödel implications in the semantics of fuzzy GCIs and RIAs. Table 2 shows some metrics of the crisp ontologies obtained in the reduction of the fuzzy ontology after applying di"erent optimizations. 1. Column “Original” shows some metrics of the original ontology. 2. “None” considers the reduction obtained after applying no optimizations. 3. “(NEW)” considers the reduction obtained after optimizing the number of new elements and axioms. 4. “(GCI)” considers the reduction obtained after optimizing GCI reductions. 5. “(C/S)” considers the reduction obtained after allowing crisp concepts and roles and ignoring superfluous elements. 6. Finally, “All” applies all the previous optimizations. Table 2. Metrics of the Wine ontology and its fuzzy versions using 5 degrees Original None (NEW) (GCI) (C/S) All Individuals 206 206 206 206 206 206 Named concepts 136 2176 486 2176 800 191 Abstract roles 16 128 128 128 51 20 Concept assertions 194 194 194 194 194 194 Role assertions 246 246 246 246 246 246 Inequality assertions 3 3 3 3 3 3 Equality assertions 0 0 0 0 0 0 New GCIs 0 4352 952 4352 1686 324 Subclass axioms 275 1288 1288 931 390 390 Concept equivalences 87 696 696 696 318 318 Disjoint concepts 19 152 152 19 152 19 Domain role axioms 13 104 104 97 104 97 Range role axioms 10 80 80 10 80 10 Functional role axioms 6 48 48 6 48 6 New RIAs 0 136 119 136 34 34 Sub-role axioms 5 40 40 40 33 33 Role equivalences 0 0 0 0 0 0 Inverse role axioms 2 16 16 16 2 2 Transitive role axioms 1 8 8 8 1 1 We have put together the optimizations of crisp and superfluous elements because in this ontology handling superfluous concepts is not always useful, due to the existence of a lot of concept definitions, as we will see in the next example. Example 2. Consider the fuzzy concept NonRedMeat. Firstly, this concept ap- pears as part of a fuzzy assertion stating that pork is a non read meat: )(3Pork : NonRedMeat ! !14) = Pork : NonRedMeat!"1 . Secondly, non read meat is de- clared to be disjoint from read meat: *(3RedMeat ( NonRedMeat 5 ' " 14) = RedMeat>0 ( NonRedMeat>0 5 '. Thirdly, non read meat is a kind of meat: *(3NonRedMeat 5 Meat " !24) = NonRedMeat>0 5 Meat. If these were the only occurrences of NonRedMeat, then the reduction would create only two non- superfluous crisp concepts, namely NonRedMeat>0 and NonRedMeat!"1 , and in order to preserve the semantics of them we would need to add just one axiom during the reduction: NonRedMeat!"1 5 NonRedMeat>0. However, this is not true because NonRedMeat appears in the definition of the fuzzy concept NonRedMeatCourse. In fact, *(NonRedMeatCourse 6 MealCourse ( *hasFood.NonRedMeat) introduces non-superfluous crisp concepts for the rest of the degrees in NK. Consequently, for each 1 # i # |NK| 2 1, 2 # j # |NK|21, the reduction adds to T (NK) the following axioms: NonRedMeat#$i+1 5 NonRedMeat>$i ; NonRedMeat>$j 5 NonRedMeat#$j . () Note that the size of the ABox is always the same, because every axiom in the fuzzy ABox generates exactly one axiom in the reduced ontology. The number of new GCIs and RIAs added to preserve the semantics of the new elements is much smaller in the optimized versions. In particular, we reduce from 4352 to 324 GCIs (7.44%) and from 136 to 34 RIAs (25%). This shows the importance of reducing the number of new crisp elements and their corresponding axioms, as well as of defining crisp concepts and roles and (to a lesser extent) handling superfluous concepts. Optimizing GCI reductions turns out to be very useful in reducing the num- ber of disjoint concepts, domain, range and functional role axioms: 152 to 19 (12.5 %), 104 to 97 (93.27 %), 80 to 10 (12.5 %), and 48 to 6 (12.5 %), respec- tively. In the case of domain role axioms the reduction is not very high because we need an inverse role to be defined in order to apply the reduction, and this happens only in one of the axioms. Every fuzzy GCI or RIA generates several axioms in the reduced ontology. Combining the optimization of GCI reductions with the definition of crisp con- cepts and roles reduces the number of new axioms, from 1288 to 390 subclass axioms (30.28 %), from 696 to 318 concept equivalences (45.69 %) and from 40 to 33 sub-role axioms (82.5 %). Finally, the number of inverse and transitive role axioms is reduced in the optimized version because fuzzy roles interpreted as crisp introduce one inverse or transitive axiom instead of several ones. This allows a reduction from 16 to 2 axioms, and from 8 to 1, respectively, which corresponds to the 12.5 %. Table 3 shows the influence of the number of degrees on the size of the resulting crisp ontology, as well as on the reduction time (which is shown in seconds), when all the described optimizations are used. The reduction time is small enough to allow to recompute the reduction of an ontology when necessary, thus allowing superfluous concepts and roles in the reduction to be avoided. Table 3. Influence of the number of degrees in the reduction. Crisp 3 5 7 9 11 21 Number of axioms 811 1166 1674 2182 2690 3198 5738 Reduction time - 0.343 0.453 0.64 0.782 0.859 1.75 6 Conclusions and Future Work This paper has presented DeLorean, the more expressive fuzzy DL reasoner that we are aware of (it supports fuzzy OWL 1.1), and the optimizations that it implements. Among them, the current version enables the definition of crisp concepts and roles, as well as handling superfluous concepts and roles before applying crisp reasoning. A preliminary evaluation shows that these optimiza- tions help to reduce significantly the size of the resulting ontology. In future work we plan to develop a more detailed benchmark by relying on the hyper- tableau reasoner HermiT, which seems to outperform other DL reasoners [15], and, eventually, to compare it against other fuzzy DL reasoners. Acknowledgements This research has been partially supported by the project TIN2006-15041-C04-01 (Mi- nisterio de Educación y Ciencia). Fernando Bobillo holds a FPU scholarship from Minis- terio de Educación y Ciencia. Juan Gómez-Romero holds a scholarship from Consejeŕıa de Innovación, Ciencia y Empresa (Junta de Andalućıa). References 1. Patel-Schneider, P.F., Horrocks, I.: OWL 1.1 Web Ontology Language overview (2006) [Online] Available: http://www.w3.org/Submission/owl11-overview/. 2. Baader, F., Calvanese, D., McGuinness, D., Nardi, D., Patel-Schneider, P.F.: The Description Logic Handbook: Theory, Implementation, and Applications. Cam- bridge University Press (2003) 3. Lukasiewicz, T., Straccia, U.: Managing uncertainty and vagueness in Description Logics for the Semantic Web. Journal of Web Semantics (To appear) 4. Horridge, M., Bechhofer, S., Noppens, O.: Igniting the OWL 1.1 touch paper: The OWL API. In: Proc. of the 3rd International Workshop on OWL: Experiences and Directions (OWLED 2007). Volume 258., CEUR Workshop Proceedings (2007) 5. Straccia, U.: Transforming fuzzy Description Logics into classical Description Log- ics. In: Proceedings of the 9th European Conference on Logics in Artificial Intelli- gence (JELIA-04). Volume 3229 of Lecture Notes in Computer Science., Springer- Verlag (2004) 385–399 6. Bobillo, F., Delgado, M., Gómez-Romero, J.: Optimizing the crisp representation of the fuzzy Description Logic SROIQ. In: Proceedings of the 3rd ISWC Work- shop on Uncertainty Reasoning for the Semantic Web (URSW 2007). Volume 327., CEUR Workshop Proceedings (2007) 7. Horrocks, I., Kutz, O., Sattler, U.: The even more irresistible SROIQ. In: Pro- ceedings of the 10th International Conference of Knowledge Representation and Reasoning (KR 2006). (2006) 452–457 8. Hájek, P.: Metamathematics of Fuzzy Logic. Kluwer (1998) 9. Straccia, U.: Reasoning within fuzzy Description Logics. Journal of Artificial Intelligence Research 14 (2001) 137–166 10. Bechhofer, S., Möller, R., Crowther, P.: The DIG Description Logic interface: DIG / 1.1. In: Proc. of the 16th Int. Workshop on Description Logics (DL 2003). (2003) 11. Bobillo, F., Delgado, M., Gómez-Romero, J.: A crisp representation for fuzzy SHOIN with fuzzy nominals and General Concept Inclusions. In: Proceedings of the 2nd ISWC Workshop on Uncertainty Reasoning for the Semantic Web (URSW 2006). Volume 218., CEUR Workshop Proceedings (2006) 12. Sirin, E., Parsia, B., Cuenca-Grau, B., Kalyanpur, A., Katz, Y.: Pellet: A practical OWL-DL reasoner. Journal of Web Semantics 5(2) (2007) 51–53 13. Cimiano, P., Haase, P., Ji, Q., Mailis, T., Stamou, G.B., Stoilos, G., Tran, T., Tzouvaras, V.: Reasoning with large A-Boxes in fuzzy Description Logics using DL reasoners: An experimental valuation. In: Proceedings of ARea2008. Volume 350., CEUR Workshop Proceedings (2008) 14. Bobillo, F., Delgado, M., Gómez-Romero, J., Straccia, U.: Fuzzy Description Logics under Gödel semantics. (Submitted) 15. Motik, B., Shearer, R., Horrocks, I.: Optimized reasoning in Description Logics using hypertableaux. In: Proc. of the 21st International Conference on Automated Deduction (CADE-21). Lecture Notes in Artificial Intelligence 4603 (2007) 67–83