<!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>TReasoner: System Description</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andrey V. Grigorev</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander G. Ivashko</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Tyumen State University</institution>
          ,
          <addr-line>Semakova. 18, 625003 Tyumen, Russian Federation</addr-line>
        </aff>
      </contrib-group>
      <abstract>
        <p>TReasoner is a reasoning system supporting the SHOIQ(D) logic expressiveness, which forms the basis of the OWL DL language. The TReasoner was developed for using in the enterprise architecture veri cation expert systems, but the OWL API package allows to use the system for performing ontology operations. The reasoner implements a tableau algorithm and optimization techniques, some of them were developed and were used for the rst time. This description also contains an assessment of the developed system e ciency.</p>
      </abstract>
      <kwd-group>
        <kwd>Description Logic</kwd>
        <kwd>OWL</kwd>
        <kwd>Tableau Algorithm</kwd>
        <kwd>Reasoner</kwd>
        <kwd>Classi cation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Ontologies are a powerful tool of knowledge representation, which became very
popular for using by expert systems [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. First of all because of the fact that
they are based on the description logic formalism, which has a formally de ned
semantics allowing to develop tableau algorithm for a logic inference. OWL [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
is the basic ontology representation language recommended by the W3C
consortium. Nowadays the OWL 2 standard is valid. The OWL DL language uses the
SHOIN [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] description logic with support of data values.
      </p>
      <p>
        To date many OWL reasoning systems such as FaCT++ [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], HermiT [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] (for
OWL DL), jcel [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], ELK [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] (for OWL 2 EL) were developed, they implement
di erent algorithms for a logic inference.
      </p>
      <p>The article introduces a new OWL Reasoner. The TReasoner is SHOIQ(D)
reasoner implementing tableau algorithm with some novel optimization
techniques. TReasoner is free distributed by GNU General Public License v2. Source
code of the TReasoner, compiled class library and wrapper for system usage are
available at http://treasoner.googlecode.com.</p>
      <p>This system description has the following structure. Section 2 provides a
supported language and an implemented algorithm. Section 3 contains
information about architecture, implementation and optimization techniques that are
used by the TReasoner. Results of the system testing are described in section 4.
Section 5 concludes this work.</p>
    </sec>
    <sec id="sec-2">
      <title>Supported Language Subset and Implemented</title>
    </sec>
    <sec id="sec-3">
      <title>Reasoning Algorithm</title>
      <p>The TReasoner allows to perform a concept satis ability checking, a consistency
checking and a classi cation on OWL ontologies that use the SHOIQ(D)
description logic. It means that the system works correctly with concepts described
by the disjunction, the conjunction, the existential quanti er and the universal
quanti er. Besides, the SHOIQ allows roles to be transitive and inverse to other
roles. There may be concepts consisting of one individual (nominal), at the same
time the SHOIQ is extended by number restrictions (n R:C or n R:C).
D letter at SHOIQ(D) logics allows to describe knowledge with support of
datatypes (strings, numbers, dates and etc.).</p>
      <p>
        The TReasoner implements the tableau algorithm [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The concept satis
ability checking is carried out through graph-model existence checking.
      </p>
      <p>The tableau algorithm for SHOIQ has NExpTime complexity, but the
developed system implements di erent new and old optimization techniques, which
allow to signi cantly reduce worktime in practice.
3</p>
    </sec>
    <sec id="sec-4">
      <title>Architecture and Implementation</title>
      <p>The TReasoner was developed using the Java language, because of the
crossplatform portability. The system consists of 6 packages. The RuleGraph package
implements data structures for the inner representation of concepts. Also this
package implements algorithms for the concepts simpli cation and the axiom
simpli cation. TBox, ABox and RBox axioms are contained in KnowledgeBase
package classes. The OWL API package is used for loading the OWL
ontologies and transforming them to inner system representation. Main package is
Checker. It contains classes that implement tableau algorithm and optimization
techniques for it. Checker package classes use Interpretation package classes,
which implement data structures for the interpretation building. All packages use
classes of the Help package, which implements di erent supporting algorithms
and data structures such as binary heap, hash-table, etc. The UML package
diagram is presented on the Fig. 1.</p>
      <p>The TReasoner implements optimization techniques, which can be divided
into 3 groups:
1. Preprocessing optimizations;
2. Tableau algorithm optimizations;
3. Classi cation optimizations.</p>
      <p>The system uses both time-tested and newly developed optimizations.
3.1</p>
      <p>Optimization Techniques
Preprocessing optimizations are used by the ontologies transformation to inner
structures, which are understandable by the TReasoner. Also they are used for
the transformation of GCIs and equivalence axioms. For the concept
representation the system uses direct acyclic graph (DAG), each vertex of the graph
corresponds to some operation or quanti er, and neighbours of this vertex are
operands of the operation, in addition each vertex in the DAG has a number
that uniquely identi es it. To reduce memory usage, same concepts are
represented by only one subgraph. For each vertex (in order of height increasing), a
hash-function value is calculated, this function consider unique numbers of all
neighbours, operation type of the vertex, unique number of a role and number
restriction (for existential and universal quanti ers, and for number restriction
operations). If this function value doesn't exists in hash-table, the vertex with
its hash-function value will be added to hash-table. If function value is found
then all edges which enter to this vertex will change its direction to vertex with
corresponding value of hash-function that contained in hash-table.</p>
      <p>To reduce memory usage, removal of brackets technique was developed. The
algorithm is performed in two runs. In rst run, for each vertex v (in order of
height increasing) that represent a concept, set of concepts H(v) is calculated.
Concepts of this set de ned as follows:
1. If current graph vertex v represents atomic cocnept C, then H(v) set contains
two elements: C and &gt;;
2. If current graph vertex v represents u-cocnept then H(v) set contains
elements of H(u1) t H(u2) t ::: t H(uk) for all ui which are neighbours of
v;
3. If current graph vertex v represents t-cocnept then H(v) set contains
elements of H(u1) u H(u2) u ::: u H(uk) for all ui which are neighbours of
v;
In second run, vertexes are considered in order of height decreasing, each vertex
is transformed to u-vertex with neighbours of all concepts from H(v) and itself
vertex, so each concept of H(v) will be deleted from H(ui) for all ui which are
neighbours of v. For example, concept (((C u B) t (D u B)) u A) t (B u ((C u
A) t (E u C))) will be transformed to B u ((C u (A t E)) t (A u (C t D)))</p>
      <p>
        After loading and preprocessing of concepts, a processing of axioms will be
performed. Absorption technique [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] is used for this task.
      </p>
      <p>
        Tableau algorithm optimizations that are implemented in the TReasoner, include
such optimizations as backJumping [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], caching [
        <xref ref-type="bibr" rid="ref3 ref5">3, 5</xref>
        ] and global caching [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
The system implements novel optimization techniques. The main of such
techniques is the SS-branching [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which determine disjointness of concepts without
using of tableau algorithm. It is applicable not in every cases, but in wide range
of concepts. The SS-branching procedure determine disjointness of two concepts
by analyzing of structures of DAGs that represent its. For example, if concepts
C and D are conjunctions of other concepts (C C1 u C2 u ::: u Cn; D
D1 u D2 u ::: u Dn) and some of the concepts Ci and Dj are disjoint, then C
and D are disjoint. Conditions of disjointness for cases when C and D are
disjunctions, disjunction and conjunction, existential and unversal quanti ers were
identi ed. However, SS-branching can not to determine disjointness of concepts.
To cover wider class of concepts Bron-Kerbosch algorithm was used. For
disjointness checking of the concepts like E1 u E2 u ::: u En, where every concept
Ei is a disjunction (EI F1 t F2 t ::: t Fk). Such concepts will be presented of
n-partite form, where every vertex of the part presents Fj concept, so vertexes
form di erent parts will be connected, if corresponding concepts are disjointness.
Model existing checking of such concepts performed by using of Bron-Kerbosch
algorithm, which used for n-clique nding in n-partite graph.
      </p>
      <p>
        Classi cation optimizations allow to reduce system worktime to perform the
classi cation operation. Enhanced traversal method [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] is used for the classi
cation, information about disjointness is extracted not only from subsumption
test, but during the concept satis ability testing. During the construction of
model by tableau algorithm, labels of all individuals are checked in the presence
of concepts A and :B, though A and B are concept names. If those individuals
exist, then A 6v B, without performing A v B subsumption test.
4
      </p>
    </sec>
    <sec id="sec-5">
      <title>System Performance Evaluation</title>
      <p>The TReasoner system performance testing uses ontologies classi cation tests
that were used on the OWL Reasoner Evaluation Workshop 2012 and compares
the results received by HermiT (ver. 1.3.6) and FaCT++ (1.6.2) reasoners. They
implement hypertableau and tableau algorithms and support the SROIQ(D)
logic. Information about used ontologies is shown in table 1.</p>
      <p>System testing results in comparison with other reasoners are shown in table
2. First column of the table contains name of used ontology, and every
subsequent column shows time spent for ontology classi cation by the relevant system.
Testing was carried out on ASUS Notebook VX7SX Series Intel Core i7-2630QM
CPU@2.00 GHz 2.00 GHz; 6.00 GB RAM running under Windows 7.
This system description presents the new reasoning system, implemented
algorithms and implemented optimization techniques, which contribute to reduce
worktime of di erent ontologies operations (classi cation, concept satis ability
checking, consistency checking). The developed system allows to perform logical
analysis for expressive SHOIN (D) logic that is used in OWL DL. This fact
allows to use TReasoner to perform operations on a wide class of ontologies.</p>
      <p>The presented testing results show that TReasoner may not compete yet with
most popular systems such as HermiT and FaCT++ reasoners, but in future
implementation of tableau algorithm will be improved and reduce of system
worktime is expected.</p>
      <p>In further researches improving of the TReasoner is expected in order to use
it not only as module of the enterprise architecture veri cation expert system,
but as self-dependent OWL reasoning system.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-</surname>
          </string-name>
          Schneider, editors.
          <source>The Description Logic Handbook: Theory, Implementation and Applications</source>
          . CUP,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Hollunder</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Nebel</surname>
          </string-name>
          , H.-J. Pro tlich,
          <string-name>
            <surname>E. Franconi.</surname>
          </string-name>
          <article-title>An Empirical Analysis of Optimization Techniques for Terminological Representation Systems or Making KRIS get a move on*</article-title>
          <source>KR-92</source>
          , pages
          <fpage>270</fpage>
          -
          <lpage>281</lpage>
          ,
          <year>1992</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Ding</surname>
          </string-name>
          and
          <string-name>
            <given-names>V.</given-names>
            <surname>Haarslev</surname>
          </string-name>
          .
          <article-title>Tableau caching for description logics with inverse and transitive roles</article-title>
          .
          <source>In Proc. DL-2006: International Workshop on Description Logics</source>
          , pages
          <fpage>143</fpage>
          -
          <lpage>149</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Matthew</given-names>
            <surname>Horridge</surname>
          </string-name>
          and
          <string-name>
            <given-names>Sean</given-names>
            <surname>Bechhofer</surname>
          </string-name>
          .
          <article-title>The OWL API: A Java API for OWL Ontologies</article-title>
          .
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ):
          <fpage>11</fpage>
          -
          <lpage>21</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>Optimising Tableaux Decision Procedures for DescriptionLogics</article-title>
          .
          <source>PhD thesis</source>
          , University of Manchester,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Sattler</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Tobies</surname>
          </string-name>
          .
          <article-title>Reasoning with individuals for the description logic SHIQ</article-title>
          . In D. MacAllester, editor,
          <source>Proc. of the CADE</source>
          <year>2000</year>
          , number
          <year>1831</year>
          , pages
          <fpage>482496</fpage>
          . Springer-Verlag,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Ian</given-names>
            <surname>Horrocks</surname>
          </string-name>
          , Boris Motik, and
          <string-name>
            <given-names>Zhe</given-names>
            <surname>Wang</surname>
          </string-name>
          .
          <article-title>The HermiT OWL Reasoner</article-title>
          .
          <source>OWL Reasoner Evaluation Workshop</source>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>A.</given-names>
            <surname>Ivashko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Ivanova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Ovsyannikova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kolomiyets</surname>
          </string-name>
          .
          <article-title>Applying DL for information system architecture description</article-title>
          . Vestnik of Tyumen State University,
          <volume>98</volume>
          (
          <issue>4</issue>
          ):
          <fpage>137</fpage>
          -
          <lpage>142</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>A.</given-names>
            <surname>Ivashko</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Grigorjev</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Grigorjev</surname>
          </string-name>
          .
          <article-title>Modi cation of tableau algorithm based on checking disjointness of complex concepts</article-title>
          .
          <source>Vestnik</source>
          of Tyumen State University,
          <volume>98</volume>
          (
          <issue>4</issue>
          ):
          <fpage>143</fpage>
          -
          <lpage>150</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Yevgeny</surname>
            <given-names>Kazakov</given-names>
          </string-name>
          , Markus Krotzsch and
          <string-name>
            <given-names>Frantisek</given-names>
            <surname>Simancik</surname>
          </string-name>
          . ELK Reasoner:
          <article-title>Architecture and Evaluation</article-title>
          .
          <source>OWL Reasoner Evaluation Workshop</source>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Julian</surname>
          </string-name>
          <article-title>Mendez. jcel: A Modular Rule-based Reasooner</article-title>
          .
          <source>OWL Reasoner Evaluation Workshop</source>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Linh Anh Nguyen. An E cient Tableau</surname>
          </string-name>
          <article-title>Prover using Global Caching for the Description Logic ALC</article-title>
          .
          <source>Arti cial Intelligence</source>
          ,
          <volume>93</volume>
          (
          <issue>1</issue>
          ):
          <fpage>273</fpage>
          -
          <lpage>288</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Hayes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I.</given-names>
            <surname>Horrocks. OWL WebOntology</surname>
          </string-name>
          <article-title>Language: Semantics and Abstract Syntax</article-title>
          ,
          <source>W3C Recommendation, February</source>
          <volume>10</volume>
          2004. http://www.w3.org/TR/owl-semantics/.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>P.</given-names>
            <surname>Prosser</surname>
          </string-name>
          .
          <article-title>Hybrid Algorithms for the Constraint Satisfaction Problem</article-title>
          .
          <source>Computational Intelligence</source>
          .
          <volume>9</volume>
          (
          <issue>3</issue>
          ):
          <fpage>268</fpage>
          -
          <lpage>299</lpage>
          ,
          <year>1993</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>D.</given-names>
            <surname>Tsarkov</surname>
          </string-name>
          and
          <string-name>
            <surname>I. Horrocks.</surname>
          </string-name>
          <article-title>FaCT++ Description Logic Reasoner: System Description</article-title>
          .
          <source>In Proc. IJCAR</source>
          <year>2006</year>
          , pages
          <fpage>292</fpage>
          -
          <lpage>297</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>