<!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>Towards a Nonmonotonic Extension to OWL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Yarden Katz</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Bijan Parsia</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>MIND Lab, University of Maryland College Park</institution>
          ,
          <addr-line>MD 20740</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We discuss ALCK, a nonmontonic logic that augments ALC with the epistemic operator K, and argue that a similar extension to OWL would be desirable. We show, however, that at its current state the OWL syntax is too inflexible to capture even this syntactically simpleminded extension. Finally, we introduce our implementation of ALCK as an extension to the tableau-based OWL-DL reasoner Pellet.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>the question of whether bob is actually a manager or a programmer. An integrity
constraint in this case will check that every employee is known to be one or the
other.</p>
      <p>Integrity constraints are common in database and frame systems, where the
CWA is usually made. Without completely abandoning OWL’s open world, it
would be useful to capture such constraints. The epistemic formulation of such
integrity constraints−i.e. asking the database only for known facts−was noted
by Reiter. These constraints, phrased epistemically, can be captured in ALCK.
2</p>
      <p>
        ALCK
In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the epistemic operator K1 is added to the description logic ALC. The K
operator allows queries that assume the CWA, making ALCK a nonmonotonic
formalism. The K operator (which is a kind of necessity operator) can be applied
to a concept or role.
      </p>
      <p>We focus on the use of K in queries and assume that queries are posed to
an ALC knowledge base Σ. Intuitively, the query ha : KCi (resp. haKRbi for
a role) is read as “Is the individual a known to be C?” More formally, we let I
be the usual interpretation, and W a set of interpretations that satisfy C. We
say Σ |= ha : KCi if and only if for every interpretation I ∈ W, a ∈ CI. The
set W must be maximal, which means that in our case it is simply the set of all
first-order models of C. Returning to our motivational example, the closed-world
query desired can be phrased as: Σ |= hbob : KM anager t KP rogrammeri.
3</p>
    </sec>
    <sec id="sec-2">
      <title>An OWL syntax for K?</title>
      <p>The K operator is quite simple from a syntactic standpoint: it can be applied to
classes and properties. We outline several failed approaches to encoding K into
the RDF/XML syntax of OWL. It is clear that the operator cannot be encoded
as a class, for the simple reason that it applies to other classes and properties.
This left us with two options:
1. As a property? We could coin a new reserved OWL object property, owl:K.</p>
      <p>To represent ha : KCi, we must make an anonymous class related via owl:K
to C. Suppose that we want to encode hbob : M anager u ¬KHackeri:
&lt;rdf:Description rdf:about="#bob"&gt;
&lt;rdf:type&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Class rdf:about="#Manager"/&gt;
&lt;owl:Class&gt;
&lt;owl:complementOf&gt;</p>
      <p>&lt;owl:Class&gt;
1 Named after Kripke originally
&lt;owl:K&gt;</p>
      <p>
        &lt;owl:Class rdf:about="#Hacker"/&gt;
&lt;/owl:K&gt;
&lt;/owl:Class&gt;
&lt;/owl:complementOf&gt;
&lt;/owl:Class&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdf:type&gt;
&lt;/rdf:Description&gt;
There are two immediate problems with this: (1) we are forced to generate
superfluous anonymous classes to maintain the “striped” structure of the
syntax (see [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]), and (2) we are able to arbitrarily name (and refer to using
nodeID) any of our anonymous classes, causing the structure of the above
encoding to become even less clear. However, setting aside these problems,
this method will simply not work for K on properties (e.g. aKRb) as there
is no way to ”apply” a property to a property.
2. As an annotation property? The second alternative would be to represent
K as an annotation property that is used to ”label” classes. The advantage of
this approach is that annotation properties can be used to label both classes
and properties. To avoid having an empty annotation, we call the property
modality and assume that the annotation will always be the string ”K”. Let
us try to represent the assertion hbob : KM anager u KP ersoni using this
method:
&lt;rdf:Description rdf:about="bob"&gt;
&lt;rdf:type&gt;
&lt;owl:Class&gt;
&lt;owl:intersectionOf rdf:parseType="Collection"&gt;
&lt;owl:Class rdf:about="#Manager"&gt;
      </p>
      <p>&lt;owl:modality&gt;K&lt;/owl:modality&gt;
