<!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>Optique System: Towards Ontology and Mapping Management in OBDA Solutions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Peter Haase</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ian Horrocks</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dag Hovland</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Hubauer</string-name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ernesto Jimenez-Ruiz</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Evgeny Kharlamov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Johan Klu¨ wer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christoph Pinkel</string-name>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Riccardo Rosati</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Valerio Santarelli</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ahmet Soylu</string-name>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dmitriy Zheleznyakov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Det Norske Veritas</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Oxford University</institution>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Sapienza University of Rome</institution>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Siemens Corporate Technology</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>University of Oslo</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>fluid Operations AG</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>21</fpage>
      <lpage>32</lpage>
      <abstract>
        <p>The Optique project aims at providing an end-to-end solution for scalable Ontology-Based Data Access to Big Data integration, where end-users will formulate queries based on a familiar conceptualization of the underlying domain, that is, over an ontology. From user queries the Optique platform will automatically generate appropriate queries over the underlying integrated data, optimize and execute them. The key components in the Optique platform are the ontology and mappings that provide the relationships between the ontology and the underlying data. In this paper we discuss the problem of bootstrapping and maintenance of ontologies and mappings. The important challenge in both tasks is debugging errors in ontologies and mappings. We will present examples of different kinds of error, and give our preliminary view on their debugging.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        A typical problem that end-users face when dealing with Big Data is the data access
problem, which arises due to the three dimensions (the so called “3V”) of Big Data:
volume, since massive amounts of data have been accumulated over the decades,
velocity, since the amounts may be rapidly increasing, and variety, since the data are spread
over a huge variety of formats and sources. In the context of Big Data, accessing the
relevant information is an increasingly difficult problem. The Optique project7 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] aims
at overcoming this problem.
      </p>
      <p>The project is focused around two demanding use cases that provide it with
motivation, guidance, and realistic evaluation settings. The first use case is provided by
Siemens,8 and encompasses several terabytes of temporal data coming from sensors,
with a growth rate of about 30 gigabytes per day. Users need to query this data in
combination with many gigabytes of other relational data that describe events. The second
predefined</p>
      <p>quieries
end-user
information
need
specialised</p>
      <p>
        quieries
use case is provided by Statoil9, and concerns more than one petabyte of geological
data. The data is stored in multiple databases which have different schemata, and the
user has to manually combine information from many databases in order to get the
results for a single query. In general, in the oil and gas industry, IT-experts spend 30–70%
of their time gathering and assessing the quality of data [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. This is clearly very
expensive in terms of both time and money. The Optique project aims at solutions that reduce
the cost of data access dramatically. More precisely, Optique aims at automating the
process of going from an information requirement to the retrieval of the relevant data,
and to reduce the time needed for this process from days to hours, or even to minutes. A
bigger goal of the project is to provide a platform10 with a generic architecture that can
be easily adapted to any domain that requires scalable data access and efficient query
execution for OBDA solutions.
      </p>
      <p>
        The main bottleneck in the use cases discussed above is data access being limited
to a restricted set of predefined queries (cf. Figure 1, top). Thus, if an end-user needs
data that current applications cannot provide, the help of an IT-expert is required to
translate the information need of the end-user to specialized queries and optimize them
for efficient execution (cf. Figure 1, bottom). This process can take several days, and
given the fact that in data-intensive industries engineers spend up to 80% of their time
on data access problems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] this incurs considerable cost.
      </p>
      <p>
        The approach known as “Ontology-Based Data Access” (OBDA) [
        <xref ref-type="bibr" rid="ref18 ref2">18,2</xref>
        ] has the
potential to address the data access problem by automating the translation process from
the information needs of users to data queries (cf. Figure 2, left). The key idea is to
use an ontology that presents to the user a conceptual model of the problem domain.
The user formulates their information requirements (that is, queries) in terms of the
ontology, and then receives the answers in the same intelligible form. These requests
should be executed over the data automatically, without an IT-expert’s intervention. To
this end, a set of mappings is maintained which describes the relationships between the
terms in the ontology and the corresponding data source fields.
      </p>
      <p>
        In complex domains, a complete specification of the ontology and the mappings
