<!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>An Ontology Debugger for the Semantic Wiki KnowWE</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Furth</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Joachim Baumeister</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>%% ExpectedSparqlResult</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Wurzburg, Institute of Computer Science</institution>
          ,
          <addr-line>Am Hubland, 97074 Wurzburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>denkbares GmbH</institution>
          ,
          <addr-line>Friedrich-Bergius-Ring 15, 97076 Wurzburg</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>si : lisa @name : simpsonsKidsExpected @sparql : simpsonsKids %</institution>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>} @name : maggiesSiblings %</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>KnowWE is a semantic wiki that provides the possibility to de ne and maintain ontologies and strong problem-solving knowledge. Recently, the ontology engineering capabilities of KnowWE were signi cantly extended. As with other ontology engineering tools, the support of ontology debugging during the development of ontologies is the de cient. We present an Ontology Debugger for KnowWE that is based on the delta debugging approach known from Software Engineering. KnowWE already provides possibilities to de ne test cases to be used with various knowledge representations. While reusing the existing testing capabilities we implemented a debugger that is able to identify failure-inducing statements between two revisions of an ontology.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In software engineering changing requirements and evolving solutions are
wellknown challenges during the software development process. Agile software
development [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] became popular as it tackles these challenges by supporting software
engineers with methods based on iterative and incremental development.
      </p>
      <p>In the eld of ontology engineering the challenges are similar. It is extremely
rare that the development of an ontology is a one-time task. In most cases an
ontology is developed continuously and collaboratively. Even though this insight
is not new and tool support has improved in recent years, a mature method for
agile ontology development still is a vision.</p>
      <p>
        The idea of continuous integration (CI) has been adapted for the development
of knowledge systems (cf. Baumeister et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or Skaf-Molli et al. [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]). CI for
knowledge system uses automated integration tests in order to validate a set of
modi cations. In software engineering the continuous integration is applied by
unit and integration tests to mostly manageable sets of changes, which often is
su cient to isolate bugs. In accordance to Vrandecic et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], who adapted
the idea of unit testing to ontologies, we consider unit tests for ontologies to be
di cult to realize. Additionally in ontology engineering changes can be rather
complex, e.g. when large amounts of new instance data is extracted from texts
and added automatically to an ontology.
      </p>
      <p>
        As abandoning a complete change set because of an error is as unrealistic
