<!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>ONTOMS2: an Efficient and Scalable ONTOlogy Management System with an Incremental Reasoning</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Min-Joong Lee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jong-Ryul Lee</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sangyeon Kim</string-name>
          <email>sangyeon@islab.kaist.ac.kr1</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Myung-Jae Park</string-name>
          <email>jpark@islab.kaist.ac.kr1</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Chin-Wan Chung</string-name>
          <email>chungcw@kaist.edu2</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science</institution>
          ,
          <addr-line>KAIST, Daejeon</addr-line>
          ,
          <country>Republic of Korea</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present ONTOMS2, an efficient and scalable ONTOlogy Management System with an incremental reasoning. ONTOMS2 stores an OWL document and processes OWL-QL and SPARQL queries. Especially, ONTOMS2 supports SPARQL Update queries with an incremental instance reasoning of inverseOf, symmetric and transitive properties.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In order to efficiently manage ontology data, various ontology data management
systems [
        <xref ref-type="bibr" rid="ref4 ref5 ref6">4–6</xref>
        ] are proposed based on RDBMS. However, existing ontology data
management systems do not support updates incrementally. To efficiently
manage such large sized ontology data, we need a way of incremental updating for
ontology data. We propose an incremental update strategy to efficiently handle
a large amount of ontology data and the frequent updates of such ontology data.
Our incremental update strategy provides an insertion and deletion based on
SPARQL Update with the support of some important semantics of ontologies
such as inverseOf, symmetric, and transitive. We apply our incremental update
strategy to ONTOMS which is an efficient and scalable ONTOlogy Management
System proposed in [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>
        ONTOMS efficiently manages large sized OWL data based on RDBMS and
using OWL-QL. It stores OWL data into a class based relational schema to
increase the query processing performance. Figure 1 describes an example of OWL
data stored into relational tables in ONTOMS. Unlike other approaches,
ONTOMS generates a class based relational schema, where one relation is created
for each class. Each class relation contains associated properties as its attributes.
For more details of ONTOMS, please refer [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
      </p>
      <p>We denote the new version of ONTOMS where our incremental update
strategy and SPARQL processor are applied as ONTOMS2. We designed the
architecture of ONTOMS2 as depicted in Figure 2. The core modules of ONTOMS2
are OWL Data Storage Module, Instance Inference Module, SPARQL Module,
and OWL-QL Module. To apply our incremental update strategy to ONTOMS,
we create SPARQL Module in Query Processing Module and modified Instance
Inference Module for the incremental reasoning. OWL Data Storage Module
obtains class and property hierarchy information from OWL Reasoner, Pellet, and
UID
GS1
UID</p>
      <p>Prof1
Course
UID
C1
C2</p>
      <p>GraduateStudent
degreeFrom degreeFrom_S degreeFrom_E</p>
      <p>Professor
degreeFrom degreeFrom_S degreeFrom_E</p>
      <p>Univ1 6 7
GraduateStudent_ Professor_
takesCourse teachesCourse
UID Value UID Value
GS1 C1 Prof1 C1
GS1 C2 Prof1 C2</p>
      <p>OWL</p>
      <sec id="sec-1-1">
        <title>Reasoner (Pellet)</title>
        <sec id="sec-1-1-1">
          <title>CHliaesrsa,rcPhrioepserty CDleafsins,itPiornosperty</title>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>OWL Data</title>
      </sec>
      <sec id="sec-1-3">
        <title>Storage</title>
      </sec>
      <sec id="sec-1-4">
        <title>Module</title>
        <p>Tuples for
Class,
Property,
Instance</p>
      </sec>
      <sec id="sec-1-5">
        <title>User</title>
        <p>OWL Data</p>
      </sec>
      <sec id="sec-1-6">
        <title>ONTOMS2</title>
        <p>Query Query
Result</p>
      </sec>
      <sec id="sec-1-7">
        <title>Query Processing</title>
        <p>IInMnfseotradenunclceee IRnecarseomneinntgal SMPAodRuQleLModuOleMWoLd-uQleL</p>
        <sec id="sec-1-7-1">
          <title>InsNtaenwces IPnrsotpaenrcteiess,</title>
        </sec>
      </sec>
      <sec id="sec-1-8">
        <title>RDBMS</title>
        <p>
          QSuQerLy iRQneuTseuurlyptles
generates relationship information among classes and properties when parsing
the given OWL data. Once OWL data is stored, Instance Inference Module
performs instance reasoning with properties which are collected along with their
values from RDBMS, and stores newly generated instances into RDBMS. The
details of instance reasoning for initial OWL data can be found at Section 6
in [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. The Query Processing Module processes OWL-QL query and SPARQL
query. When a SPARQL update query is given, SPARQL Module processes it
through Instance Inference Module for the incremental reasoning.
2
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Ontology Data Update</title>
      <p>
        SPARQL Update There are several query languages for OWL such as
OWLQL and SQWRL . However, all of them support a read-only(select) query only.
The previous version [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] of ONTOMS2 uses a OWL-QL to retrieve instances.
We enhanced ONTOMS to have an ability to update ontology data by adding
the SPARQL processor in addition to the OWL-QL processor. This is because
OWL is developed as a vocabulary extension of RDF, SPARQL is a de facto
query language for RDF, and recently W3C published a recommendation [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for
the SPARQL update.
      </p>
      <p>
        According to the SPARQL Update recommendation proposed by W3C, SPARQL
Update provides three operations related to update : INSERT DATA, DELETE
DATA, and DELETE/INSERT. The INSERT DATA operation is to add new
triples into the ontology data while the DELETE DATA operation is to remove
triples from the ontology data. Lastly, the DELETE/INSERT operation is to
remove triples and add new triples into the ontology data with the WHERE clause.
ONTOMS2 supports all INSERT DATA, DELETE DATA, and DELETE/INSERT
operations. Due to the space limitation, we omitted the detailed syntax. Please
refer Chapter 3 SPARQL 1.1 Update Language in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] for the detailed syntax.
Incremental Reasoning Only some of existing ontology data management
systems support the update for ontology data. Even though there are some
existing systems with the update feature, the instance reasoning for the updates
has to be conducted from the scratch due to the constraints of the system while
ONTOMS supports an incremental reasoning. Thus, the instance reasoning of
the existing systems for each update is performed by processing all the stored
triples. Eventually, it degrades the update processing performance.
      </p>
      <p>
        OWL defines several types of properties. However, only inverseOf,
symmetric and transitive properties may generate new facts(triples). The incremental
reasoning for the inverseOf and symmetric properties can be done in a straight
forward way. For the insertion and deletion of transitive property triples, we
adapt the SQL-based transitive closure maintenance algorithm presented in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
to effectively maintain the transitive properties. We cut down the step for finding
truly new tuples among the generated tuples by unifying the transitive closure
table and multi-value class property table. This reduces costly table join
operations and it also reduces a storage size.
90000
80000
70000
)60000
(s50000
e
im40000
T30000
20000
10000
0
      </p>
      <p>JENA insertion
ONTOMS insertion
JENA deletion
ONTOMS deletion
3
80000
70000
s60000
e
l
ip50000
r
td40000
e
rer30000
f
In20000
10000
0</p>
    </sec>
    <sec id="sec-3">
      <title>Experiments</title>
      <p>Inferred triples
0 2000 4000 6000 8000</p>
      <p>Insert triples
(a) The number of inferred triples
10000
0 2000 4000 6000 8000</p>
      <p>Insert / delete triples
(b) The update processing time
10000</p>
      <p>The most important enhanced point of ONTOMS2 over ONTOMS is that
ONTOMS2 supports an efficient ontology data update with an incremental
reasoning. Therefore, we focused on the incremental reasoning performance when
ontology data is updated. We compare ONTOMS2 with JENA which is one of the
most popular ontology data management systems. JENA provides the SPARQL
update feature through ARQ. However, ARQ only supports the instance
reasoning with non-update(SELECT) queries1. Therefore, we implemented a simple
SPARQL update interface for JANA which uses OntModel. Among reasoners in
JENA, OW L M EM M ICRO RU LE IN F is used.</p>
      <p>
        Note that, in JENA, the instance reasoning should be re-run from the scratch
for each update query and the update processing time for JENA does not contain
the time for storing the results of the instance reasoning into the relational tables
while ONTOMS2 does the incremental reasoning and the update processing time
for ONTOMS2 contains the storing time. Our experiments were performed on
2.27GHz Intel Xeon with 12GB of main memory. We implemented ONTOMS2
using MS SQL Server 2008 and Java. For JENA [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], Jena-2.6.4 version is used.
      </p>
      <p>Figure 3(a) shows the number of triples to be inferred for various sizes of
insertion triples(facts). All fact triples have same transitive property. New triples
to be inserted as a facts are generated such that their subjects and objects are
randomly selected from subjects and objects of previously inserted fact triples.
1 ARQ supports a SPARQL update query on basic Model only, not on OntModel or</p>
      <p>InfModel. However, JENA uses OntModel or InfModel for the reasoning.
In JENA, the instance reasoning for each insertion is conducted from the scratch
while the instance reasoning of ONTOMS2 is incrementally conducted. As a
result, ONTOMS2 outperforms JENA for the insertion and deletion due to the
incremental update strategy. The results are as shown in Figure 3(b).
4</p>
      <p>During the demonstration, we will illustrate how our system handles SPARQL
queries over ontology data such as retrieving instances of classes or
properties, inserting/removing instances which satisfy a specific condition with an
incremental reasoning. Our system also contains a GUI-based wizard to help
a user to create a SPARQL query easily. The screen shots of ONTOMS2 are
depicted in Figure 4 and the recorded video can be found at our demo page
(http://islab.kaist.ac.kr/ONTOMS2/).</p>
      <p>Acknowledgments This work was supported by the National Research
Foundation of Korea grant funded by the Korean government (MSIP) (No.
NRF2009-0081365).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Jena</surname>
          </string-name>
          <article-title>- a semantic web framework for java</article-title>
          . http://jena.sourceforge.net/index.html/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <source>2. Sparql 1.1 update, w3c recommendation</source>
          <year>2013</year>
          . http://www.w3.org/TR/sparql11- update/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>G.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Libkin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Wong</surname>
          </string-name>
          .
          <article-title>Maintaining the transitive closure of graphs in sql</article-title>
          .
          <source>Int. J. Information Technology</source>
          ,
          <volume>5</volume>
          :
          <fpage>46</fpage>
          -
          <lpage>78</lpage>
          ,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>S.</given-names>
            <surname>Kang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Shim</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. goo</given-names>
            <surname>Lee</surname>
          </string-name>
          .
          <article-title>Tridex: A lightweight triple index for relational database-based semantic web data management</article-title>
          .
          <source>Expert Syst. Appl.</source>
          ,
          <volume>40</volume>
          (
          <issue>9</issue>
          ):
          <fpage>3421</fpage>
          -
          <lpage>3431</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>Z.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Heflin.</surname>
          </string-name>
          <article-title>Dldb2: A scalable multi-perspective semantic web repository</article-title>
          .
          <source>In Web Intelligence and Intelligent Agent Technology</source>
          ,
          <year>2008</year>
          . WI-IAT'
          <fpage>08</fpage>
          . IEEE/WIC/ACM International Conference on, volume
          <volume>1</volume>
          , pages
          <fpage>489</fpage>
          -
          <lpage>495</lpage>
          . IEEE,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>M.-J. Park</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>C.-H.</given-names>
          </string-name>
          <string-name>
            <surname>Lee</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          <string-name>
            <surname>Serres</surname>
            , and
            <given-names>C.-W.</given-names>
          </string-name>
          <string-name>
            <surname>Chung</surname>
          </string-name>
          .
          <article-title>An efficient and scalable management of ontology</article-title>
          .
          <source>In Proceeding of DASFAA '07</source>
          , pages
          <fpage>975</fpage>
          -
          <lpage>980</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>