<!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>Modeling OWL with Rules: The ROWL Prot e´g e´ Plugin</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Md. Kamruzzaman Sarker</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Carral</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Adila A. Krisnadhi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Pascal Hitzler</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universitas Indonesia</institution>
          ,
          <addr-line>Depok</addr-line>
          ,
          <country country="ID">Indonesia</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Wright State University</institution>
          ,
          <addr-line>OH</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In our experience, some ontology users find it much easier to convey logical statements using rules rather than OWL (or description logic) axioms. Based on recent theoretical developments on transformations between rules and description logics, we develop ROWL, a Prote´ge´ plugin that allows users to enter OWL axioms by way of rules; the plugin then automatically converts these rules into OWL DL axioms if possible, and prompts the user in case such a conversion is not possible without weakening the semantics of the rule.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>It has long been argued, that rules are much more intuitive and easier to master than
description logics, in terms of what their intended meaning is. We find this
substantiated throughout our experiences as teachers and as ontology modelers which frequently
work with domain experts.</p>
      <p>To give just a simple example: The exact semantics behind a logical axiom such as</p>
      <sec id="sec-1-1">
        <title>Journal v 8publishedBy:Organization</title>
        <p>in our experience often remains somewhat unclear even for people with significant
exposure to ontologies and ontology modeling. On the other hand, a rule such as</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Rules-to-OWL Transformation</title>
      <p>
        In this section, we provide some examples of translations of rules into OWL axioms