&lt;/owl:Class&gt;
&lt;owl:Class rdf:about="#Person"&gt;</p>
      <p>&lt;owl:modality&gt;K&lt;/owl:modality&gt;
&lt;/owl:Class&gt;
&lt;/owl:intersectionOf&gt;
&lt;/owl:Class&gt;
&lt;/rdf:type&gt;
&lt;/rdf:Description&gt;
The problem here is that we could easily reserialize this description such
that the syntax becomes ambiguous. For example, it is perfectly correct to
pull the following out of the conjunction:
&lt;owl:Class rdf:about="#Manager"&gt;</p>
      <p>&lt;owl:modality&gt;K&lt;/owl:modality&gt;
&lt;/owl:Class&gt;</p>
      <p>And place it in the top-level. In its place in the conjunction, we can
substitute &lt;owl:Class rdf:about="#Manager"&gt;. While this is a valid
serialization, our assertion now lost its proper structure. With this change, our
assertion simply becomes hbob : M anager u KP ersoni. This is not the
behavior we wanted; we only meant to apply K to the class M anager in the
first conjunction, and not in general.</p>
      <p>With all these complications, remember that we haven’t mentioned more
sophisticated use of K. We have not considered the use of the operator in
existential and universal role restrictions, such as ∃KR.C or ∀R.KC, for example.
Even if we adopt the first approach and ignore its severe drawbacks, it is clear
that such a syntax is not going to be human-readable.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Implementation</title>
      <p>
        We have implemented the ALCK language as an extension to the tableau-based
OWL-DL reasoner Pellet. In addition to the K queries outlined above, we also
admit a restricted use of K in the terminology, in the form of an epistemic rule.
An epistemic rule is of the form of KC v D where C and D are ALC concepts.
Frustrated with the failure to come up with an OWL syntax extension, we have
extended the KRSS format to allow for K and epistemic rules. The extension is
trivial and is described in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-4">
      <title>Future work and conclusion</title>
      <p>
        Our examples focused on the use of K in queries posed to a first-order (ALC)
knowledge base. Extending more expressive description logics with this
functionality (including epistemic rules) is easy. Other useful features of nonmonotonic
logics, like default rules, can be formalized by admitting K freely in the
terminology, and by adding another epistemic operator, A, to the language (see [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].)
However, it must be noted that modelling with both operators allowed
arbitrarily in the knowledge base can be far from intuitive, compared with many other
formalisms. We conclude that aside from the superficial, though problematic
barrier posed by the OWL syntax, extending the OWL semantics (or as large
a subset of it as possible) to accomodate these operators would be useful and
doable, and a task which we are actively pursuing.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Donini</surname>
            ,
            <given-names>F</given-names>
          </string-name>
          (et al).
          <article-title>An epistemic operator for description logics</article-title>
          .
          <source>J. Art. Intel</source>
          .
          <volume>100</volume>
          (
          <year>1998</year>
          )
          <fpage>225</fpage>
          -
          <lpage>274</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Donini</surname>
            ,
            <given-names>F</given-names>
          </string-name>
          (et al).
          <article-title>Description logics of minimal knowledge and negation as failure</article-title>
          .
          <source>ACM Trans. Comp</source>
          . Log. (
          <year>2001</year>
          )
          <fpage>1529</fpage>
          -
          <lpage>3785</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Katz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <article-title>ALCK implementation in Pellet</article-title>
          . http://www.mindswap.org/2005/alck
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Beckett</surname>
            ,
            <given-names>D</given-names>
          </string-name>
          (et al).
          <article-title>RDF/XML syntax specification (revised)</article-title>
          . http://www.w3.org/TR/rdf-syntax-grammar/
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>