<!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>Ontology-based database access with DIG-MASTRO and the OBDA Plugin for Prote´ge´</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Antonella Poggi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mariano Rodriguez-Muro</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Ruzzi</string-name>
        </contrib>
      </contrib-group>
      <abstract>
        <p>In Ontology Based Data Access (OBDA), the aim is to use an ontology to mediate access to data. The main contribution of this work is to demonstrate two key components of an OBDA system, whose combination allows ontology practitioners to finally realize end-to-end OBDA systems. The first component is an OBDA-enabled reasoner, named DIG-MASTRO. The second component is the OBDA Plugin for Prote´ge´, that in conjunction with the ontology editing features of Prote´ge´, functions as an OBDA system designer.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Recent research and industrial efforts in both Data Integration, Semantic Web, or
EScience, witness increasing needs for semantically driven data access, and in particular
for the so called Ontology Based Data Access (OBDA). Abstracting from the specific
context, the aim of OBDA is to use an ontology, i.e. a formal conceptualization of the
application domain, to mediate access to data. The added value of OBDA, w.r.t.
accessing a data source directly, is twofold. On the one hand, the ontology provides a semantic
account of the application data domain. On the other hand, constraints expressed by the
ontology allow to overcome incompleteness that may be present in the actual data.</p>
      <p>
        A lot of work has been invested in the last years to realize OBDA technologies.
Efforts have been put in defining the appropriate language for the semantic layer, defining
the structure and language of the mappings used to link the data and the semantic layer,
studying the complexity of offering a set of useful services such as query answering,
database schema extraction, inconsistency management, etc. Prototype and industrial
level systems have been and are being built within academic and industrial research
labs including those of major database players such as IBM [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. However, as pointed
out in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] in the context of data integration, the gap between theory and practice is still
wide. The systems which have been made available to the eager community of early
adopters do not offer a cohesive structure. They are either based on different
assumptions, rely on different user interaction mechanism or provide limited functionality. As
a result, when brought together, sometimes in very rough ways, their interaction turns
out to be poor.
      </p>
      <p>The main contribution of this work is to present two key components of an OBDA
system, whose combination allows ontology practitioners to finally realize end-to-end
OBDA systems. The first component is an OBDA-enabled reasoner, named DIG-MASTRO
. The second component is the OBDA plugin for the standard ontology editing tool
Prote´ge´ 1, that in conjunction with Prote´ge´, functions as an OBDA system designer.</p>
      <sec id="sec-1-1">
        <title>1 http://protege.stanford.edu/</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>From DIG-compliant to OBDA-enabled reasoner:</title>
    </sec>
    <sec id="sec-3">
      <title>DIG-MASTRO</title>
      <p>
        The DIG interface 2 is a standardized HTTP/XML interface to Description Logics (DL)