in an attempt to convey an intuitive understanding of our transformation. For a formal
and complete of such procedure we refer the reader to [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Note that, as opposed to
[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we do not consider rules in our implementation that would require the use of role
conjunction, as this is a logical constructor not currently allowed in OWL.
      </p>
      <p>The following rule can be used to characterize all individuals taking courses and
working for a department as student workers.</p>
      <p>attends(x; y) ^ Course(y) ^ worksFor(x; z) ^ Dept(z) ! StudentWorker(x)
(1)</p>
      <p>We transform this rule into a DL axiom via a series of equivalence preserving
transformations. First, we detect that both y and z are variables that can be “rolled up,” as
they only occur in a single object property. Thus, these variables can be sequentially
removed from the rule, resulting in the following:</p>
      <sec id="sec-2-1">
        <title>9attends:Course(x) ^ worksFor(x; z) ^ Dept(z) ! StudentWorker(x)</title>
      </sec>
      <sec id="sec-2-2">
        <title>9attends:Course(x) ^ 9worksFor:Dept(x) ! StudentWorker(x)</title>
        <p>Furthermore, we can unify all unary atoms of the form C(x), i.e., sharing the same
variable x, yielding:</p>
        <p>(9attends:Course u 9worksFor:Dept)(x) ! StudentWorker(x)
The previous rule can then be directly translated into OWL as the following axiom:</p>
      </sec>
      <sec id="sec-2-3">
        <title>9attends:Course u 9worksFor:Dept v StudentWorker</title>
        <p>For the next example, we have the following rule, which specifies that “all mice are
smaller than all elephants.”</p>
      </sec>
      <sec id="sec-2-4">
        <title>Mouse(x) ^ Elephant(y) ! smallerThan(x; y)</title>
        <p>Translating such a rule into OWL requires us to first connect the variables in the
body. We do so by adding atoms of the form U (t; u) with U the universal property, i.e.,
owl:topObjectProperty.</p>
      </sec>
      <sec id="sec-2-5">
        <title>Mouse(x) ^ U (x; y) ^ Elephant(y) ! smallerThan(x; y)</title>
        <p>The previous rule can be directly translated into OWL resulting in the following
three axioms where RMouse and RElephant are fresh object properties not previously
occurring in the ontology:</p>
      </sec>
      <sec id="sec-2-6">
        <title>Mouse v 9RMouse:Self</title>
      </sec>
      <sec id="sec-2-7">
        <title>Elephant v 9RElephant:Self</title>
        <p>RMouse U</p>
      </sec>
      <sec id="sec-2-8">
        <title>RElephant v smallerThan</title>
        <p>Modeling OWL with Rules: The ROWL Prote´ge´ Plugin</p>
        <p>Certain rules cannot be expressed in OWL employing our approach. For example,
the following rule, which characterizes the set of individuals taught by their own uncle,
cannot be translated by our approach.</p>
        <p>hasFather(x; y) ^ hasBrother(y; z) ^ taughtBy(x; z) ! TaughtByUncle(x)
Note that, such a rule cannot be reduced in the same way as rule , since every variable
occurs in at least two atoms with object properties as predicates.</p>
        <p>
          In cases, such as the previous one, in which a rule cannot be translated into OWL
using a set of DL axioms, our implementation will suggest several options to translate
such rule using nominal schemas [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. The chosen option by the user will be recorded
in an annotation which will be added to the rule. As of right now, there is no syntax for
nominal schemas in OWL and thus, we have decided that an annotation is the best way
to convey such information.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Plugin Description and Features</title>
      <p>attends(?x, ?y) ˆ Course(?y) ˆ worksFor(?x, ?z) ˆ Dept(?z) -&gt; StudentWorker(?x)
When the “Convert to OWL Axiom” button is clicked, ROWL will attempt to apply
the rules-to-OWL transformation described in the previous section to the given rule. If
successful, a pop-up will appear displaying one or more OWL axioms resulted from the
transformation, presented in Manchester syntax. These axioms can then be integrated
into the active ontology.</p>
      <p>If the given rule cannot be transformed into OWL axiom, ROWL will prompt the
user if they still want to insert the rule into the ontology as an SWRL rule with
annotation. If the user agrees, ROWL will switch to its SWRL tab and proceeds in the same
way as adding a rule via the original SWRLTab. Note that ROWL is separate from the
original SWRLTab, hence any SWRL rule added via ROWL will not affect rules added
through the original SWRLTab.</p>
      <p>Note that once the axioms generated from rules are added into the ontology, the
plugin does not provide a way to undo it and recover the original rule from which
the axioms were generated. That is, when a user enters a rule through this plugin and
converts it to OWL axioms, the active ontology is either augmented with the generated
OWL axioms or SWRL rules. To have this feature, we need a way to record which
axioms were generated from which rules. This will be considered as part of future
development of this plugin.</p>
      <p>Finally, a feature of ROWL not found in SWRLTab is the possibility to
automatically add declarations for classes and properties if the inserted rule contain classes or
properties not yet defined in the ontology. For example, in the rule above, the original
SWRLTab requires that attends and worksFor to be already defined as object property,
while Course, Dept, and StudentWorker as class in the ontology. This would add a little
bit more freedom for the user to enter any rule (s)he wishes during modeling because
(s)he does not need to first exit the plugin and declare the classes and properties directly
in Prote´ge´.</p>
      <p>Acknowledgements. This work was supported by the National Science Foundation under
award 1017225 III: Small: TROn – Tractable Reasoning with Ontologies.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Kro¨ tzsch,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Maier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Krisnadhi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.:</surname>
          </string-name>
          <article-title>A better uncle for OWL: nominal schemas for integrating rules and ontologies</article-title>
          . In: Srinivasan,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Ramamritham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ravindra</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.P.</given-names>
            ,
            <surname>Bertino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <surname>R</surname>
          </string-name>
          . (eds.)
          <source>Proceedings of the 20th International Conference on World Wide Web, WWW</source>
          <year>2011</year>
          , Hyderabad, India, March 28 - April 1,
          <year>2011</year>
          . pp.
          <fpage>645</fpage>
          -
          <lpage>654</lpage>
          . ACM (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Mart´ınez,
          <string-name>
            <given-names>D.C.</given-names>
            ,
            <surname>Hitzler</surname>
          </string-name>
          ,
          <string-name>
            <surname>P.</surname>
          </string-name>
          :
          <article-title>Extending description logic rules</article-title>
          . In: Simperl,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Cimiano</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Polleres</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O´ .</given-names>
            ,
            <surname>Presutti</surname>
          </string-name>
          , V. (eds.)
          <source>The Semantic Web: Research and Applications - 9th Extended Semantic Web Conference, ESWC</source>
          <year>2012</year>
          , Heraklion, Crete, Greece, May
          <volume>27</volume>
          - 31,
          <year>2012</year>
          .
          <source>Proceedings. Lecture Notes in Computer Science</source>
          , vol.
          <volume>7295</volume>
          , pp.
          <fpage>345</fpage>
          -
          <lpage>359</lpage>
          . Springer (
          <year>2012</year>
          ), http://dx.doi.org/10.1007/978-3-
          <fpage>642</fpage>
          -30284-8_
          <fpage>30</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>