<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Prot e´g e´ Plug-in for Defeasible Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kody Moodley</string-name>
          <email>kmoodley@csir.co.za</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Meyer</string-name>
          <email>tmeyer@csir.co.za</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ivan Varzinczak</string-name>
          <email>ivarzinczak@csir.co.za</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Centre for Artificial Intelligence Research CSIR Meraka and University of KwaZulu-Natal</institution>
          ,
          <country country="ZA">South Africa</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We discuss two approaches for defeasible reasoning in Description Logics that allow for the statement of defeasible subsumptions of the form “ subsumed by usually holds”. These approaches are known as prototypical reasoning and presumptive reasoning and are both rooted in the notion of Rational Closure developed by Lehmann and Magidor for the propositional case. Here we recast their definitions in a defeasible DL context and define algorithms for prototypical and presumptive reasoning in defeasible DL knowledge bases. In particular, we present a plug-in for the Prote´ge´ ontology editor which implements these algorithms for OWL ontologies. The plug-in is called RaMP and allows the modeller to indicate defeasible information in OWL ontologies and check entailment of defeasible subsumptions from defeasible knowledge bases.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Entailment in standard DL reasoning systems is monotonic. Monotonicity is a
property of knowledge representation (KR) systems that are built upon classical logics. It
specifies that knowledge is always ‘incremental’. That is, adding to (or strengthening)
the information in a Knowledge Base (KB) cannot result in any previously known
conclusions being retracted from the KB. In classical logics, monotonic behaviour is
exhibited on two levels. Firstly, on the meta-level where if a statement ' follows
logically from a KB K then ' also follows from any superset of K and, secondly, on the
object level from v it follows that u v for any .</p>
      <p>It turns out that there are applications in which monotonicity is undesirable, i.e.,
non-monotonic reasoning is required. A typical scenario is when one needs to model
exceptions in a domain. Let us consider an example. We select a domain which
describes power plants (specifically nuclear power plants) and their safety under certain
conditions. The following concept and role names will be used: PP (power plants),
NPP (nuclear power plants), BrNPP (Brazilian nuclear power plants), SeismicArea
(tracts of land prone to seismic activity), DangerousPP (power plants which are
unsafe due to some conditions) and isLocIn (a property of an entity indicating where it is
located geographically). We specify a simple example using the vocabulary described
above. Consider the following DL knowledge base</p>
      <p>K =</p>
    </sec>
    <sec id="sec-2">
      <title>BrNPP v NPP; NPP v :DangerousPP</title>
      <p>From K we conclude classically that a Brazilian nuclear power plant is not a
dangerous power plant (BrNPP v :DangerousPP). This conclusion displays typical
monotonic reasoning behaviour. That is, enforcing that all Brazilian nuclear power
plants are nuclear power plants (BrNPP v NPP) and that all nuclear power plants are
not dangerous power plants (NPP v :DangerousPP), it is also implicitly enforced
that all Brazilian nuclear power plants are not dangerous power plants. tu</p>
      <p>From an ontology modeller’s perspective, the type of reasoning behaviour
exhibited in the example may not be suitable always. This is because the modeller may want
to be able to cater for exceptions. We may not want to enforce that all nuclear power
plants are safe. Rather, we may want to represent something less rigid. For example,
one may want to express that in the most normal cases nuclear power plants are not
dangerous but that there may be some exceptional cases in which they are
dangerous (defeasible information). The broad approach to reasoning with KBs that contain
defeasible information is known as defeasible reasoning and is a popular way to
introduce non-monotonic reasoning behaviour into knowledge representation systems.</p>
      <p>Returning to the example above, we argue that one needs to develop a defeasible
reasoning approach to capture intuitions like: In general, nuclear power plants are not
dangerous but a specific type of nuclear power plant (e.g., a Brazilian nuclear power
plant located in a seismic area) may be dangerous. It would be useful to have a robust
system in the DL setting that is capable of implementing this kind of reasoning.</p>
      <p>The goal of this paper is to present and demonstrate a preliminary version of the