reasoners, that was developed by the DL Implementation Group, with the aim to ease
the communication among tools making use of DL reasoners 3. In particular, by
implementing the DIG interface, DIG-compliant reasoners provide standard reasoning
services over DL ontologies, e.g. ontology consistency checking, and query
answering [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>
        Similarly, OBDA-enabled reasoners are systems that implement the OBDA
extension to the DIG interface proposed in [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. By doing so, OBDA-enabled reasoners
provide standard reasoning services over ontologies whose data layer is specified by means
of mappings, i.e. a set of assertions that establish the relationships between the ontology
elements and the data at any suitable, possibly autonomous, source.
      </p>
      <p>
        As an example of OBDA-enabled reasoner, we demonstrate DIG-MASTRO.
MASTRO is the realization of the research done over the DL-LiteA language [
        <xref ref-type="bibr" rid="ref5 ref6">5</xref>
        ]. DL-LiteA
is a fragment of OWL-DL designed to maximize expressivity while keeping
reasoning algorithms tractable. Specifically, on one hand, DL-LiteA is expressive enough to
capture most of the standard UML and ER language constructs. On the other hand,
reasoning in DL-LiteA is LOGSPACE in data complexity, as efficient as query answering
in relational databases. Therefore, instance level reasoning in DL-LiteA is orders of
magnitude lower than reasoning in other DLs.
      </p>
      <p>
        As far as we are aware of, MASTRO is the only DL reasoner that, besides
implementing traditional reasoning services, is specifically built for OBDA operations,
incorporating facilities to specify data sources and mappings, and taking these into account
when reasoning. Notably, the mapping techniques devised for MASTRO also address
the impedance mismatch issue that exists between the values stored in relational data
sources and the objects represented in the ontologies [
        <xref ref-type="bibr" rid="ref5 ref6">5</xref>
        ].
      </p>
      <p>DIG-MASTRO enables MASTRO to interact with any client conforming to the OBDA
extension of DIG. Moreover it extends MASTRO querying facilities by offering a set of
additional services (the ones defined by the DIG Interface) which are reduced to the
answering of suitable Union of Conjunctive Queries (UCQs) that MASTRO can answer.
Given the low computational complexity of MASTRO, we argue that DIG-MASTRO is
an attractive component of an OBDA system, where the amount of data stored in the
sources is large, and efficient reasoning is mandatory.
3</p>
    </sec>
    <sec id="sec-4">
      <title>OBDA Plugin for Prote´ge´</title>
      <p>On the road to OBDA, one of the main issues is the lack of tools for the design of
core components of an OBDA system. With the aim of contributing to this issue, we
developed the OBDA Plugin for Prote´ge´, allowing users to: (i) describe the data sources
of the OBDA system; (ii) describe the mappings connecting the data source and the
entities of the ontology; (iii) send the descriptions of these components to an
OBDAenabled reasoner; and, (iv) issue queries to an OBDA-enabled reasoner and view the
results.</p>
      <sec id="sec-4-1">
        <title>2 http://dl.kr.org/dig/</title>
        <p>3 http://www.cs.man.ac.uk/˜sattler/reasoners.html</p>
        <p>Moreover, with flexibility as an objective, we envision an add-ons architecture for
the OBDA Plugin for Prote´ge´, to enable third parties to incorporate new suitable
features to OBDA systems. Add-ons may either be specific to an OBDA setting, e.g. to
enable the plugin to handle new kinds of mappings, data sources or OBDA queries. Or,
add-ons may provide generic OBDA functionalities, e.g. to facilitate the design process,
data source inspection, query or mapping validation, etc.</p>
        <p>
          In the current implementation, we provide facilities to (i) describe relational DBMS
data sources; (ii) describe mappings of the form ; , where is a conjunctive
query over the ontology, and is an arbitrary SQL query over the data sources [
          <xref ref-type="bibr" rid="ref5 ref6">5</xref>
          ]; (iii)
issue UCQs in a restricted SPARQL syntax to the OBDA-enabled reasoner and view
the results; and, (iv) inspect and manipulate the relational sources.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Demonstration scenario</title>
      <p>In this section we illustrate the scenario that we will use, to demonstrate how the
combination of DIG-MASTRO and the OBDA Plugin for Prote´ge´, together with Prote´ge´,
allows to realize and query an OBDA system. Specifically, we will consider the academic
domain benchmark ontology LUBM4, and show how it can be used, within Prote´ge´, to
access a database from the Sapienza University of Rome. To emphasize the efficiency
of OBDA instance level reasoning and query answering using DIG-MASTRO, we will
exploit a very large database, storing information about courses, exams, students and
administrative staff within 27 different tables, whose size ranges from few to hundreds
of thousands of tuples, with an overall size of 250.000 tuples.</p>
      <p>(a) RDMS-Ontology Mapping Pane
(b) SPARQL UCQs Pane</p>
      <p>We next enumerate the key functionalities of DIG-MASTRO and the OBDA Plugin
for Prote´ge´ that we will demonstrate under the above mentioned scenario.
Ontology definition Since the LUBM ontology is written in the OWL-DL language,
and DIG-MASTRO works with ontologies expressed in DL-LiteA (i.e. a sub-fragment
of OWL-DL), when the OBDA Plugin for Prote´ge´ “tells” DIG-MASTRO about LUBM,
it possibly rewrites non-DL-LiteA axioms into equivalent DL-LiteA axioms, and
discard those axioms that are beyond DL-LiteA , issuing a warning whenever this happens.
Remarkably, only few axioms of LUBM are beyond DL-LiteA .</p>
      <sec id="sec-5-1">
        <title>4 http://swat.cse.lehigh.edu/projects/lubm/</title>
        <p>Data source and mappings specification Using the OBDA Plugin for Prote´ge´, the
user can specify a relational database as a data source, as well as a set of mappings
between the data and the ontology. The syntax of the mappings in the OBDA plugin
is of the form presented in Section 3. The semantics depends on the OBDA-enabled
reasoner, that is DIG-MASTRO in our scenario. Hence, informally, a mapping of the
form ; , states that for each data tuple t satisfying , there exists a set of objects
that are built starting from t by means of suitable (Skolem) functors, and satisfy over
the ontology 5. Figure 1(a) shows a screenshot of the plugin RDMS-Ontology Mapping
Pane, allowing to specify two mappings M : 1 and M : 2.</p>
        <p>
          Query answering Query answering capabilities are provided by the OBDA Plugin for
Prote´ge´ and its interaction with an OBDA-enabled reasoner. At a glance, the user
accesses the plugin SPARQL UCQs pane, shown in Figure 1(b), to issue UCQs to an
OBDA-enabled reasoner. Hence, as before, the semantics of query answering depends
on the OBDA-enabled reasoner, that is DIG-MASTRO [
          <xref ref-type="bibr" rid="ref5 ref6">5</xref>
          ]. Informally, taking into
account the ontology, the data source and the mappings, the reasoner implements a
rewriting technique which translates the input UCQ into a set of queries over the source,
whose union stands for the answer to the original query. Finally, the plugin displays
the results, and allows the user to further manipulate them, e.g. by exporting, or saving
them.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>We presented two contributions in the direction of realizing OBDA systems: (i) an
OBDA-enabled reasoner named DIG-MASTRO, and (ii) a plug-in that enables Prote´ge´
to act as an OBDA system designer. We described a scenario in which we use the OBDA
Plugin for Prote´ge´ to set up and query an OBDA system based on DIG-MASTRO. We
now conclude by enumerating some of the features of both components that will be
additionally demonstrated during the demo session: (i) standard reasoning services, other
than query answering, provided by an OBDA system based on DIG-MASTRO, through
the use of the OBDA Plugin for Prote´ge´; (ii) the workflow of an OBDA system design
using the OBDA Plugin for Prote´ge´; and, (iii) the deployment of simple OBDA web
applications that access an OBDA system based on DIG-MASTRO.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>S.</given-names>
            <surname>Bechhofer</surname>
          </string-name>
          .
          <source>The DIG Description Logic Interface: DIG/1.1. Proceedings of the 2003 Description Logic Workshop (DL</source>
          <year>2003</year>
          ),
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Rodriguez</surname>
          </string-name>
          .
          <article-title>An extension of dig 2.0 for handling bulk data</article-title>
          .
          <source>In Proc. of the 3rd Workshop on OWL: Experiences and Directions (OWLED</source>
          <year>2007</year>
          ), volume
          <volume>258</volume>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Haas</surname>
          </string-name>
          .
          <article-title>Beauty and the beast: The theory and practice of information integration</article-title>
          . In T. Schwentick and D. Suciu, editors,
          <source>ICDT</source>
          , volume
          <volume>4353</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>28</fpage>
          -
          <lpage>43</lpage>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>L.</given-names>
            <surname>Ma</surname>
          </string-name>
          , J. Mei,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Pan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Kulkarni</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fokoue</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ranganathan</surname>
          </string-name>
          .
          <article-title>Semantic web technologies and data management</article-title>
          .
          <source>In Proc. of W3C Workshop</source>
          on RDF Access to Relational Databases,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          .
          <article-title>Linking data to ontologies</article-title>
          .
          <source>J. on Data Semantics</source>
          , X:
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <article-title>5 Refer to [5] for a full specification of mappings in MASTRO.</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>