<!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>Calculations in OWL</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Luigi Iannone</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alan Rector</string-name>
          <email>rectorg@cs.manchester.ac.uk</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>School of Computer Science University of Manchester</institution>
          <addr-line>Manchester M13 9PL</addr-line>
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The current OWL speci cation does not include a syntax for specifying calculated values for data type properties. Their introduction, although acknowledged among the desiderata, seems yet unlikely to appear in the forthcoming OWL 2.0. This paper shows one way of working around this absence using annotations. The aim here is not to suggest a standard but, rather, to individuate the potential issues that a full edged standard solution will have to tackle.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>Our framework o ers the possibility to attach one or more alternative formulas1
to a data property so that, after a preprocessing phase, each individual admitting
such properties in an OWL ontology, could have a ller computed using the
appropriate formula. Our initial assumption is that formulas ought to be attached
to properties. The most direct way to do that is by means of annotations on the
1 Please notice that the words formula, calculations, and their plurals are used
henceforth interchangeably as synonyms for the same concept
data property themselves. This has the direct consequence that, in the frequent
case in which di erent classes of individuals require di erent formulas for
computing the value for the same data property, such property will present as many
annotations as there are alternatives. Moreover, this requires a mechanism for
deciding which one should be applied. A more object-oriented approach would
have, on the contrary, suggested to attach formulas to classes. However, we
decided against the latter because it would have been convenient only for formulas
that applied to named classes2, as there is no way in OWL to annotate a non
primitive class. The only workaround would be to de ne such complex classes
by asserting their equivalence with a named one, and then annotate the latter
with the formula. However, this would not scale and would introduce new class
names whose relevance in terms of domain model is at least dubious.
Furthermore, OWL is axiom, rather than, object-oriented and this makes the annotation
of properties more natural than the annotation of classes with formulas.</p>
      <p>In Fig. 1 we summarise graphically the components of a formula in our