software defeasible reasoning system that we have developed to be used with OWL
ontologies. This system, known as RaMP, has been packaged as a plug-in for the
popular Prote´ge´ ontology editor. The plug-in is discussed in more detail in Section 4.
2</p>
      <sec id="sec-2-1">
        <title>Background</title>
        <p>
          There are various approaches for introducing non-monotonic reasoning capabilities in
logic-based knowledge representation systems. Among these, the approach by Kraus,
Lehmann and Magidor (often called the KLM approach) [
          <xref ref-type="bibr" rid="ref7 ref9">7,9</xref>
          ] has been particularly
successful due to its elegance and robustness. They enrich propositional logic with a
defeasible ‘implication’ operator ( j ). This operator allows one to write down
defeasible implication statements (also called conditional assertions) of the form j ,
where and are propositional formulas. The sentence j intuitively means that
in those situations where is typically true, is also true (for the precise semantics
the reader should consult the provided references). Many extensions of the KLM
approach have been proposed in the literature recently [
          <xref ref-type="bibr" rid="ref10 ref2 ref3 ref4 ref5 ref6">10,6,2,5,3,4</xref>
          ]. The approach that
we use in our system is based on the KLM approach as well. Given a defeasible logic,
such as the KLM-extension of propositional logic or the aforementioned extensions
thereof and a conditional KB (a set of conditional assertions) it remains to be defined
what a valid inference from a conditional KB is.
        </p>
        <p>
          Lehmann et al. characterize the notion of rational closure [9, Section 5] and
motivate this notion to be a suitable answer to the above question. The name given to the
reasoning approach that computes rational closure for conditional KBs is
prototypical reasoning. Lehmann and colleagues also discuss similar forms of reasoning that
may be suitable for computing inferences from conditional KBs. One such type of
reasoning is known as presumptive reasoning [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Presumptive reasoning is actually
a venturous extension of prototypical reasoning. This means that any inference that
follows from a conditional KB using prototypical reasoning will also follow from the
KB using presumptive reasoning. The converse is not necessarily true.
        </p>
        <p>
          Our approach to defeasible reasoning is based on the work by Britz et al. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] in
which they propose a defeasible extension of the DL ALC. The defeasibility is
introduced through a defeasible subsumption operator ( @ ). This operator is
‘supraclassical’ to the classical subsumption operator (v). The semantics of defeasible
subsumption is similar to that for the j operator given by Lehmann and colleagues. Intuitively
the semantics states that given a defeasible subsumption axiom @ (where and
may be complex ALC concepts), then this statement means that the most typical
’s are also ’s (as opposed to all ’s being ’s in the classical case). As of writing,
only a semantics for defeasible subsumption is explicitly provided by the approach
(although defeasible equivalence follows trivially as well). Britz et al’s approach is
only applicable to DL TBoxes currently.
3
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>Prototypical and Presumptive Reasoning</title>
        <p>
          Prototypical and presumptive reasoning are answers to the important question: given
a KB that contains defeasible subsumption statements like @ , what does it mean
for one to draw inferences from this KB and how do we compute these inferences?
Lehmann et al. have provided answers by developing the notions of prototypical and
presumptive reasoning (albeit in a propositional context) and also specifying
algorithms to compute these. It turns out that these notions are adaptable to the DL
setting [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] and to this end we have adapted the algorithms by Lehmann et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] for
computing both prototypical and presumptive reasoning for a defeasible KB (an ALC KB
that may additionally contain defeasible subsumption statements of the form @ ).
3.1
        </p>
        <sec id="sec-2-2-1">
          <title>Prototypical Reasoning</title>
          <p>
            Prototypical reasoning corresponds exactly to the propositional notion of rational
closure, lifted to the DL case. Due to space constraints, we are not concerned with the
semantics here. Interested readers may consult the work of Lehmann and colleagues [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]
for the semantics for rational closure in a propositional context. For a characterization
of rational closure for the DL ALC one can consult the work of Britz et al. [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ].
          </p>
          <p>The algorithm for prototypical reasoning, takes as input a subsumption statement