will typically be expensive to obtain, suggesting to start from partial specifications that
are incrementally refined and expanded according to users’ needs. Moreover, in some
9 http://www.statoil.com
10 Optique’s solutions are going to be integrated via the Information Workbench platform [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Classical OBDA
      </p>
      <p>end-user
Application
r
e
s
u
lt
s
q
u
e
r
y</p>
    </sec>
    <sec id="sec-2">
      <title>IT-expert</title>
    </sec>
    <sec id="sec-3">
      <title>Ontology</title>
      <p>Mappings
r
e
s
u
lt
s</p>
    </sec>
    <sec id="sec-4">
      <title>Query Answering</title>
      <p>...
heterogeneous
data sources
end-user</p>
    </sec>
    <sec id="sec-5">
      <title>IT-expert</title>
    </sec>
    <sec id="sec-6">
      <title>Application</title>
      <p>(Analytics)</p>
    </sec>
    <sec id="sec-7">
      <title>Query</title>
    </sec>
    <sec id="sec-8">
      <title>Formulation</title>
    </sec>
    <sec id="sec-9">
      <title>Ontology &amp; Mapping</title>
    </sec>
    <sec id="sec-10">
      <title>Management</title>
    </sec>
    <sec id="sec-11">
      <title>Query Transformation</title>
    </sec>
    <sec id="sec-12">
      <title>Distributed Query Optimisation and Processing</title>
    </sec>
    <sec id="sec-13">
      <title>Ontology Mappings</title>
      <p>...
heterogeneous
data sources
q
u
e
r
y
...</p>
      <p>streaming data
applications, changes in the ontology and/or in the schemata of the data sources (and
thus in the mappings) are likely to happen. Thus, some means for bootstrapping and
maintenance of ontology and mappings is required. The classical OBDA approaches
fail to provide support for these tasks.</p>
      <p>In the Optique project we aim at developing a next generation OBDA system (cf.
Figure 2, right); more precisely, the project aims at a cost-effective approach that
includes the development of tools and methodologies for semi-automatic bootstrapping
of the system with a suitable initial ontology and mappings, and for updating them “on
the fly” as needed by a given application. This means that, in our context, ontologies
are dynamic entities that evolve (i) to incorporate new vocabulary required in users’
queries, (ii) to accommodate new data sources, and (iii) to repair defects in ontologies
and mappings. In all the cases, some way is needed to ensure that changes in the
ontology and mappings are made in a coherent way. Due to this requirement, ontology
debugging technologies will be a cornerstone of the system.</p>
      <p>
        Besides ontology and mapping management, the Optique OBDA system will
address a number of additional challenges, including: (i) user-friendly query formulation
interface(s), (ii) processing and analytics over streaming data, (iii) automated query
translation, and (iv) distributed query optimisation and execution in the Cloud. We will
not, however, discuss these issues in this paper and refer the reader to [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] for details.
      </p>
      <p>The remainder of the paper is organized as follows. First, we discuss different
ontology defects that may arise and will need to be debugged (Section 2). Then we discuss
how such defects can occur during the operation of the Optique OBDA system
(Section 3), and how they will be dealt with.</p>
      <sec id="sec-13-1">
        <title>OBDA Systems: Components and Defects</title>
        <sec id="sec-13-1-1">
          <title>Components of OBDA Systems</title>
          <p>An OBDA setting includes three central components: data sources, an ontology, and
mappings (from data sources to the ontology).</p>
          <p>Data sources. A data source consists of a data schema and a number of corresponding
data instances. A typical example for a data source is a relational or semi-structured
database.</p>
          <p>Example 1. Consider the two data sources in Figure 3 (left): Source 1 (or S1 for short)
contains a unary table about production wells with the schema PWell and says that
the well ‘w123’ is a production well. Source 2 (or S2 for short) contains a unary table
about exploration wells with the schema EWell and says that ‘w123’ is an exploration
well.</p>
          <p>
            Ontology. In the context of OBDA, it is usual to consider the ontology to be a
Description Logic (DL) ontology [
            <xref ref-type="bibr" rid="ref20">20</xref>
            ] (or, equivalently, an OWL ontology). A DL ontology
consists of a finite set of axioms that are usually in the form of set inclusions between
two (possibly complexly defined) concepts that represent classes of objects. The
ontology captures general knowledge about the domain of interest, such as generalizations,
relational links, etc.
          </p>
          <p>Example 2. Consider the ontology in Figure 3, left, (in the box). It describes (a part of)
the oil production domain and consists of three concepts: (i) the concept Well
represents the class of wellbores,11 (ii) the concept PWell represents the class of production
wells,12 and (iii) the concept EWell represents the class of exploration wells.13 This
ontology says that production wells cannot be exploration wells (denoted as EWell v
:PWell ), wells are exploration wells (Well v EWell ), and wells are production wells
(Well v PWell ).</p>
          <p>Mappings. Mappings associate data from the data sources with concepts in the
ontology.14 A mapping m has the form
m : q(x)</p>
          <p>
            N (x);
where q is a query over the data sources, and N is an element of the ontological
vocabulary, i.e., a concept or property name. Intuitively, q returns constants (resp., pairs of
constants) from the data sources and propagates them into concept (resp., property) N
(that is, instantiates N with them).
11 A wellbore is any hole drilled for the purpose of exploration or extraction of natural resources,
e.g., oil.
12 Production wells are drilled primarily for producing oil or gas.
13 Exploration wells are drilled purely for exploratory (information gathering) purposes in a new
area.
14 The mappings we are considering here are usually referred to as global-as-view mappings [
            <xref ref-type="bibr" rid="ref13">13</xref>
            ].
EWell v ¬PWell
Well v EWell
Well v PWell
m1
PWell
‘w123’
Source 1
          </p>
          <p>m2
EWell
‘w123’
Source 2</p>
          <p>EWell v ¬PWell
EWell v Well
PWell v Well</p>
          <p>PWell t EWell v Well
PWell
‘w123’
Source 1</p>
          <p>EWell
Source 2
hasCapacity
‘w456’ 1000</p>
          <p>Source 3</p>
          <p>Example 3. Consider Figure 3, left, again. The example includes two mappings, m1
and m2, which are depicted as arrows and defined as:
m1 : PWell(x)</p>
          <p>PWell (x);
m2 : EWell(x)</p>
          <p>EWell (x):
Note that m1 connects S1 with the concept PWell , while m2 connects S2 with EWell :
m1 says that tuples from the table PWell are instances of the concept PWell , and m2
analogously for EWell . I.e., m1 instantiates PWell and m2 instantiates EWell .</p>
          <p>Summing up Examples 1–3, we have the following OBDA setting depicted in
Figure 3, left:</p>
          <p>(fS1; S2g; fEWell v :PWell ; Well v EWell ; Well v PWell g; fm1; m2g):
Another OBDA setting is illustrated in Figure 3, right, and we will comment on it in the
following section.</p>
          <p>
            In what follows, we present a number of defects that can occur in an OBDA
setting and that may require debugging. We observe that several such defects have been
individually pointed out and studied in literature (see, for instance, [
            <xref ref-type="bibr" rid="ref11 ref16 ref17 ref19">17,19,16,11</xref>
            ]). The
Optique Project aims at facing these issues as a whole, and at individuating practical
solutions for addressing them.
2.2
          </p>
        </sec>
        <sec id="sec-13-1-2">
          <title>Logical and Modeling Defects</title>
          <p>We distinguish two types of defects, namely logical and modeling.</p>
          <p>
            The three types of logical defects that are usually discussed in the literature (see,
for example, [
            <xref ref-type="bibr" rid="ref15 ref21 ref22">22,15,21</xref>
            ]) are inconsistency, unsatisfiability, and incoherency.
Traditionally, these notions are applied to ontologies, while in the OBDA scenarios, as we will
illustrate below, they may involve all three components of OBDA settings, that is, data
sources, ontologies, and mappings.
Inconsistency of OBDA settings. An OBDA setting is inconsistent if it contains
contradictory facts, so that there is no model of the ontology that is consistent with the data
and the mappings.
          </p>
          <p>Example 4. The OBDA setting in Figure 3, left, is inconsistent. Indeed, the well ‘w123’
is an instance of both concepts PWell and EWell , and as the ontology asserts that
PWell and EWell are disjoint, this makes the OBDA setting inconsistent.</p>
          <p>The inconsistency in Example 4 could have been caused by a mistake in one of the
data sources: either Source 1 or Source 2 provides wrong information about the well
‘w123’. Perhaps, this well was an exploration one at the beginning, but then became
a production one, but the information in Source 2 has not been brought up to date. A
possible solution would be to update the offending data source. In Figure 3, right, there
is an updated Source 2.</p>
          <p>Unsatisfiability and Incoherency of Ontologies. This two types of defects are tightly
related. A concept in an ontology is unsatisfiable if it cannot be instantiated without
causing inconsistency, and an ontology is incoherent if an unsatisfiable concept occurs
in it.</p>
          <p>Example 5. Continuing with the OBDA setting in Figure 3, left, consider the concept
Well . Observe that if we instantiate the concept with some object, say, ‘w234’, then it
will turn out that ‘w234’ is both exploration and production well, which is inconsistent.
Hence, the concept Well is unsatisfiable and the ontology is incoherent.</p>
          <p>Ontology incoherence is invariably indicative of an ontology design error. In
Example 5, the two axioms stating that wells are exploration wells and wells are productive
wells are in conflict with both our intuition and with the axiom stating that PWell and
EWell are disjoint. Repairing this error will require one or more of these axioms to be
modified or deleted. A possible repair plan is to replace the two counterintuitive axioms
with axioms that make intuitive sense: EWell v Well (exploration wells are wells),
and PWell v Well (productive wells are wells). Figure 3, right, contains a repaired
version of the ontology.</p>
          <p>Empty Mappings in OBDA settings. A mapping of an OBDA setting is empty if it
does not propagate any individuals (resp., pairs of individuals) into any concept (resp.,
property) in the ontology.</p>
          <p>Example 6. Consider the OBDA setting in Figure 3, right. Besides the mappings m1
and m2 from Example 3, it includes the following mapping:
m3 : PWell(x); hasCapacity(x; y)</p>
          <p>PWell (x):
that describes how to populate the concept PWell by joining tuples from tables PWell
and hasCapacity on the well’s ID and projecting out the capacity value. Observe
that the mapping m3 is empty in this setting: when applying the mapping to the data
sources, no object will be propagated into the concept PWell, since there is no x such
that it appears in both table PWell and table hasCapacity.</p>
          <p>Now consider the following mappings:
m4 : q1(x)
m5 : q1(x)
Since the ontology states that PWell v :EWell , it follows that the query q1 has to be
empty, i.e., its evaluation over the data sources must return the empty tuple.</p>
          <p>The defect with the mapping m3 in Example 6 could be caused by (i) a
mappingdesign error, that is, tables PWell and hasCapacity are incorrectly related in m3,
or (ii) incompleteness of data sources. In the former case, m3 should be deleted or
repaired, while in the later case the problem should be solved at the data source level.
Moreover, mappings m4 and m5 show that combining the knowledge about the
mapping and the ontology is a key aspect towards the formal analysis of the OBDA
specification.</p>
          <p>
            Modeling defects are less intuitive than logical ones. A typical modeling defect is
redundancy [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ].
          </p>
          <p>Redundancy. We distinguish three types of redundancy: redundant axioms, concepts,
and mappings. Intuitively, an axiom, concept, or mapping is redundant in an OBDA
setting if the deletion of it from the setting results in a logically equivalent setting.
Example 7. Recall the OBDA system in Figure 3, right. To observe the phenomenon of
redundant axioms, note that the axiom = PWell t EWell v Well (both production
and exploration wells are wells) would be redundant in this setting. Indeed, the pair of
axioms PWell v Well and EWell v Well already state the same thing, i.e., they are
logically equivalent to , and so adding would be vacuous.</p>
          <p>To observe the phenomenon of redundant concepts, assume that the ontology
implies that two concepts, say PWell and ExWell (standing for Exploited Well) are
equivalent, i.e., PWell v ExWell and ExWell v PWell . Then, these two concepts are
synonymous, and we may prefer to remove one of them from the ontology.15 Even if
the ontology does not imply the logical equivalence of PWell and ExWell , but the
mappings for these concepts are the same, then the two concepts may be de facto
synonymous.</p>
          <p>To observe the phenomenon of redundant mappings, consider the mapping m3
(Example 6) and the following mapping m5:
m6 : PWell(x)</p>
          <p>PWell (x):
Note that, in the presence of m6, m3 becomes redundant. Indeed, m3 instantiates the
concept PWell with some objects from the table PWell, while m6 instantiates PWell
with all the objects found in PWell. Thus, m3 can be harmlessly dropped.
15 This is not always the case as synonyms may capture differences in vocabulary usage amongst
different user groups.</p>
          <p>To conclude this section, we would like to note that it is not trivial to understand
whether a modeling defect is actually a defect and hence requires debugging. For
example, as noted above, redundancy can be intentionally introduced in an ontology by
an ontology engineer. Thus, the necessity of debugging such errors depends on the
application, and should be decided on a case-by-case basis.
3</p>
        </sec>
      </sec>
      <sec id="sec-13-2">
        <title>Supporting the Life Cycle of OBDA Systems</title>
        <p>Essential functionalities, required to support the life cycle of an OBDA system, are:
– Detection of defects,
– OBDA debugging,
– Ontology and mapping bootstrapping,
– OBDA evolution,
– OBDA transformation.</p>
        <p>We will now discuss these functionalities in more detail.</p>
        <p>
          An OBDA system should be able to analyze itself w.r.t. both logical and
modeling defects as presented above. Thus, the system should be equipped with an OBDA
analyser: a routine that takes an OBDA setting as input, and returns a set of defects as
output. Based on the result of such analyses, the system should be able to debug itself.
Since, as we discussed in the previous section, there is no universal way to debug an
OBDA system, it is natural for the debugging to be semi-automatic. Thus, the system
should be equipped with an OBDA debugger: a routine that takes an OBDA setting
and its defects as input, and returns a debugged version of the setting, that is free from
the input defects. For examples of tools that perform these tasks, we refer the reader
to [
          <xref ref-type="bibr" rid="ref12 ref16">16,12</xref>
          ].
        </p>
        <p>Clearly, OBDA systems crucially depend on the existence of suitable ontologies
and mappings. Developing them from scratch is likely to be expensive and a practical
OBDA system should support a (semi-) automatic bootstrapping of an initial ontology
and set of mappings. Thus, an OBDA system should be equipped with an OBDA
bootstrapper: a routine that takes a set of database schemata and possibly instances over
these schemata as input, and returns an ontology and mappings connecting it to the
input schemata.</p>
        <p>As was discussed above, OBDA systems are not static objects and are subjects of
frequent changes, that is, evolution. Natural types of evolution are:
– Adding/deleting a new concept together with a mapping. It might be the case
that the ontology lacks some concepts, or some concept should be dropped from
the ontology, e.g., when it is synonymous with another concept. For example,
consider the ontology in Figure 3, right. Assume that a new concept, e.g., OilPr (Oil
Producer), is needed. Then one might add this concept to the ontology and create
a mapping that instantiates the concept.
– Adding/deleting an ontological axiom. An ontology may be missing relations
between concepts. For example, one may want to assert that the concept OilPr is a
subconcept of Well . This can be done by adding the axiom OilPr v Well to the
ontology.
Integrated via
Information Workbench</p>
        <p>Presentation
Layer</p>
        <p>Visualisation</p>
        <p>engine
Query Formulation</p>
        <p>Processing
Components
Ontology Processing</p>
        <p>Ontology reasoners
Ontology modularization</p>
        <p>O
W
L
A
P</p>
        <p>I
Application</p>
        <p>Layer
Components</p>
        <p>Ontology and Mapping</p>
        <p>Management Interface</p>
        <p>Information Workbench frontend API
(E.g., widget development, Java, REST)</p>
        <p>Ontology &amp; Mapping Manager's</p>
        <p>Processing Components
O&amp;M revision,
control, editing</p>
        <p>O&amp;M
evolution and
transformation
engine</p>
        <p>O&amp;M
analyser,
reasoner
O&amp;M matching,
alignment system</p>
        <p>O&amp;M
bootstrapper
Sesame API</p>
        <p>Shared
triple
store
- ontology
- mappings
- configuration
- queries
- answers
- history
- lexical</p>
        <p>information
- etc.</p>
        <p>Application
receiving answers
Component
Front end:
mainly Web-based</p>
        <p>API</p>
        <p>Colouring Convention</p>
        <p>Optique solution</p>
        <p>External solution</p>
        <p>A task related to both bootstrapping and evolution is ontology transformation. For
example, one may want to reuse an existing third party ontology or mappings instead
of (or combined with) bootstrapping them from the data sources. It is possible that
the existing ontology or mappings are in a language that the system at hand does not
support. Thus, one will have to transform them into the supported language. This may
involve changes in the syntax and/or expressivity of the ontology.</p>
        <p>
          Another reason for a transformation is optimization. One may want to improve the
overall performance of an OBDA system by restricting the expressiveness of the
ontology language, e.g., by moving from an OWL 2 ontology O to an OWL 2 QL ontology
O0. This would in general require “approximation” of O using the weaker OWL 2 QL
language [
          <xref ref-type="bibr" rid="ref1 ref14">14,1</xref>
          ].
        </p>
        <p>To connect the five functionalities above, we observe that bootstrapping, evolution,
and transformation functionalities naturally introduce errors in OBDA settings, while
the detection functionality can detect the errors, and the debugging one can repair them.</p>
        <p>In the following section, we present the Optique OBDA system, which will provide
all of the life cycle supporting functionalities described above.
4</p>
      </sec>
      <sec id="sec-13-3">
        <title>Optique OBDA Ontology and Mapping Manager</title>
        <p>
          In Figure 4, we present the Ontology and Mapping Management component (the O&amp;M
manager) of the Optique OBDA system. The O&amp;M manager has a Web interface at
the presentation layer. Functionalities of the O&amp;M manager are intended for IT-experts
rather than end-users. The manager includes five subcomponents:
– The Bootstrapper extracts an initial ontology and mappings from data sources, as
discussed above. In Section 4.1, we will present our initial ideas on how to
implement the bootstrapper.
– The Matching and alignment system performs ontology alignment.
– The Analyser and reasoner checks ontologies for defects.
– The Evolution and transformation engine performs debugging on defects found by
the analyser.
– The Revision, control and editing system supports versioning (which can be based
on, e.g., ContentCVS [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]) and editorial processes for both ontologies and
mappings. It can also act as a hub, coordinating interoperation between the analyser
and evolution engine.
        </p>
        <p>Also, the O&amp;M manager interacts with other components of the Optique OBDA
system. In particular,
– It accesses the Shared triple store, where the ontology and mappings are physically
stored. It can both read the ontology and mappings and update them when needed.
– The analyser, alignment system, and evolution engine have access to reasoning
capabilities, e.g., external ontology reasoners, ontology modularization engines, etc.
– The Query Formulation Component can call the O&amp;M manager whenever a user
decides to add a new concept or axiom. We refer to this as query-driven ontology
construction.
– Finally, the O&amp;M manager is connected to a Visualisation engine.
4.1</p>
        <sec id="sec-13-3-1">
          <title>Directions</title>
          <p>
            In the development of the Optique OBDA system, we plan to exploit existing techniques
from ontology evolution, e.g. [
            <xref ref-type="bibr" rid="ref3 ref6">3,6</xref>
            ], ontology modularisation, e.g. [
            <xref ref-type="bibr" rid="ref23">23</xref>
            ], and develop our
own novel techniques. For example, a possible bootstrapping technique could be the
following three step procedure:
– Step 1: Bootstrap direct16 and R2RML17 mappings from relational schemata of
the data sources. These mappings naturally give ontological vocabularies over the
schemata.
– Step 2: Construct a simple ontology over these vocabularies by extracting
ontological axioms from the integrity constraints of the schemata.
– Step 3: Align the simple ontologies and the vocabularies with a state of the art
ontology using an existing system, e.g. LogMap [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
5
          </p>
        </sec>
      </sec>
      <sec id="sec-13-4">
        <title>Conclusions</title>
        <p>We have presented a selection of possible logical and modeling errors in OBDA
systems and the main challenges to be faced in supporting the life-cycle of OBDA
systems. Current approaches and methods only partially address the issues related to the
construction, maintenance, and transformation of an OBDA specification. Although the
EU project Optique is still at an early stage, we aim to turn our preliminary ideas into
novel solutions in the very near future, and to evaluate their effectiveness in our
industry use-cases. This will provide us with invaluable feedback to inform ongoing research
and development of enhanced ontology and mapping management components.</p>
      </sec>
      <sec id="sec-13-5">
        <title>Acknowledgements</title>
        <p>The research presented in this paper was financed by the Seventh Framework
Program (FP7) of the European Commission under Grant Agreement 318338, the
Optique project. Horrocks, Jime´nez-Ruiz, Kharlamov, and Zheleznyakov were also
partially supported by the EPSRC projects ExODA and Score!
16 http://www.w3.org/TR/2011/WD-rdb-direct-mapping-20110324/
17 http://www.w3.org/TR/r2rml/</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Botoeva</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Expressive approximations in DL-Lite ontologies</article-title>
          .
          <source>Proc. of AIMSA</source>
          2010 pp.
          <fpage>21</fpage>
          -
          <lpage>31</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giacomo</surname>
            ,
            <given-names>G.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruzzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savo</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          :
          <article-title>The MASTRO System for Ontology-Based Data Access</article-title>
          .
          <source>Semantic Web</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <fpage>43</fpage>
          -
          <lpage>53</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nutt</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Evolution of DL-Lite Knowledge Bases</article-title>
          .
          <source>In: International Semantic Web Conference (1)</source>
          . pp.
          <fpage>112</fpage>
          -
          <lpage>128</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Crompton</surname>
          </string-name>
          , J.: Keynote talk at the W3C Workshop on Semantic Web in Oil &amp; Gas Industry: Houston, TX, USA,
          <fpage>9</fpage>
          -10
          <string-name>
            <surname>December</surname>
          </string-name>
          (
          <year>2008</year>
          ), available from http://www.w3.org/
          <year>2008</year>
          /12/ogws-slides/Crompton.pdf
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ioannidis</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kllapi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koubarakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.,</given-names>
          </string-name>
          <article-title>M o¨ller</article-title>
          , R., O¨ zep,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Rodriguez</surname>
          </string-name>
          <string-name>
            <surname>Muro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Schlatte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Schmidt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Waaler</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Scalable End-user Access to Big Data</article-title>
          . In: Rajendra Akerkar:
          <article-title>Big Data Computing</article-title>
          . Florida: Chapman and Hall/CRC. To appear. (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jime</surname>
          </string-name>
          <article-title>´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kharlamov</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Ontology Evolution Under Semantic Constraints</article-title>
          .
          <source>In: KR</source>
          <year>2012</year>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Grimm</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wissmann</surname>
          </string-name>
          , J.:
          <article-title>Elimination of Redundancy in Ontologies</article-title>
          .
          <source>In: ESWC (1)</source>
          . pp.
          <fpage>260</fpage>
          -
          <lpage>274</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Haase</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schwarte</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>The Information Workbench as a Self-Service Platform for Linked Data Applications</article-title>
          . In: COLD (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Jime</surname>
          </string-name>
          <article-title>´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          :
          <article-title>LogMap: Logic-Based and Scalable Ontology Matching</article-title>
          .
          <source>In: International Semantic Web Conference (1)</source>
          . pp.
          <fpage>273</fpage>
          -
          <lpage>288</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Jime</surname>
          </string-name>
          <article-title>´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grau</surname>
            ,
            <given-names>B.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horrocks</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Llavori</surname>
          </string-name>
          , R.B.:
          <article-title>Supporting Concurrent Ontology Development: Framework, Algorithms and Tool</article-title>
          . Data Knowl.
          <source>Eng</source>
          .
          <volume>70</volume>
          (
          <issue>1</issue>
          ),
          <fpage>146</fpage>
          -
          <lpage>164</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Keet</surname>
            ,
            <given-names>C.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alberts</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gerber</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chimamiwa</surname>
          </string-name>
          , G.:
          <article-title>Enhancing web portals with ontologybased data access: the case study of south africas accessibility portal for people with disabilities</article-title>
          .
          <source>In: Proc. of OWLED 2008</source>
          . vol.
          <year>2008</year>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Bu¨hmann, L.:
          <article-title>ORE - A tool for repairing and enriching knowledge bases</article-title>
          .
          <source>In: Proc. of ISWC 2010</source>
          . Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data Integration: A Theoretical Perspective</article-title>
          . In: PODS. pp.
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>Approximating OWL-DL ontologies</article-title>
          . p.
          <volume>1434</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirin</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalyanpur</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Debugging OWL Ontologies</article-title>
          . In: WWW. pp.
          <fpage>633</fpage>
          -
          <lpage>640</lpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <article-title>Poveda-Villal o´n, M., Sua´rez-</article-title>
          <string-name>
            <surname>Figueroa</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          , G o´
          <article-title>mez-Pe´rez, A.: Validating ontologies with OOPS!</article-title>
          <source>In: Proc. of EKAW</source>
          <year>2012</year>
          , pp.
          <fpage>267</fpage>
          -
          <lpage>281</lpage>
          . Springer (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Rector</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drummond</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horridge</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rogers</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Knublauch</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stevens</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wroe</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>OWL pizzas: Practical experience of teaching OWL-DL: Common errors &amp; common patterns</article-title>
          .
          <source>In: Proc. of EKAW 2004</source>
          . pp.
          <fpage>63</fpage>
          -
          <lpage>81</lpage>
          . Springer (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>High Performance Query Answering over DL-Lite Ontologies</article-title>
          . In: KR (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Roussey</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Corcho</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          , Vilches-Bla´zquez,
          <string-name>
            <surname>L.M.:</surname>
          </string-name>
          <article-title>A catalogue of OWL ontology antipatterns</article-title>
          .
          <source>In: Proc. of K-CAP</source>
          <year>2009</year>
          . pp.
          <fpage>205</fpage>
          -
          <lpage>206</lpage>
          . ACM (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Molitor</surname>
          </string-name>
          , R.:
          <article-title>Relationships with other Formalisms</article-title>
          .
          <source>In: Description Logic Handbook</source>
          . pp.
          <fpage>137</fpage>
          -
          <lpage>177</lpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Shchekotykhin</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Friedrich</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fleiss</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodler</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Interactive Ontology Debugging: Two Query Strategies for Efficient Fault Localization</article-title>
          .
          <source>Web Semantics: Science, Services and Agents on the World Wide Web</source>
          <volume>12</volume>
          (
          <issue>0</issue>
          ) (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Stuckenschmidt</surname>
          </string-name>
          , H.:
          <article-title>Debugging OWL Ontologies - A Reality Check</article-title>
          . In: EON (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Vescovo</surname>
            ,
            <given-names>C.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parsia</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sattler</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Logical Relevance in Ontologies</article-title>
          . In: Description Logics (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>