framework:
A formula can be decomposed into the following blocks:
{ Conflict Strategy: Indicates the strategy to adopt when a value is
calculated for a functional property that already has got a ller for for the
individual under consideration. The possible strategies are:</p>
      <p>OVERRIDING - The engine will replace the existing value with the
newly computed one.</p>
      <p>OVERRIDDEN - The engine will discard the computed value preserving
the existing one.</p>
      <p>EXCEPTION - The engine will raise a speci c exception relinquishing
control to an external application or to the user.
{ Applies to: Class expression that restricts the application scope of the
formula to the instances of such description (Optional, if omitted the property
domain will be the scope). In case more than one formula is applicable to an
individual (i.e.: the individual is in more than one Applies to restriction for
the same property, and such scopes are incomparable w.r.t. subsumption)
an exception is raised and no value is computed.
2 Named class here is used to denote either de ned classes or primitive ones, as opposed
to unnamed, anonymous, complex class
{ Bindings: A binding is an assignment of a formula variable. Each binding
is a property chain that yields to a value (or a set of values) to be assigned
to the corresponding variable in the formula.
{ Storage: Like bindings, storage paths are property chains that determine
where to store the computed value(s). They are made of object properties
only and the nal data property is omitted as it is the data property
annotated by the formula itself. If omitted, for each computed value, a ller for
the annotated data property will be attached directly to the each individual
in the formula application scope.
{ Formula Body: The formula itself. It can be a simple formula or an
aggregate. In case of multiple bindings for a variable, the former will output
multiple results, the latter ones will out put the corresponding aggregate
value.</p>
      <p>
        We developed a syntax for encoding all the above inside OWL annotations
attached to data properties. The complete grammar can be found at
http://www.cs.man.ac.uk/~iannonel/owlcalculations/syntax.html. Besides
dealing with cases of di erent formulas for the same data property inherited by
an individual on account of multiple inheritance, our framework does not solve
any of the theoretical problems referenced above (see [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]). Unedicidability
remains a problem that formula users must deal with. This framework, in fact, is
meant to be used as a preprocessing facility that populates the ontology with
values, before it is sent to a reasoner for classi cation purposes. However, the
framework itself uses the reasoner inferences to apply its formulas. Hence, the
only safe situations are those where data property values do not interact with
terminological axioms, i.e.: instance classi cation does not depend on its data
property llers.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        To the best of our knowledge, there is not, at the state of the art, a standard
way to express, in OWL, that the llers of a data property can (or should) be
derived from others by means of a formula. The immediate plans for OWL 2.0
speci cations drafted so far [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] do not provide any support either. Nonetheless,
the issue has been raised and discussed during the drafting phase [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and it will be
resumed in the preparation of the following versions of OWL. Ours, then, should
be considered a practical, temporizing solution and an early exploration of the
issues that a fully OWL-based answer to the problem of including calculations
into ontologies will have to solve. The only comparable alternative consists of
utilising a rule based formalism to represent calculations. In this perspective,
DLsafe rules [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] are currently the most expressive decidable rule language compatible
with OWL-DL. Rules implementing the calculations could be encoded in the
DL-safe fragment of the Semantic Web Rule Language (SWRL) and used on top
of ontologies. The actual formulas can be translated using what in the SWRL
speci cation are called built-ins. Unfortunately, all the implementation at the
state of the art of reasoners that deal with DL-safe rules o er a very limited
or no built-in support (see, for instance, Pellet - http://pellet.owldl.com/
faq/rules). Furthermore, there is a limited support also for SWRL rules that
have anonymous OWL classes in their bodies, hence, in order to encode the
applicability of a formula to an individual, one would have to refer it to a named
class. This has the same shortcoming of annotating classes with formulas rather
than data property (see the discussion at the beginning section 2), i.e.: the
undesirable proliferation of de ned class created just for calculation rather than
modeling purposes.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Work</title>
      <p>We presented a framework that enables the attachment of formulas to a data
property in OWL and the computation of its values. This has been done in view of
a more thorough standard speci cation covering this functionality for OWL and
represents a temporizing solution. We also developed an API and a plug-in for
Prootege 4 ontology editor that can be found along with essential documentation
at http://www.cs.man.ac.uk/~iannonel/owlcalculations/. Future work in
this direction will focus on layering formulas on top of each other, augmenting
the set of arithmetic operators available, devising extension for custom strategies
for con icts between computed values and pre-existing ones, and heuristics to
detect dangerous (potentially undecidable) interactions with the reasoners.</p>
    </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>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Description logics with concrete domains and aggregation</article-title>
          . In Prade, H., ed.
          <source>: Proceedings of the 13th European Conference on Arti cial Intelligence (ECAI-98)</source>
          , John Wiley &amp; Sons
          <string-name>
            <surname>Ltd</surname>
          </string-name>
          (
          <year>1998</year>
          )
          <volume>336</volume>
          {
          <fpage>340</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Patel-Schneider</surname>
            ,
            <given-names>P.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          : OWL 2
          <string-name>
            <given-names>Web</given-names>
            <surname>Ontology Language: Model-Theoretic Semantics W3C Working Draft</surname>
          </string-name>
          April
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. W3C OWL Working Group: OWL Working Group Issue Tracking - Issue 5 -
          <string-name>
            <surname>Doubt about</surname>
          </string-name>
          n-ary types http://www.w3.org/2007/OWL/tracker/issues/5.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Studer</surname>
          </string-name>
          , R.:
          <article-title>Query Answering for OWL-DL with Rules</article-title>
          . In
          <string-name>
            <surname>McIlraith</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Plexousakis</surname>
          </string-name>
          , D., van
          <string-name>
            <surname>Harmelen</surname>
          </string-name>
          , F., eds.:
          <source>International Semantic Web Conference</source>
          . Volume
          <volume>3298</volume>
          of Lecture Notes in Computer Science., Springer (
          <year>2004</year>
          )
          <volume>549</volume>
          {
          <fpage>563</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>