(also called a query) which may be defeasible or classical and a defeasible KB. The
output of the algorithm is true if the query ' follows (prototypically) from the given
KB K (denoted K j=P rot '). Queries and defeasible KBs are currently restricted to
subsumption statements for simplicity seeing that (in most cases) classical ALC TBox
axioms can be rewritten as classical ALC subsumption statements.</p>
          <p>The algorithm begins by performing a classical transformation of the input KB.
Essentially this amounts to rewriting all defeasible statements in the KB as their
classical counterparts and all classical statements into a specific normal form. The reason
behind this transformation is two-fold: (i) It allows classical reasoning techniques to
be used on the transformed KB and (ii) The normal form of the classical statements
differentiates them (in the eyes of the algorithm) from the defeasible statements in the
KB. As we shall see later, this last point also makes the next sub-procedure of the
algorithm possible (the computation of a ranking of the statements in the KB). The
transformation procedure is given below:
Definition 1 (transformKB). Given a defeasible KB K:
transf ormKB(K) := ftransf orm(')j' 2 Kg,
where transf orm(') := uv: ; ivf ?';=if '@= v
Example 1. Let K be the input of the procedure in Definition 1:</p>
          <p>K =
&gt;&lt;&gt;8 BBrrNNPPPP vv 99ihsaLsoFcaIunl:tB;rBarzNil;PNPPvP @NP:P9;hasFault; &gt;&gt;=9
&gt;&gt; NPP u 9isLocIn:SeismicArea @ DangerousPP; &gt;
: 9hasFault @ DangerousPP; DangerousPP @ 9isLocIn:SeismicArea ;&gt;
If we execute the procedure in Definition 1 for K we get K0:
8&gt;&gt;&lt; BBrrNNPPPP uu ::99ihsaLsoFcaIunl:tBvraz?il;vBr?N;PNPPuP:vN:P9PhvasF?a;ult; 9&gt;&gt;=
&gt;&gt; NPP u 9isLocIn:SeismicArea v DangerousPP; &gt;
: 9hasFault v DangerousPP; DangerousPP v 9isLocIn:SeismicArea ;&gt;
tu</p>
          <p>
            The second procedure of the prototypical algorithm is the computation of a
ranking of sentences in the KB according to the notion of exceptionality [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]. This procedure
makes use of a sub-procedure exceptional which encodes the notion of
exceptionality into the computation of the ranking. Before we specify the pseudocode for the
complete procedure we define what we mean by the terms ranking and exceptionality.
Definition 2 (Ranking). Given a defeasible KB K, a ranking for K is a total preorder
on the elements (axioms) in K, with axioms higher up in the ordering interpreted as
having a higher preference/importance.
          </p>
          <p>Note that a ranking can in practice be implemented as a collection where each
element of this collection is a set of sentences from the KB. Each sentence in a particular
set has the same magnitude of importance (we also call this a rank). In the
prototypical reasoning algorithm, the ranking of a defeasible KB is computed according to the
notion of exceptionality. Intuitively, a concept is said to be exceptional w.r.t. a
defeasible KB K, if it is the case that &gt; v : usually follows from K. That is, typically
everything is in : , thereby making an exception to this rule. In the context of our
algorithm, checking whether is exceptional w.r.t K can be reduced to checking if K0
classically entails v ? where K0 is the classical transformation of K.
Definition 3 (Exceptionality). Let K be a defeasible KB and , concepts. Then:
- is exceptional w.r.t. K iff K0 j= v ?. Where K0 is the transformation of K.
- @ is exceptional w.r.t. K iff is exceptional w.r.t. K.
- v is exceptional w.r.t. K iff u : is exceptional w.r.t. K.
- K0 K, is exceptional w.r.t. K iff every element of K0 and only the elements of
K0 are exceptional w.r.t. K (we say that K0 is more exceptional than K).</p>
          <p>The above notion of exceptionality is included in the computation of the ranking
for a defeasible KB as sub-procedure exceptional(E ) := f v 2 E j E j= v ?g.</p>
          <p>Now that we have detailed the sub-procedures and principles needed to describe
the computation of a ranking of the sentences in a defeasible KB, we specify the
complete procedure for implementing this:</p>
          <p>Procedure computeRanking(K)</p>
          <p>Input: Defeasible knowledge base K</p>
          <p>Output: The ranking, D, for K
1 i := 0; K0 := transformKB(K); E0 := K0; E1 := exceptional(E0);
2 while Ei+1 6= Ei do
3 i := i + 1; Ei+1 := exceptional(Ei);
4 n := i; D1 := En; D := fD1g;
5 for j := 1 to n do
6 Dj := Ej 1nEj ; D := D [ fDj g;</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>7 return D;</title>
        <p>Recall that the ranking of the KB is computed as a collection of sets of sentences
(D in Procedure computeRanking). Each element in any of such sets shares the same
level of importance in the algorithm.</p>
        <p>Example 2. Consider the transformed KB from Example 1:
&gt;&lt;&gt;8 BBrrNNPPPP uu ::99ihsaLsoFcaIunl:tBvraz?il;vBr?N;PNPPuP:vN:P9PhvasF?a;ult; =&gt;&gt;9
&gt;&gt; NPP u 9isLocIn:SeismicArea v DangerousPP; &gt;
: 9hasFault v DangerousPP; DangerousPP v 9isLocIn:SeismicArea ;&gt;
K0 (second statement on Line 1 of the computeRanking procedure) is calculated
as in Example 1. Lines 2 to 3 of the computeRanking procedure are responsible for
computing the different levels of exceptional sentences according to Definition 3. This
segment of the procedure executes Procedure exceptional until Ei+1 = Ei (a fixed
point is reached). In the example when Line 1 of computeRanking is executed E0 :=
K0 and E1 := exceptional(E0). If we do the computation as detailed in exceptional
then we find: E1 = fBrNPP u :9hasFault v ?; BrNPP u :NPP v ?; BrNPP u
:9isLocIn:Brazil v ?g.</p>
        <p>We see that E1 6= E0 therefore we have to execute the while loop again to find E2.
The result of this computation shows us that E2 = E1 and we have thus reached a fixed
point. The while loop terminates and the final ranking D can be computed as specified
by Lines 4 to 6 of the procedure. The final ranking D is composed of:</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>BrNPP u :9hasFault v ?; BrNPP u :NPP v ?;</title>
    </sec>
    <sec id="sec-4">
      <title>BrNPP u :9isLocIn:Brazil v ?</title>
      <p>8 NPP v :9hasFault; 9hasFault v DangerousPP; 9
&lt; =</p>
    </sec>
    <sec id="sec-5">
      <title>NPP u 9isLocIn:SeismicArea v DangerousPP; : DangerousPP v 9isLocIn:SeismicArea ;</title>
      <p>tu</p>
      <p>We now have a ranking for our original defeasible KB K (see Example 1). Once
this ranking is identified, then given a query, the core prototypical reasoning algorithm
(see Algorithm 1) can be executed to determine if this query follows from the original
defeasible KB. D1 represents the infinite rank which contains the classical
(nondefeasible) statements from the KB.</p>
      <p>Algorithm 1: P rototypical reasoning</p>
      <p>Input: The ranking D for some KB, K and a query ' of the form @ (or</p>
      <p>Output: true if K j=P rot @ (or K j=P rot v ), false otherwise
1 n := 1;
2 if ' = v then
3 return D1 j= v ;
v )
4 else if ' = @ then
5 while S D j= v ? and D 6= ; do
6 D := DnfDng;n := n + 1;
7
return S D j=</p>
      <p>v ;</p>
      <p>We give an example to illustrate the prototypical reasoning algorithm below:
Example 3. Consider the following defeasible KB K with six axioms:
K =
8 BrNPP v NPP; NPP v PP; 9isLocIn v PP; 9
&lt; =</p>
    </sec>
    <sec id="sec-6">
      <title>9isLocIn:SeismicArea v DangerousPP; NPP @ :DangerousPP; : BrNPP @ 9isLocIn:SeismicArea ;</title>
      <p>Considering higher indices to represent more exceptional sentences, the ranking
for this KB (computed using relevant procedures discussed) is the following:</p>
    </sec>
    <sec id="sec-7">
      <title>BrNPP u :NPP v ?; 9isLocIn u :PP v ?;</title>
    </sec>
    <sec id="sec-8">
      <title>9isLocIn:SeismicArea u :DangerousPP v ?; NPP u :PP v ? D1 = fBrNPP v 9isLocIn:SeismicAreag D2 = fNPP v :DangerousPPg</title>
      <p>If we compute prototypical reasoning (via Algorithm 1) for the following query
' = BrNPP @ DangerousPP then we get the positive result K j=P rot '. We find the
following motivation for this: the condition on Line 5 of the algorithm holds because
BrNPP v ? follows from D (D1 [ D1 [ D2) and D 6= ;. Therefore we execute
the loop body and D becomes D1 [ D1. The loop condition no longer holds because
S D 6j= BrNPP v ? and therefore the loop terminates.</p>
      <p>Last, the classical entailment check (S D j= BrNPP v DangerousPP) on Line 7
is performed. This returns true in our example and therefore K j=P rot '.</p>
      <p>An intuitive reading of this result shows us that typically nuclear power plants
are not dangerous power plants (NPP @ :DangerousPP). If we examine the query
' we see that we are not in a typical situation because we have a specific type of
nuclear power plant, i.e., A Brazilian nuclear power plant. Additionally, we know
that typical Brazilian nuclear power plants are located in seismic areas stated by
(BrNPP @ 9isLocIn:SeismicArea) and typical power plants located in seismic areas
are dangerous (9isLocIn v PP, 9isLocIn:SeismicArea v DangerousPP). Given this
information, prototypical reasoning allows for the possibility that this type of
nuclear power plant is dangerous, which represents an exception to the general rule that</p>
    </sec>
    <sec id="sec-9">
      <title>NPP @ :DangerousPP.</title>
      <p>tu</p>
      <p>Next we introduce an alternative defeasible reasoning algorithm to the prototypical
approach just described. This approach is known as presumptive reasoning.
3.2</p>
      <sec id="sec-9-1">
        <title>Presumptive Reasoning</title>
        <p>
          The presumptive reasoning algorithm is a venturous extension of the prototypical one.
Essentially the difference between them (from an algorithmic perspective) is that
presumptive reasoning computes an extended version of the ranking that prototypical
reasoning does. Presumptive reasoning has a semantics for the propositional case [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]
which we shall not discuss here due to space constraints. The algorithm for
computing presumptive reasoning is more lenient than prototypical reasoning in allowing
sentences to follow from a defeasible KB, i.e., it presumes that some sentence follows
from the KB as long as there is no evidence it can find to the contrary. Both
algorithms are virtually the same barring one difference: the ranking of sentences in the
input KB is computed slightly differently in presumptive reasoning. Because a
presumptive ranking is an extension of a prototypical ranking, we describe a procedure
for converting a prototypical ranking for a defeasible KB into a presumptive one.
        </p>
        <p>We let D be a prototypical ranking for some defeasible KB K. Each element Di 2
D (which we refer to as a rank) is a set of sentences from K. To convert D to a
presumptive ranking D0 we add jDij 1 ranks above each Di in D.</p>
        <p>Example 4. Let Di = f'1; '2; '3g be a rank in some prototypical ranking D:
We recall that in order to extend D to a presumptive ranking we need to add jDij 1
ranks above each Di in D. For our example, let us consider that we have a prototypical
ranking containing just one rank Di as defined above. We thus need to add two ranks
above Di in D. To understand what these two ‘presumptive’ ranks will look like we
have to explain how a prototypical ranking is used in the prototypical algorithm.</p>
        <p>Recall that Lines 5-6 of Algorithm 1 essentially finds a maximal subset of the
axioms in D in which the antecedent of the query is satisfiable. However, the prototypical
algorithm does this in a ‘clunky’ way by removing entire ranks at a time (Line 6).
Presumptive reasoning is more thorough in finding a maximal subset of the axioms in D
because it first tries removing (all permutations of) one axiom from the highest rank,
instead of the entire rank. If this does not make the antecedent satisfiable then it tries
removing (all permutations of) two axioms from the same rank etc. until eventually
(all permutations of) jDij 1 axioms are removed. We now show an elegant way to
perform this fine-grained removal.</p>
        <p>We start with the initial rank Di = f'1; '2; '3g. We want to only remove Di
from D as a last resort but before that we want to try removing all permutations
of one axiom and then two. Instead of doing this in a na¨ıve way by computing all
these permutations, we use the fact that removing one axiom is the same as
keeping two in a set of three axioms as in the example. In other words we would like
to compute all instances of two axioms holding simultaneously in our Di. That is
('1and'2)or('1and'3)or('2and'3) in our example.</p>
        <p>It turns out that there is a way to transform this ‘check’ or expression into a single
axiom according to the following rules for DL axioms:
and( i v i)in=1 = &gt; v uin=1(: i t i) and,
or( i v i)in=1 = uin=1 i v tin=1 i, where i v i = 'i.</p>
        <p>If removing all permutations of one axiom (keeping two) does not make the
antecedent satisfiable in our example then we try removing all permutations of two
(keeping one). Therefore for our example the expression to check to verify this is
'1or'2or'3. Therefore the presumptive conversion D0i for the prototypical rank Di
is f(('1and'2)or('1and'3)or('2and'3)); ('1or'2or'3); f'1; '2; '3gg. This
process is repeated on each Di in a prototypical ranking and the final presumptive
ranking D0 is computed as S D0i. tu</p>
        <p>It is important to note that other than the difference in the computation of the
ranking, the prototypical and presumptive reasoning algorithms are identical.
Therefore Algorithm 1 can be executed with a presumptive ranking as input to compute
presumptive reasoning for a given defeasible KB and query. We have developed a
Prote´ge´ plug-in that implements both prototypical and presumptive reasoning for
DLbased (and therefore OWL) ontologies. We present this plug-in in the next section.</p>
        <sec id="sec-9-1-1">
          <title>RaMP</title>
          <p>We have developed a plug-in for Prote´ge´ which allows the ontology modeller to
represent defeasible information in the ontology without explicitly extending the
underlying ontology language (OWL). This is possible through axiom annotations in Prote´ge´
which do not affect the logical meaning of the ontology. Furthermore, this plug-in
implements the prototypical and presumptive reasoning algorithms. The plug-in is called
RaMP1 which stands for Rational Monotonicity Plug-in. Figure 1 depicts the control
panel of RaMP’s interface in Prote´ge´ 4.1.</p>
          <p>This component of the RaMP interface is called the reasoning controller panel.
This panel provides a text input field for the user to enter an axiom (defeasible or
hard). The axiom can be verified to follow (or not follow) from the ontology, based
on the currently selected reasoning algorithm. This task is accomplished by clicking
the “check” button in the same panel. The reasoning algorithm can be selected from a
drop-down menu. Currently, only prototypical and presumptive reasoning algorithms
are available. There is also a checkbox for indicating if the axiom entered is
defeasible or classical. If the axiom is classical, we also refer to it as a hard axiom. For
convenience, RaMP provides a window display (Figure 2) in Prote´ge´ to show the user
which axioms in the loaded ontology are indicated as defeasible axioms.</p>
          <p>This brings us to the topic of how to assert that an axiom is defeasible in the loaded
ontology. RaMP indicates axioms as defeasible in the ontology through a “flagging”
process. In the Class Description window in Prote´ge´, the superclasses and equivalent
classes of the selected class are indicated. Next to each of these classes there is a
button, labelled “d” for defeasibility, which can be clicked to toggle whether that axiom
should be viewed as defeasible or not by RaMP. When an axiom is indicated as
defeasible the button turns pink and an axiom annotation is added to the ontology which
stores this information (see Figure 3).
1 http://code.google.com/p/nomor/</p>
          <p>The reasoning algorithms implemented by RaMP work in a similar way. They
compute a ranking (ordering) of the axioms in the ontology and use this ranking to
determine which axioms are more important than others in the ontology. The details
of these algorithms will are provided in Sections 3.1 and 3.2 respectively. An
example ranking is depicted below in Figure 4. The axioms appearing on the light pink
background are defeasible axioms while the others are hard.</p>
          <p>As an added feature of RaMP, we have also included a rudimentary facility for the
user to fine-tune the computed ranking for the ontology. Adjacent to the defeasible
toggle switch in Prote´ge´, there is a button labelled “r” to prompt the user to enter a
numerical value representing the rank of the selected axiom. The specific numerical
value chosen does not matter. What matters is the relative ordering between these
values. If axiom ' has rank 1 and it is necessary for axiom '0 to have a higher rank
then it does not matter whether axiom ' has rank 2 or 200 as long as the rank of '0 is
greater than 2 or 200 respectively. The axiom ranking feature is depicted in Figure 5.</p>
          <p>Fig. 5: RaMP: Axiom ranking feature</p>
        </sec>
        <sec id="sec-9-1-2">
          <title>Conclusion</title>
          <p>
            We have presented a description of a Prote´ge´ plug-in which implements a preliminary
version of non-monotonic reasoning for DL-based ontologies. The plug-in provides a
mechanism for indicating defeasible information in the ontology as well as an
implementation of two defeasible reasoning algorithms adapted from the work of Lehmann
and colleagues [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ] in a propositional setting. The plug-in is still in the early stages of
development. We would like to introduce a more elaborate interface to facilitate
better integration with Prote´ge´, we are also investigating potential optimizations for the
defeasible reasoning algorithms. In the future we also plan to include: (i) ABox
reasoning; (ii) Defeasibility in other OWL constructs such as disjointness, roles and role
properties; (iii) More sophisticated reasoning tasks available in standard monontonic
systems such as Classification, Instance checking etc [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ] and (iv) Other versions of
defeasible reasoning (in addition to the ones discussed here). Currently we are
evaluating the results reported by the algorithms implemented in the tool. The results will
be evaluated in various application domains to identify where each algorithm is most
suitable as a reasoning tool.
          </p>
          <p>The financial assistance of the National Research Foundation (NRF) towards this
research is hereby acknowledged. Opinions expressed and conclusions arrived at, are
those of the author and are not necessarily to be attributed to the NRF. The work of
Ivan Varzinczak was also supported by the National Research Foundation under Grant
number 81225.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baader</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McGuinness</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P</given-names>
          </string-name>
          . (eds.):
          <article-title>The description logic handbook</article-title>
          . Cambridge,
          <volume>2</volume>
          <fpage>edn</fpage>
          . (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Britz</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heidema</surname>
          </string-name>
          , J., Meyer, T.:
          <article-title>Semantic preferential subsumption</article-title>
          .
          <source>In: Proc. of KR</source>
          . pp.
          <fpage>476</fpage>
          -
          <lpage>484</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Britz</surname>
          </string-name>
          , K., Meyer, T.,
          <string-name>
            <surname>Varzinczak</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Preferential reasoning for modal logics</article-title>
          .
          <source>Electronic Notes in Theoretical Computer Science</source>
          <volume>278</volume>
          ,
          <fpage>55</fpage>
          -
          <lpage>69</lpage>
          (
          <year>2011</year>
          ),
          <source>proc. of the Workshop on Methods for Modalities</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Britz</surname>
          </string-name>
          , K., Meyer, T.,
          <string-name>
            <surname>Varzinczak</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Semantic foundation for preferential description logics</article-title>
          .
          <source>In: Proc. of the Australasian Conference on Artificial Intelligence</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Casini</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Straccia</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Rational closure for defeasible description logics</article-title>
          .
          <source>In: Proc. of JELIA</source>
          . pp.
          <fpage>77</fpage>
          -
          <lpage>90</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Giordano</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Olivetti</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gliozzi</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzato</surname>
          </string-name>
          , G.:
          <article-title>ALC + T : A preferential extension of description logics</article-title>
          .
          <source>Fundamenta Informaticae</source>
          <volume>96</volume>
          (
          <issue>3</issue>
          ),
          <fpage>341</fpage>
          -
          <lpage>372</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kraus</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magidor</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Nonmonotonic reasoning, preferential models and cumulative logics</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>44</volume>
          ,
          <fpage>167</fpage>
          -
          <lpage>207</lpage>
          (
          <year>1990</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Another perspective on default reasoning</article-title>
          .
          <source>Annals of Mathematics and Artificial Intelligence</source>
          <volume>15</volume>
          ,
          <fpage>61</fpage>
          -
          <lpage>82</lpage>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Magidor</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>What does a conditional knowledge base entail?</article-title>
          <source>Artificial Intelligence</source>
          <volume>55</volume>
          (
          <issue>1</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>60</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Quantz</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>A preference semantics for defaults in terminological logics</article-title>
          .
          <source>In: Proc. of KR</source>
          . pp.
          <fpage>294</fpage>
          -
          <lpage>305</lpage>
          (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>