<!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>Extending Datatype Support for Tractable Reasoning with OWL 2 EL Ontologies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Pospishnyi Oleksandr</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>National Technical University of Ukraine “Kyiv Polytechnic Institute”</institution>
          ,
          <addr-line>Kiev</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>It was mentioned on multiple occasions that datatype expressions are a necessary component of any production quality knowledge base and will surely play a major role in the upcoming Semantic Web. This paper briefly summarizes the work on improving the support for tractable reasoning with datatype expressions in ELK - a highly efficient reasoner. Tests have shown an exceptional speed of ontology classification of great size which opens up new perspectives for applying ontologies with datatype expressions in practice.</p>
      </abstract>
      <kwd-group>
        <kwd>ontology</kwd>
        <kwd>dataypes</kwd>
        <kwd>reasoning</kwd>
        <kwd>EL++</kwd>
        <kwd>ELK</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Background</p>
      <p>In Description Logics, datatypes (also called concrete domains) can be used to
define new concepts by referring to particular values, such as strings or integers. For
example the following axioms from computer hardware ontology provide definitions
for the notions of dual-, quad-, and many-core processors:</p>
      <p>In mentioned example, , refers to the domain of natural numbers and the
relation is used to constrain possible values to those larger than 1. Restriction ,
uses the relation to constrain the value to element 2, and similarly for , .</p>
      <p>Any ontology reasoner, with a support of datatype expressions, as presented above,
should be able to derive new axioms such as:</p>
      <p>In order to ensure that reasoning remains polynomial, logic allows only for
datatype restrictions that cannot implicitly express concept disjunction, which is a
well-known cause of intractability. Consider, for example, the axioms:
∃. ,
∃. ,
≡ ⊓ ∃.
≡ ⊓ ∃.
≡ ⊓ ∃.</p>
      <p>⊑
⊑
It could be seen, that these axioms imply the disjunction:</p>
      <p>⊑ ⊔</p>
      <p>To prevent such situations, the EL Profile of OWL 2, which is based on ,
admits only equality in datatype restrictions. Unfortunately, it would be almost
impossible to adequately model knowledge about real world domains using
ontologies with such severe limitations on allowed datatype expressions.</p>
      <p>
        It was recently demonstrated by D. Magka, Y. Kazakov and I. Horrocks [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] that the
mentioned restrictions could be significantly relaxed without losing tractability. This
paper introduced a notion of “safety” for datatype restrictions and classified all safe
combinations of datatype restrictions for the domain of natural numbers, integers,
rational and real numbers. Conducted theoretical work opened up an opportunity to
implement datatype support for reasoners that would be both, safe and practically
useful.
      </p>
      <p>But more work still needs to be done. Namely, a large amount of ontologies relies
on other common datatypes, such as date/time, strings, binary data, URIs, etc:
∃. , .</p>
      <p>
        Thus, a goal was set to use the approach, presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], and extend it to include
all datatypes from the OWL 2 EL profile, as well as complex datatype restrictions, all
without compromising the tractability.
      </p>
      <p>
        Recent studies [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] showed that the abovementioned datatype expressions are already
widely used in different ontologies all over the Internet, despite their poor support by
most reasoners. It also has been often mentioned that datatype assertions would be a
major part of the Semantic Web and lack of their support would greatly hamper its
development.
      </p>
      <p>
        Newly developed reasoning procedures were implemented and tested in ELK – a