as tracing down the failure cause manually, a method for isolating the fault
automatically is necessary. We developed a debugging plugin for the semantic
wiki KnowWE that is able to nd the failure-inducing parts in a change set.
The debugger is based on the Delta Debugging idea for software development
proposed by Zeller [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
      </p>
      <p>The remainder of this paper is structured as follows: Section 2 describes the
delta debugging approach for ontologies; in Section 3 we present the developed
plugin for KnowWE in detail. Section 4 contains a short case study while
Section 5 concludes with a discussion and the description of future work.
2
2.1</p>
    </sec>
    <sec id="sec-2">
      <title>Delta Debugging for Ontologies</title>
      <sec id="sec-2-1">
        <title>Prerequisites</title>
        <p>
          The proposed Delta Debugging approach assumes that we are able to access
di erent revisions of an ontology. Additionally, we assume that a mechanism
for the detection of changes exists. We call the di erence between two revisions
the set of changes C. The detection can be realized for example by utilizing
revision control systems like SVN or Git or by manually calculating the di erence
between two snapshots of an ontology. Even more sophisticated change detection
approaches are possible, like the one proposed by Goncalves et al. [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] for the
detection of changes in OWL ontologies on a semantic level.
        </p>
        <p>De nition 1 (Changes). Let C = fc1; c2; : : : ; cng be the set of changes ci
provided by a change detection mechanism.</p>
        <p>De nition 2 (Revision). Let O1 be the base revision of an ontology and O2 =
O1 [ C a revision of the ontology, where the set of changes C have been applied.</p>
        <p>With respect to a given test one of the revisions has to pass while the other
one has to fail a speci c test (Axiom 1).</p>
        <p>De nition 3 (Test Function). A function test : O ! BOOLEAN
determines for a given ontology whether it passes (T RU E) a speci ed test procedure
or not (F ALSE).</p>
        <p>Axiom 1 For a given test function test and the revisions O1 and O2 of the
ontology test(O1) = T RU E and test(O2) = F ALSE holds.
2.2</p>
      </sec>
      <sec id="sec-2-2">
        <title>Tests for Ontologies</title>
        <p>
          Test outcome The Delta Debugging approach we propose is not limited to
a certain test procedure as long as it can assert a boolean value as de ned in
De nition 3 and Axiom 1. In software engineering the outcome of a test can also
be unde ned. Zeller [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] pointed out three reasons why this can happen:
Failure 1 Integration: When a change relies on earlier changes that are not
included in the currently focused change set, the change may not be applied.
Failure 2 Construction: When applying all changes a program may have
syntactical or semantical errors which avoids the construction of the program.
Failure 3 Execution: A program can not be executed.
        </p>
        <p>As ontology engineering is basically about adding/removing/changing triples,
these failures can hardly occur|at least on the syntactical level. Incorrect
statements can usually not be added to a repository and therefore should not detected
as a valid/applicable change by the change detection mechanism. Additionally
triples do syntactically not depend on other triples and therefore can be added to
and removed from a repository independently. Finally ontologies are not executed
in the way a program is, what relaxes the execution failure. On the semantical
level, however, integration and construction failures are very likely to occur but
they do not result in an unde ned test outcome, but a failing test|which is the
desired behavior.</p>
        <p>Example tests A test could consider for example the result of a SPARQL
query. A concrete implementation could compare the actual query result with
an explicitly de ned (expected) result. Another realization could use SPARQL's
ASK form.</p>
        <p>
          When dealing with an ontology that makes heavy use of semantics like OWL,
a reasoner like Pellet [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] could be utilized in a test to check whether an ontology
is consistent and/or satis able.
        </p>
        <p>
          A test does not even have to test the ontology itself, as in task-based
ontology evaluation [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] the outcome of the ontology's target application could be
considered. Testing with sample queries for semantic search applications is an
example, where a given ontology is expected to provide certain results in an
otherwise unchanged semantic search engine.
        </p>
        <p>
          Regardless of the actual implementation the de nition of test cases should be
a substantial and integral part of the underlying ontology engineering
methodology. We described the TELESUP project [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] that aims for a methodology and
tool for ontology development in a self-improving manner and emphasizes on the
early formulation of test cases.
2.3
        </p>
      </sec>
      <sec id="sec-2-3">
        <title>The Delta Debugging Algorithm</title>
        <p>We propose a delta debugging algorithm (Algorithm 1) for ontologies that is
basically a divide-and-conquer algorithm recursively tracing down the faulty
parts of an ontology.</p>
        <p>The input of the recursive algorithm is the base revision of the ontology O1
that is known to pass the speci ed test procedure test. Additionally the set of
changes C between this base revision and the failing revision O2 is provided.
Algorithm 1 The delta debugging algorithm for ontologies.</p>
        <p>function DeltaDebug(O1, C, test)
if C:length is 1 then</p>
        <p>return C
end if
r fg
for all ci in Divide(C) do</p>
        <p>Ot O1 [ ci
if test(Ot) is F ALSE then</p>
        <p>r r + DeltaDebug(O1; ci; test)
end if
end for
return r
end function</p>
        <p>If the considered change set only contains one change then this is the
failureinducing change by de nition. Otherwise the helper function Divide slices the
set of changes in i new change sets. The function may use heuristics or exploit the
semantics of the ontology to divide the initial change set. In the following each
change set ci proposed by the Divide function is applied to the base revision
O1 of the ontology. If the resulting revision of the ontology Ot does not pass the
speci ed test procedure, then the change set is recursively examined in order to
nd the triple responsible for the failure. As more than one recursive call of the
DeltaDebug algorithm can return a non empty set of failure inducing changes,
the nal result may contain more than one triple.</p>
        <p>The shown version of the algorithm returns all changes that applied to the
base revision O1 cause the failure. It additionally assumes monotonicity, i.e. a
failure occurs as long as the responsible changes are contained in the change set.
A more sophisticated handling of interferences will be subject of future work.
3
3.1</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Implementation</title>
      <sec id="sec-3-1">
        <title>KnowWE</title>
        <p>
          We have implemented the delta debugging algorithm as an extension of the
semantic wiki KnowWE [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. KnowWE provides the possibility to de ne and
maintain ontologies together with strong problem-solving knowledge. Ontologies
can be formulated using the RDF(S) or OWL languages. KnowWE provides
di erent markups for including RDF(S) and OWL: proprietary markups, turtle
syntax, and the Manchester syntax. KnowWE compiles ontologies incrementally,
i.e. only those parts of an ontology get updated that are a ected by a speci c
change. This is possible as KnowWE's incremental parsing and compiling
mechanism is able to keep track of which markup is responsible for the inclusion of a
speci c statement. Thus statements can easily be added to or removed from the
repository when a speci c markup has been changed.
3.2
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>Change Detection Mechanism</title>
        <p>We use a dedicated change log to keep track of all changes applied to an ontology
in KnowWE. Each time a change is applied to the repository KnowWE's event
mechanism is used to re events that inform about the statements that have
been added to and removed from the repository. For every change a log entry is
created. Listing 1.1 shows an example of log entries, that indicate the removal
(line 1) and addition (line 2) of statements at the speci ed timestamps.</p>
        <p>The change detection mechanism can now be realized by accessing the log le
and asking for the changes between two points in time. The ontology revisions
O1 and O23 can be constructed by reverting all changes between a speci ed
start point and the currently running revision of the ontology (HEAD). The set
of changes C between these two revisions can be extracted directly from the log
le.
3.3</p>
      </sec>
      <sec id="sec-3-3">
        <title>Tests in KnowWE</title>
        <p>In order to realize the test function, we have introduced a Java interface called
OntologyDeltaDebuggerTest which requires implementors to realize the method
boolean execute(Collection&lt;Statement&gt; statements).</p>
        <p>We have implemented a sample test that checks whether a revision of an
ontology is able to provide speci ed results for a SPARQL query. We exploit
the already existing possibilities of KnowWE to formulate and execute labeled
SPARQL queries. In the following, we use an exemplary ontology inspired by
the comic characters "The Simpsons"4.</p>
        <p>Listing 1.2. Example for an expected SPARQL result.
1
2
3
4
5
6
7
8 }
9 @name : maleSimpsons
10 %
%% SPARQL
SELECT ?s
WHERE {
?s rdf : type si : Human ;
si : gender si : male ;
rdfs : label ? name .</p>
        <p>FILTER regex ( str (? name ), " Simpson ")
12 %% ExpectedSparqlResult
13 | si : abraham
14 | si : homer
15 | si : bart
16 @sparql : maleSimpsons
17 @name : maleSimpsonsExpected
18 %
3 The revision O2 is constructed to check whether Axiom 1 holds.
4 http://en.wikipedia.org/wiki/The Simpsons</p>
        <p>Additionally we use KnowWE's feature to de ne expected results for a
speci ed query. This can be done by adding the expected results to a table and
referencing a labeled SPARQL query. For the convenient formulation a special
markup has been introduced. Listing 1.2 shows an example where si:homer and
si:bart are the expected results of the SPARQL query with the label
\maleSimpsons". In order to access the formulated expected results, the markup also
gets a label (\maleSimpsonsExpected"). The actual test is instantiated using
this label, which allows accessing the expected results as well as the underlying
SPARQL query.
3.4</p>
      </sec>
      <sec id="sec-3-4">
        <title>Ontology Debugger</title>
        <p>The Delta Debugger for Ontologies is realized by the markup OntologyDebugger
that allows for the convenient con guration of the debugger. The con guration
is done by specifying the base revision O1 using the start annotation,
optionally the revision O2 can be speci ed using the end annotation. If not speci ed
the current revision of the ontology (HEAD) is considered as O2. Using the
annotation expected the label of the expected SPARQL result is de ned.</p>
        <p>The so de ned ontology debugger instance is rendered like depicted in
Figure 1. A tool menu allows the execution of the debugger, a progress bar is used
to visualize the running process. The actual implementation of the delta
debugging algorithm for ontologies has been realized as LongOperation that is a
feature of KnowWE's framework architecture, which allows for executing long
operations in background without having the user to wait for the result. When
the long operation has nished, then the failure-inducing changes are returned
and displayed. An error message is rendered instead, if a failure occurs during
the execution of the debugger, e.g. because the test is unde ned or Axiom 1 does
not hold for the speci ed revisions.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Case Study</title>
      <p>4.1</p>
      <sec id="sec-4-1">
        <title>The Simpsons Ontology</title>
        <p>In the following we describe a small case study that illustrates the
functionality of the presented ontology debugging extension for KnowWE. Therefore
we use an example ontology that has been developed for tutorial purposes and
covers various facts of the popular comic television series \The Simpsons". The
ontology contains several classes like Human or Building, as well as properties
like parent or owns. Additionally, some instances of the de ned classes are
included. We do not present the entire ontology but concentrate on some relevant
parts.</p>
        <p>Figure 2 shows relationships of the Simpsons family, e.g. that Homer
(si:homer) is the father (si:father) of Bart (si:bart), Lisa (si:lisa) and Maggie
(si:maggie), who are also marked as siblings (si:sibling). The sibling
property was initially de ned as owl:TransitiveProperty, i.e. a triple that
explicitly states that Lisa is sibling of Maggie is not necessary. We have also de ned
that si:father is a sub-property of si:parent, which has an inverse
property si:child. Listing 1.4 describes a SPARQL query for all children of Homer
(si:homer) and Marge (si:marge).</p>
        <p>An expert on the Simpson family knows that Bart, Lisa and Maggie are the
expected result of this query. So this knowledge can be de ned in KnowWE as
an expected SPARQL result (Listing 1.5), which than can be used as a test case
for the ontology.</p>
        <p>Listing 1.5. Expected results of the query for the children of Homer and Marge.</p>
        <p>Listing 1.6 is another example containing a SPARQL query for all siblings
of Maggie (si:maggie) and the de nition of the expected result (si:bart and
si:lisa).</p>
        <p>Listing 1.6. A test case for Maggie's siblings.
%% SPARQL
SELECT ? sibling
WHERE {</p>
        <p>BIND ( si : maggie as ? kid ) .
? kid si : sibling ? sibling .</p>
        <p>FILTER (? kid != ? sibling ) .</p>
        <p>For this case study various changes have been applied to the ontology (see
Listing 1.7) and broke it nally, i.e. the SPARQL results do not return the
expected results: Bart can not be retrieved as sibling of Maggie, and apparently
Homer and Marge do not have any children.</p>
        <p>Listing 1.7. Changes applied to the Simpsons ontology.
-;1401267947600; si : snowball ; rdfs : label ; Snowball
+;1401267947605; si : santas_little_helper ; rdfs : label ; Santa 's little helper@en
+;1401267947605; si : snowball ; rdfs : label ; Snowball II
-;1401268045755; si : child ; owl : inverseOf ; si : parent
+;1401283675264; si : sibling ; rdf : type ; owl : IrreflexiveProperty
-;1401283841549; si : relatedWith ; rdf : type ; owl : ReflexiveProperty
+;1401283841552; si : relatedWith ; rdf : type ; owl : SymmetricProperty
-;1401283907308; si : sibling ; rdf : type ; owl : TransitiveProperty
-;1401287487640; si : Powerplant ; rdfs : subClassOf ; si : Building</p>
        <p>In order to nd the failure-inducing changes, we have de ned two ontology
debugger instances that utilize the test cases de ned above. Listing 1.8 shows their
de nitions. Revision 1401267947599 is the base revision O1 for both instances
as we know that the queries had been working before we started changing the
ontology.</p>
        <p>Listing 1.8. Changes applied to the Simpsons ontology.</p>
        <p>After manually triggering the debugging process, the ontology debugger
instances return the correct results. As depicted in Figure 3 the rst ontology
debugger instance identi ed that removing the statement declaring si:child
as inverse property of si:parent has caused the failure that the children of
Homer and Marge could not be retrieved. The second instance reports that Bart
is not identi ed as sibling of Maggie because the transitivity
(owl:TransitiveProperty) has been removed from the si:sibling property.</p>
        <p>We ran the case study on an Apple MacBook with 3 GHz Intel Core i7
processor and 8 GB RAM; the example ontology contained 2,518 triples. The
ontology debugger returned each result after about 1.2 seconds on.</p>
      </sec>
      <sec id="sec-4-2">
        <title>Ontology of an Industrial Information System</title>
        <p>The ontology debugger was also utilized to trace down a failure-inducing change
in an ontology for an industrial information system. The ontology comprises
more than 700,000 triples and makes heavy use of OWL2-RL semantics. In this
scenario the debugger returned the correct hint for the failure-inducing change
after 5 minutes. The manual tracing of the error would have costed many times
over the presented automated approach.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>In this paper we presented an extension for KnowWE that adds support for
ontology debugging by using a divide-and-conquer algorithm to nd
failureinducing changes. Our current implementation is working on the syntactical
level of an ontology and uses a provided test case in combination with a change
detection mechanism and a heuristic for dividing the change set. However, the
design of the algorithm and the software allows for the incorporation of more
sophisticated methods that may consider semantics to leverage the debugging
to a semantic level.</p>
      <p>
        There has already been work on considering semantics for the debugging of
ontologies. Schlobach et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] coined the term pinpointing which means
reducing a logically incorrect ontology, s.t. a modeling error could be more easily
detected by a human expert. They also proposed algorithms that use
pinpointing to support the debugging task [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Ribeiro et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] proposed the usage of
Belief Revision to identify axioms in OWL ontologies that are responsible for
inconsistencies. Wang et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] proposed a heuristic approach that considers
OWL semantics in order to explain why classes are unsatis able. Shchekotykhin
et al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] proposed an interactive debugging approach to address the problem
that in OWL ontologies more than one explaination for an error can exist and
additional information is necessary to narrow down the problem. As debugging
OWL ontologies is closely related to the justi cation of entailments the work in
this eld must also be considered. See for example Horridge et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or
Kalyanpur et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. However, Stuckenschmidt [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] questions the practical applicability
of several debugging approaches of OWL ontologies with respect to scalability
and correctness.
      </p>
      <p>While already functional we consider the current implementation of our
ontology debugging plugin for KnowWE as early work. For the future we plan
several enhancements to the debugger, like the replacement of the change log
by a change detection mechanism that is based on standard wiki functionality
providing direct access to di erent revisions of an ontology. As mentioned above
we want to improve the handling of interferences, check the monotonicity
assumption for di erent ontology languages and plan to examine the applicability
of OWL debugging approaches. As KnowWE also allows for the de nition of
strong problem-solving knowledge the generalization of the debugger to other
knowledge representations will be subject of future work.
The work described in this paper is supported by the Bundesministerium fur
Wirtschaft und Energie (BMWi) under the grant ZIM KF2959902BZ4
"SELESUP { SElf-LEarning SUPport Systems".</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reutelshoefer</surname>
          </string-name>
          , J.:
          <article-title>Developing knowledge systems with continuous integration</article-title>
          .
          <source>In: Proceedings of the 11th International Conference on Knowledge Management and Knowledge Technologies</source>
          . p.
          <fpage>33</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reutelshoefer</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Puppe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>KnowWE: a Semantic Wiki for knowledge engineering</article-title>
          .
          <source>Applied Intelligence</source>
          <volume>35</volume>
          (
          <issue>3</issue>
          ),
          <volume>323</volume>
          {
          <fpage>344</fpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Cockburn</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>Agile Software Development</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Furth</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Baumeister</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>TELESUP Textual Self-Learning Support Systems</article-title>
          . In: under review (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Goncalves</surname>
            ,
            <given-names>R.S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Analysing the evolution of the NCI thesaurus</article-title>
          .
          <source>In: Computer-Based Medical Systems (CBMS)</source>
          ,
          <year>2011</year>
          24th International Symposium on. pp.
          <volume>1</volume>
          {
          <issue>6</issue>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Laconic and precise justi cations in OWL</article-title>
          .
          <source>In: The Semantic Web-ISWC</source>
          <year>2008</year>
          , pp.
          <volume>323</volume>
          {
          <fpage>338</fpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
          </string-name>
          , E.:
          <article-title>Finding all justi cations of OWL DL entailments</article-title>
          .
          <source>In: The Semantic Web</source>
          , pp.
          <volume>267</volume>
          {
          <fpage>280</fpage>
          . Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Porzel</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malaka</surname>
            ,
            <given-names>R.:</given-names>
          </string-name>
          <article-title>A task-based approach for ontology evaluation</article-title>
          .
          <source>In: ECAI Workshop on Ontology Learning and Population</source>
          , Valencia, Spain.
          <source>Citeseer</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Ribeiro</surname>
            ,
            <given-names>M.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wassermann</surname>
          </string-name>
          , R.:
          <article-title>Base revision for ontology debugging</article-title>
          .
          <source>Journal of Logic and Computation</source>
          <volume>19</volume>
          (
          <issue>5</issue>
          ),
          <volume>721</volume>
          {
          <fpage>743</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Schlobach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cornet</surname>
          </string-name>
          , R.:
          <article-title>Non-standard reasoning services for the debugging of description logic terminologies</article-title>
          .
          <source>In: IJCAI</source>
          . vol.
          <volume>3</volume>
          , pp.
          <volume>355</volume>
          {
          <issue>362</issue>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Schlobach</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cornet</surname>
          </string-name>
          , R.,
          <string-name>
            <surname>Van Harmelen</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Debugging incoherent terminologies</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <volume>317</volume>
          {
          <fpage>349</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Shchekotykhin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedrich</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fleiss</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Interactive ontology debugging: two query strategies for e cient fault localization</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>12</volume>
          ,
          <issue>88</issue>
          {
          <fpage>103</fpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Pellet: A practical OWLDL reasoner</article-title>
          .
          <source>Web Semantics: science, services and agents on the World Wide Web</source>
          <volume>5</volume>
          (
          <issue>2</issue>
          ),
          <volume>51</volume>
          {
          <fpage>53</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Skaf-Molli</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Desmontils</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nauer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Canals</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cordier</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lefevre</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Molli</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toussaint</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Knowledge continuous integration process (k-cip)</article-title>
          .
          <source>In: Proceedings of the 21st international conference companion on World Wide Web</source>
          . pp.
          <volume>1075</volume>
          {
          <fpage>1082</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Stuckenschmidt</surname>
          </string-name>
          , H.:
          <article-title>Debugging OWL Ontologies-A Reality Check</article-title>
          . In: EON (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Vrandecic</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Unit tests for ontologies</article-title>
          .
          <source>In: On the Move to Meaningful Internet Systems</source>
          <year>2006</year>
          :
          <article-title>OTM 2006 Workshops</article-title>
          . pp.
          <volume>1012</volume>
          {
          <fpage>1020</fpage>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rector</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drummond</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Seidenberg</surname>
          </string-name>
          , J.:
          <article-title>Debugging OWL-DL ontologies: A heuristic approach</article-title>
          .
          <source>In: The Semantic Web{ISWC</source>
          <year>2005</year>
          , pp.
          <volume>745</volume>
          {
          <fpage>757</fpage>
          . Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Zeller</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Yesterday, my program worked</article-title>
          . Today, it does not.
          <source>Why? In: Software EngineeringESEC/FSE99</source>
          . pp.
          <volume>253</volume>
          {
          <fpage>267</fpage>
          . Springer (
          <year>1999</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>