state of the art tractable reasoner [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
2
      </p>
      <p>Technical approach</p>
      <p>According to Web Ontology Language specification, OWL 2 EL profile provides
for 19 various datatypes, most of which are defined in XML Schema Definition
Language (XSD) specification. Figure 1 provides a summary of all datatypes, allowed
by the OWL 2 EL profile and displays their inheritance and a set of allowed facet
restrictions.</p>
      <p>It is worth mentioning, that OWL 2 EL profile does not allow the following
datatypes: xsd:double, xsd:float, xsd:nonPositiveInteger, xsd:positiveInteger,
xsd:negativeInteger, xsd:long, xsd:int, xsd:short, xsd:byte, xsd:unsignedLong,
xsd:unsignedInt, xsd:unsignedShort, xsd:unsignedByte, xsd:language and
xsd:boolean. The set of supported datatypes has been designed such that the
intersection of the value spaces of any set of these datatypes is either empty or
infinite, which is necessary to obtain the desired computational properties.</p>
      <p>In order to support reasoning with abovementioned allowed datatypes, a set of new
inference rules was implemented for the ELK reasoner:</p>
      <p>C ⊑ ∃R. r</p>
      <p>C ⊑ D
∃R. r ⊑ D ∈ , r</p>
      <p>⊆ r
C ⊑ ∃R. r ∈ , r</p>
      <p>∅</p>
      <p>C ⊑
where is an ontology, C and D are the concepts, R is a datatype property and
∃R. r denotes an existential datatype expression created with constraining facets.
Symbols + and ̶ indicate that an expression is occurring right or left of ⊑ respectively.</p>
      <p>With r ⊆ r we represent a fact that a value space constrained by the datatype
restriction r is a subset of a value space constrained by the r datatype restriction, or
in other words r includes r . With r ∅ we represent an empty value space
produced by the datatype restriction r .</p>
      <p>In the proposed implementation, all datatype expressions are parsed with respect to
their lexical form and then transformed to internal representation that reflects the
nature of their respective value space. All possible value spaces, created by the
datatype restrictions, could be conventionally divided into 3 categories:
• Values: binary value, date/time value, literal value and numeric value.
• Intervals: numeric interval, date/time interval and length restriction
• Other: empty value space, entire value space and pattern</p>
      <p>During the computation of all conclusions under the inference rules, for each
encountered ∃R. r expression a search is conducted for all ∃R. r expressions in the
ontology where r ⊆ r . To increase the efficiency of reasoning, a special datatype
index is used to optimize the search for all such ∃R. r expressions.</p>
      <p>Table 1 summarizes all possible r ⊆ r scenarios where represents r datatype
restriction, and represents r datatype restriction.</p>
      <p>My means of B ⊆ A expression we state that the datatype of a restriction is
equal to or inherited from the datatype of a restriction , for example xsd: integer ⊆
owl: real. Expression A and A denote a minimum and maximum value implied
by the restriction , while B denotes a length of a corresponding value. Finally, by
B → ∉ ∅ expression we represent a fact that literal value matches a corresponding
pattern restriction .
3</p>
      <p>Evaluation</p>
      <p>
        The evaluation of proposed modifications was conducted using a large OWL 2 EL
ontology that was generated by the Grid-DL Semantic Grid information service [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Two test ontologies were considered. The full ontology consisted of 1,087,124
axioms, 65 classes, 33 object properties, 109 datatype properties and 131,637
individual assertions. Truncated version of the ontology connsisted of only 230,670
axioms and 36,191 individual assertions.</p>
      <p>Three classes were added to act as a “query” to the knowledge base:
UK_Site ≡ Site and hasLocation some</p>
      <p>(Location and hasName some string[pattern ".*, UK"])
Idle_CE ≡ ComputingElement and hasState some
(CEState and hasRunningJobs value 0 and hasWaitingJobs value 0
and hasFreeJobSlots some integer[&gt;0])
and hasState some (CEState and hasStatus value Production)
x64_Cluster ≡ SubCluster and (describedBy some
(hasPlatformType value "x86_64"^^string) and
(describedBy some (hasRAMSize some integer[&gt;= 4096, &lt;= 8192])))
⊆ ⊆</p>
      <p>A A
B B
A A</p>
      <p>A A
⊆ ⊆</p>
      <p>B</p>
      <p>A
ng ir - ⊆ - - - -</p>
      <p>A
⊆</p>
      <p>A
A A</p>
      <p>B B
A A</p>
      <p>A
eum tren - ⊆ - - - -
N I</p>
      <p>B</p>
      <p>B
a
P
irc la
v
n
th tio</p>
      <p>c
eL tse</p>
      <p>R
e l
a In
D
c
ir e
N
l
a e
L V
e
tea aV
D</p>
      <p>.
re pS</p>
      <p>.
y p
t S</p>
      <p>V
V</p>
      <p>A
2
1
x
i
r
t
a
m
m
o
i
t
p
u
s
b
u
s
s
n
o
i
t
c
i
r
t
s
e
r
e
p
y
t
a
t
a
e
l
b
a
T
D В
.
2</p>
      <p>A
e lu - ⊆ - -
m a
u V</p>
      <p>B</p>
      <p>A
B
A</p>
      <p>B</p>
      <p>A
B</p>
      <p>B A A</p>
      <p>B B
A A
A A</p>
      <p>-
-
w
e
i
v
A
.
А
)
n
.
s
n
o
i
s
s
e
r
p
x
e
r
a
l
u
g
e
r
s
a
d
e
e
r
a
s
n
o
i
t
c
i
r
t
s
e
r
l
l
o
i
t
c
i
r
t
s
e
r
(
n
o
i
s
s
e
r
p
x
e
r
a
l
u
g
e
r
y
f
.e its
p sa
ty ll
a i
t
a w
d
c )В
i
if n
o
i
c
e t
sp i
c
r
t t
s
s
e
o r
m (
, n
n o
o is
m se
m r
o p
c x</p>
      <p>e
o
t r
t a
s l
a u</p>
      <p>g
c e
e r
ra fo
s
r n
eb it</p>
      <p>o
m ta</p>
      <p>e
u r
n
p
r
e
a t
n n
o i
s y</p>
      <p>r
a e
p v
m
a
n b .</p>
      <p>s
o l
u r
e
a
r
e ll
o i
b r
d
e t
i
l
h
id t
s
n
o r
c o
e lf
e 0 r</p>
      <p>0 a
y :
t
i
l
a
u
q a i
E L</p>
      <p>s
4 l
1 a
r</p>
      <p>e
± te re ir</p>
      <p>e
m t
a o a
u c th
q g</p>
      <p>y
n if</p>
      <p>r
a u e</p>
      <p>D V
3 4
r u
e l - ⊆ -
t
i a
-</p>
      <p>⊆
⊆
A</p>
      <p>A</p>
      <p>A
B</p>
      <p>B</p>
      <p>B B
im e A
T lu - ⊆</p>
      <p>A B B
- - ⊆
-
n</p>
      <p>A
ry e</p>
      <p>A
ian lau - ⊆ A B - - -
B V</p>
      <p>A
B B</p>
      <p>B
⊆</p>
      <p>B B
-</p>
      <p>A
in leu - ⊆ - - - -
t
E a
pm leu - ⊆ - - - -
E a</p>
      <p>B
A</p>
      <p>B
ty pS re S
p e i
p ray leu
e
Em laV
u t
n lu
E a</p>
      <p>V B
in a</p>
      <p>e a ti
V ta</p>
      <p>D
e c
im e la e ir e
T lu r u e lu
e la</p>
      <p>m a
V L V u V</p>
      <p>N
e l
m a
i v
T r</p>
      <p>e
te t</p>
      <p>Truncated ontology
classification time, ms
7366
5598
165419
timeout</p>
      <p>Full ontology
classification time, ms
54912
12567
out of mem
timeout</p>
      <p>Unfortunately, HermiT reasoner could not classify the ontology within a 1 hour
timeout constraint and Pellet ran out of memory while processing the full ontology.
Evidently, ELK greatly outperformed abovementioned reasoners due to its efficient
reasoning procedures.</p>
      <p>The profiling analysis showed that it is possible to considerably speed up the
reasoning procedures by using only one type of literals in the ontology, for example
xsd:string. If such requirements are met, simplified literal handling algorithm could
yield a considerable performance boost.</p>
      <p>Currently the work is focused on designing and implementing an ontology analysis
tool that would be capable of detecting unsafe datatype expressions in the processed
ontology. It would ensure that ontology being reasoned upon does not contain
conflicting datatype expressions that might cause incomplete results. In case if
implicit disjunction is detected, a warning would be issued to the user, informing him
about the source of the problem.</p>
      <p>The source code of modified version of ELK with the support of tractable datatype
reasoning can be found in elk-parent-datatypes branch in the official ELK
repository: https://code.google.com/p/elk-reasoner.
4
5 Simplified literal reasoning algorithm</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>D.</given-names>
            <surname>Magka</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Horrocks.</surname>
          </string-name>
          <article-title>Tractable Extensions of the Description Logic with Numerical Datatypes</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          <volume>47</volume>
          (
          <issue>4</issue>
          ), Pp.
          <fpage>427</fpage>
          -
          <lpage>450</lpage>
          , Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hogan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polleres</surname>
          </string-name>
          . OWL:
          <article-title>Yet to Arrive on the Web of Data?</article-title>
          .
          <source>arXiv preprint</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Simančík</surname>
          </string-name>
          .
          <article-title>Concurrent Classification of EL Ontologies</article-title>
          .
          <source>In: Proc. of the 10th International Semantic Web Conference (ISWC-11). LNCS 7032</source>
          , Springer,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>O.</given-names>
            <surname>Pospishniy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Stirenko.</surname>
          </string-name>
          GRID-DL:
          <article-title>Semantic GRID Information Service</article-title>
          .
          <source>In Proc. 9th OWL Experiences and Directions Workshop</source>
          (OWLED). Heraklion, Crete,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          and
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          .
          <article-title>Pellet: An OWL-DL Reasoner</article-title>
          .
          <source>In Proc. ISWC</source>
          <year>2004</year>
          , Hiroshima, Japan.
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Shearer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Horrocks.</surname>
          </string-name>
          <article-title>HermiT: a Highly-Efficient OWL Reasoner</article-title>
          .
          <source>In Proc. 5th OWL Experiences and Directions Workshop</source>
          (OWLED). Karlsruhe, Germany,
          <year>2008</year>
          . Pp.
          <volume>26</volume>
          -
          <fpage>27</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>