<!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>Visualization and Management of Mappings in Ontology-based Data Access (Progress Report)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Domenico Lembo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Riccardo Rosati</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Ruzzi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Domenico Fabio Savo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emanuele Tocci</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Ingegneria Informatica Automatica e Gestionale Sapienza Universita` di Roma</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In this paper we present an in progress prototype for the graphical visualization and management of mappings for Ontology-based data access (OBDA). The tool supports the specification of expressive mappings linking a DL-Lite ontology to a relational source database, and allows the designer to graphically navigate them, according to various possible views, modify their textual representation, and validate their syntactic correctness. Furthermore, it gives preliminary support to the semantic analysis of the mappings, which aims to identify anomalies in the representation, like the specification of mapping queries that cannot return answers without contradicting the ontology. Such functionalities are currently being enhanced in our ongoing development of the tool.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>Ontology-based data access (OBDA) is a data integration paradigm that can be
synthesized as follows: given a system composed by an ontology, a source database schema,
and a mapping between them, compute the answer to a query posed over the ontology,
on the basis of the data stored at the sources [20,17].</p>
      <p>
        Initial research on OBDA has identified “maximal” languages for ontologies and
queries that allow for first-order rewritable query answering, i.e., query answering
that can be reduced to the evaluation of a first-order query (i.e., an SQL query) over
the underlying data, organized in the form of an ontology ABox [
        <xref ref-type="bibr" rid="ref13 ref14 ref4 ref6 ref7">6,7,14,4,23,13,19</xref>
        ].
This is indeed a crucial requirement for OBDA to scale in the size of the data. In this
setting, mappings do not complicate the process, since data have a direct connection
with the ontology TBox (cf. also the W3C direct mapping recommendation1).
However, in real-life information integration applications, data are commonly stored in
autonomous data sources, and thus “full-fledged” OBDA requires mechanisms to link
data to ontologies that go far beyond direct mappings. Such a setting is considered, e.g.,
in [
        <xref ref-type="bibr" rid="ref10 ref12">20,21,10,12</xref>
        ]. It has been shown (see, e.g., [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]) that, to preserve first-order
rewritability of query answering also in the presence of complex mappings, the linkage between
databases and ontologies has to be essentially specified in terms of the so-called GAV
mapping [
        <xref ref-type="bibr" rid="ref11 ref16">11,16</xref>
        ], in which predicates of the ontology are seen as views, i.e., queries,
over the source database. Interestingly, no restrictions are posed to the language used to
specify such queries (e.g., relational data sources can be queried through full SQL).
      </p>
      <sec id="sec-1-1">
        <title>1 http://www.w3.org/TR/rdb-direct-mapping/</title>
        <p>
          Whereas OBDA has been quite well-understood from the computational perspective
and various reasoning tools for it have been realized in the past years, so far very little
has been done to support the design and specification of OBDA systems. Indeed, even
though, on the one hand, off-the-shelf tools for the design and management of the
ontology level are available [
          <xref ref-type="bibr" rid="ref1 ref2">2,1</xref>
          ], on the other hand, the support for the specification and
management of the mappings is very limited in existing solutions. For example, the
Ontop platform [21] extends Protege with a textual mapping editor that provides only basic
functionalities, e.g., some syntax highlighting and SQL query execution over the remote
DBMS reached through a JDBC connection. In MASTRO STUDIO [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], an environment
for OBDA system inspection, documentation, and deployment based on the MASTRO
reasoner [
          <xref ref-type="bibr" rid="ref9">20,9</xref>
          ], mappings can be only visualized in a textual format, and some
functionalities are provided to easily access mappings associated to an ontology predicate, but
no support for mapping editing is given. Recently, some editors for specifying R2RML
mappings between a relational database and an ontology have been developed (see,
e.g., [22,18]). R2RML is the W3C recommendation for mapping relational databases
to RDF datasets2. The aim of the mentioned tools is to somehow mitigate the effort of
encoding mappings in this language, which presents some syntactic technicalities, and
to offer a SPARQL endpoint that exploits the mapping for data retrieval. The tool
described in [22] provides access to the metadata of the relational database, a plain editor
for SQL queries, preview of tuples returned by SQL queries and of triples generated
by the mapping, and some support for defining triples starting from the target list of an
SQL query. The tool described in [18] offers some basic mechanisms to navigate both
the ontology and the relational database and enables for the specification of
correspondence assertions between them in a guided manner. Such assertions are automatically
translated into R2RML mappings. However, the SQL part of each such mapping can
be automatically generated only for simple cases, involving only selections and limited
forms of joins. For more complex mappings, the SQL needs to be specified manually.
We finally point out that even though the above mentioned tools can be used for
specifying mappings for OBDA purposes, they are not specifically designed to this aim.
        </p>
        <p>
          To meet the needs arising in OBDA, we developed a new tool to support mapping
design and specification. The tool, which we present in this paper, has two
distinguishing characteristics: (i) it allows designers to graphically visualize the mappings, and
(ii) it offers functionalities for semantic verification of the mappings. The graphical
visualization we propose turned out to be extremely useful in some real-life projects
we conducted (e.g., [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]), for its ability of naturally showing how data flow from the
sources towards the predicates of the ontology. This is particularly helpful when the
mapping is constituted by a large number of assertions, as in the mentioned projects,
where hundreds of such assertions have been specified.
        </p>
        <p>Semantic verification, instead, aims at identifying anomalous situations in which
the mapping may cause unwanted behavior: for instance, it maps the same data into
disjoint predicates, whatever the data at the sources are.</p>
        <p>Our mapping editor is a stand-alone tool that has been developed within the
MASTRO solution for OBDA. It is thus compliant with the framework adopted by MASTRO,
i.e., it considers the source database to be relational, the ontology to be expressed in a</p>
      </sec>
      <sec id="sec-1-2">
        <title>2 http://www.w3.org/TR/r2rml/</title>
        <p>
          language of the DL-Lite family [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] or in its OWL counterpart, the profile OWL 2 QL3,
and the mapping to be expressed in a variant of the GAV model. More precisely, the
mapping is given in terms of a set of assertions of the form ; , where is an
SQL query over the source database and is a conjunctive query without existential
variables issued over the ontology. Besides the mentioned features, our tool provides
other basic functionalities to support mapping specification. More in detail, its main
capabilities are:
– graphical visualization of mappings according to three different views:
mappingcentered, ontology-centered, and source-centered;
– mapping editing and update in textual modality;
– simple syntactic check of mappings, i.e., the tool verifies whether a mapping
assertion refers only to existing ontology predicates and existing database relational
tables, and that it does not contain syntactic errors, either in the SQL query or in
the overall assertion;
– advanced semantic check, i.e., the tool verifies whether an assertion, despite its
syntactic correctness, presents some anomalies from the logical point of view. In
particular, the tool is able to identify situations in which the right-hand side of the
mapping has an empty evaluation in every interpretation of the OBDA system, that
is, it will always return no answers, independent from the actual data.
        </p>
        <p>We point out that our tool is compliant with the R2RML standard, in the sense that
it can export mappings in that format and is able to take an R2RML specification as
input, provided that it encodes GAV mappings towards a DL-Lite ontology of the form
described above.</p>
        <p>The paper is organized as follows. In Section 2 we provide some preliminaries.
In Section 3 we describe our mapping visualization model. In Section 4 we describe
the support that the tool provides for both syntactic and semantic checks. Finally, in
Section 5 we conclude the paper.
2</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        An OBDA specification is a triple hT ; M; Si, where T is an ontology, S is a source
database schema, and M is the mapping between T and S. More precisely, in our
mapping editing tool, T is a TBox specified in DL-LiteA;id;den [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], the most expressive
member of the DL-Lite family [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], whereas S is a relational schema. M is a set of
mapping assertions specifying how instances of ontology predicates can be obtained from
data stored at the sources. In particular, mapping assertions keep data values separate
from objects, and construct object identifiers as (logic) terms over data values. More
precisely, object identifiers are object terms of the form f (d1; : : : ; dn), where f is a
function symbol of arity n &gt; 0, and d1; : : : ; dn are data values. In detail, a mapping
assertion is an expression of the form (v) ; (w) where
–
      </p>
      <p>(v), called the body of the mapping, is a first-order logic query over S with
distinguished variables v (we will write such query in the SQL syntax), and</p>
      <sec id="sec-2-1">
        <title>3 http://www.w3.org/TR/owl2-profiles/</title>
        <p>–</p>
        <p>(w), called the head, is a conjunctive query whose atoms are of the form
A(f (v0)), or P (f (v0); f 0(v00)), or U (f (v0); v00), where A, P , and U denote
respectively an atomic concept, an atomic role and an attribute, f; f 0 are function
symbols, v0; v00 are sequences of variables occurring in v, and v00 is a variable
occurring in v.</p>
        <sec id="sec-2-1-1">
          <title>Example 1. Consider the following mapping assertions:</title>
          <p>M1 : SELECT S CODE, S NAME</p>
          <p>FROM STUDENTS</p>
          <p>WHERE DOB&lt;=’1990/01/01’
M2 : SELECT S CODE,C CODE</p>
          <p>FROM COURSES
; Student(st(S CODE)); name(st(S CODE); S NAME)
; takesCourse(st(S CODE); co(C CODE))
Such assertions relate a database schema containing the relational tables STUDENTS
and COURSES to an ontology containing the concept Student, the attribute name, and
the role takesCourse. M1 is a mapping assertion that in its body selects, from the table
STUDENTS, the code (variable S CODE) and the name (variable S NAME) of students
whose date of birth (variable DOB) is after December 31, 1989. For each tuple returned
by its body, M1 builds an object term of the form st(S CODE), representing an instance
of the concept Student, and an object/value pair representing an instance of the attribute
name, which is composed by such object term and the value denoted by the variable
S NAME. Similarly, M2 is a mapping assertion relating the relation COURSES to the
role takesCourse. More precisely, from each tuple constituted by the code of a student
(variable S CODE) and the code of a course she takes (variable C CODE), M2 builds
a pair of object terms (st(S CODE),co(C CODE)), where co is a function symbol used
to build object terms representing courses taken by students. Such a pair represents an
instance of the role takesCourse.</p>
          <p>The mapping editor we present in this paper is able to process mapping assertions
written in the R2RML syntax. R2RML is the W3C standard to specify how RDF triples
can be built starting from data stored in relational databases by means of so-called
triple-maps. Actually, our mapping language is a subset of the R2RML standard, as
shown by the following example.</p>
          <p>Example 2. The mapping assertions M1 and M2 given in Example 1 can be represented
in R2RML by means of the triple maps &lt;#M1&gt; and &lt;#M2&gt; described below.
&lt;#M1&gt;
rr:logicalTable &lt;#Table1&gt;
rr:subjectMap [
rr:template "http://uniroma1.it/st/{S_CODE}"
rr:class ex:Student
];
rr:predicateObjectMap [
rr:predicate ex:name
rr:objectMap [rr:column "S_NAME"]
&lt;#M2&gt;
rr:logicalTable [ rr:tableName "COURSES" ]
rr:subjectMap [</p>
          <p>rr:template "http://uniroma1.it/st/{S_CODE}"
];
rr:predicateObjectMap [
rr:predicate ex:takesCourse
rr:objectMap [rr:template "http://uniroma1.it/co/{C_CODE}"]
&lt;#Table1&gt; rr:sqlQuery """</p>
          <p>SELECT S_CODE, S_NAME FROM STUDENTS</p>
          <p>WHERE DOB &lt;= ’1990/01/01’
""".</p>
          <p>We note that function symbols used in our language to build object instances are
replaced in R2RML by template URI definitions.
3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Visualization features</title>
      <p>This section introduces the visualization functionalities provided by our tool. The
visualization is designed according to the following goals:
1. graphically represent a single mapping assertion;
2. graphically represent all the mapping assertions involving a given ontology
predicate;
3. graphically represent all the mapping assertions involving a given relational table
of the source database;
4. provide the user with the capability of editing the textual representation of a
mapping assertion.</p>
      <p>Figure 1 presents the user interface of our tool. The window displayed by the figure
contains: (i) a menu bar in the upper side, with only the item File, through which it is
possible to access the functionality that initializes the MASTRO system, save
modifications on mapping assertions, and export mappings in the R2RML format; (ii) a tabbed
pane in the left side, containing three tabs, namely, Ontology (which shows the list of
all the predicates in the ontology alphabet, grouped into CONCEPTS, ROLES, and
ATTRIBUTES) Mappings (which lists the IDs of all the mapping assertions) and DB
(which lists all the tables in the source database); (iii) a text area in the bottom side,
which is used to edit the head and the body of a mapping assertion, and which can
be shifted to the right side of the window; (iv) a frame in the center, which provides
the actual mapping visualization according to one of the modalities described in the
following; and (v) an outline of the central frame in the left bottom corner.</p>
      <p>As shown in the figure, colors used in the graphical representation of ontology
predicates are as in Prote´ge´. In particular, concepts are denoted by orange ellipses, roles by
blue rounded rectangles, and attributes by green rounded rectangles. The overall
visualization is built by means of the Java open source graphic library JGraphX.</p>
      <p>According to the objectives mentioned at the beginning of this section, our tool
allows users to visualize mapping assertions by selecting one of three different views,
called mapping-centered, ontology-centered, and source-centered, respectively. Each
such view is conceived as a directed, layered graph, which actually traces the layers
of an OBDA system. More in detail, each such graph is organized according to the
following six layers (listed starting from the upper one):
1. the ONTOLOGY layer, in which a node represents a predicate in the alphabet of
the ontology.
2. the OBJECTS layer, in which a node represents an object built from data in the</p>
      <p>DATA layer,
3. the MAP layer, in which a node represents the head of a mapping assertion,
4. the DATA layer, in which a node represents a column of the result set retrieved by
an SQL query in the body of a mapping assertion,
5. the SQL layer, in which a node represents an SQL query in the body of a mapping
assertion,
6. the TABLES layer, in which a node represents a table in the source schema.</p>
      <sec id="sec-3-1">
        <title>All the graph edges are oriented from lower to upper layers. In the following, we describe in detail the graph provided by each view.</title>
        <p>Mapping-centered view. This view aims to reach the first of the above visualization
goals, i.e., representing a single mapping assertion once the user selects its ID in the
MAPPINGS tab (see Figure 1).</p>
        <p>The nodes and connections allowed in this view are listed below:
– Each node in the ONTOLOGY layer can be either a predicate node or an
propertyargument node. A predicate node represents a concept, role, or attribute occurring
in the conjunctive query in the head of the mapping, and is depicted as described
above. Every predicate node representing a role or an attribute S is connected to
a property-argument node for each occurrence of an atom with predicate S in the
head of the mapping assertion. These nodes have the shape of a triangle, have the
same color of the predicate node to which they are connected, and are labeled with
the string ’D/R’, which stands for predicate domain and range. Intuitively, they are
used to distinguish the first and the second argument of an atom with predicate S.
Indeed, each such node has two incoming edges by lower layers: the one ending
in its left-hand side connects the node with the term occurring in its first argument,
whereas the one ending in its right-hand side connects the node with the term
occurring in its second argument.
– Each node in the OBJECTS layer represents a term of the form f (v) occurring
in the right-hand side of the mapping assertion. The label of each such node has
therefore the form f(alias1,...,aliasN), where alias1,...,aliasN
are the aliases in the target list of the SQL query in the left-hand side of the
assertion. The nodes in this layer are linked either to concept nodes or to
propertyargument nodes in the ONTOLOGY layer. Intuitively, in the first case OBJECTS
nodes instantiate a concept, whereas in the second case they instantiate the role or
the attribute linked to the property-argument node. In this respect, we notice that the
connection with property-argument nodes relative to attributes can be only towards
their left-hand side.
– The node in the MAP layer represents the head of a mapping assertion and is labeled
with the ID of the mapping assertion. The node in this layer is linked to each node
in the OBJECTS layer.
– Each node in the DATA layer represents a field of the target list of the SQL query in
the body of the mapping assertion and is labeled with the SQL alias of such field.
Every node in this layer is linked either to the node in the MAP layer or directly to
property-argument nodes in the OBJECTS layer. In this latter case, the
propertyargument nodes are in turn linked to a node representing an attribute.
– The node in the SQL layer is labeled with ’SQL’ and represents the body of the
mapping assertion. The node in this layer is linked to each node in the DATA layer.
– Each node in the TABLES layer represents a table in the data source referenced
by the body of the mapping assertion and is labeled with the name of the table it
represents. All the nodes in this layer are linked to the node in the SQL layer.</p>
        <p>To access the textual specification of the mapping, the user can click on the nodes
in the SQL and MAP layers. In this way she visualizes in the text area in the bottom
side of the window the body and the head of the mapping assertion, respectively. The
text area can then be edited to modify the mapping.</p>
        <p>When a node in the ONTOLOGY layer is double-clicked, the tool switches to the
ontology-centered view relative to the selected node; similarly, by double-clicking a
node in the TABLES layer, the corresponding source-centered view is presented.</p>
        <p>When the node in the MAP layer is double-clicked, all the nodes in the OBJECTS
layer are shown together with the edges linking them to the predicates that they
instantiate. The user can visualize the result of some simple reasoning over the mapping
assertion. For example, when a node X in the OBJECTS layer is clicked, the tool
highlights all the edges in the paths starting from the node(s) in the DATA layer representing
the data used to build the object associated to X and ending in the node(s) representing
the predicates instantiated by the object associated to X . Something similar can be done
with the nodes in the DATA layer.</p>
        <p>Ontology-centered view. This view aims to reach our second visualization goal, i.e.,
representing all the mapping assertions involving a given predicate, once the user selects
it in the ONTOLOGY tab (see Figure 2).</p>
        <p>The nodes and connections allowed in this view are listed below:
– The node in the ONTOLOGY layer represents the predicate on which the view is
centered. If the node represents a role or an attribute it is also linked to a
triangleshaped child node (of the same color) with label ’D/R’.
– Each node in the OBJECTS layer represents an object built by mean of a function
symbol, analogously to nodes in the OBJECTS layer of the mapping centered
view. Also connections towards nodes in the ONTOLOGY layer are done in the
same way, and obviously depend on the kind of predicate the view is centered on.
– The MAP, DATA, SQL, and TABLES layers are as in the mapping-centered view,
but in this case they are representing more than one mapping. Therefore, both the
MAP layer and the SQL layer may contain more than one node, i.e., a node for
each mapping assertion that involves the predicate on which the view is centered.
Also, each node in the TABLES layer can be connected to more than one node
in the SQL layer, if the table it represents occurs in more than one SQL mapping
query of interest for the predicate on which the view is centered.</p>
        <p>As in the mapping-centered view, the user can click on a nods in the SQL or MAP
layer to visualize, and also edit in the text area, the body and the head of a mapping
assertion. Again, the switch to other views is possible by double-clicking nodes in the
MAP and TABLES layers, and some path-based visualization functionalities are
allowed in a way similar to the ontology-centered view.</p>
        <p>Source-centered view. This view aims to reach the third of our visualization goals, i.e.,
representing all the mapping assertions getting data from a table selected by the user in
the DB tab (see Figure 3).</p>
        <p>The nodes and connections allowed in this view are listed below:
– There are no nodes in the ONTOLOGY, OBJECTS and DATA layers.
– Each node in the MAP layer represents the head of a mapping assertion and is
labeled with the ID of the mapping assertion.
– Each node in the SQL layer is labeled with “SQL” and represents the body of a
mapping assertion. The nodes in this layer are linked to the related node in the
MAP layer.
– The node in the TABLES layer represents the table on which the view is centered.</p>
        <p>This node is linked to all the nodes in the SQL layer.</p>
        <p>Visual functionalities similar to those described for the other views are available
also in the mapping-centered view.
4</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Editing and analysis features</title>
      <p>In this section, we present the functionalities currently provided by our tool for mapping
editing support. In particular, we describe some features that help the mapping designer
to fulfill a correct specification by identifying possible flaws in the mappings.</p>
      <p>We consider two categories of problems: syntax errors and semantic anomalies.
Issues of the first kind obviously refers to an incorrect use of the mapping syntax, whereas
problems of the second kind concern situations in which, despite its syntactic
correctness, the mapping specification may be considered somehow logically incoherent. We
point out that we can safely assume here that the other components of the OBDA system
we are managing do not present similar problems, since they are checked through the
use of other tools that are part of our OBDA solution. In particular, we can assume that
the ontology is a legal DL-LiteA;id;den TBox, i.e., it is syntactically well-formed, and
also that it does not present semantic anomalies, i.e., it does not contain unsatisfiable
concepts, roles, or attributes4.</p>
      <p>Among syntax errors, we observe that those that can be more frequently found in
mappings assertion specified without any support are: (i) the presence, in the head
query, of predicate atoms that do not belong to the ontology alphabet, often simply due
to misspellings; (ii) the use, in the head query, of variables that do not occur in the target
list of the SQL body query; (iii) the presence of syntactic errors in the SQL query. In
our tool, we are able to identify most of the syntax errors through a dedicated parser,
which, for example is able to find out and report the user with all errors of kind (i) and
(ii) above. As for SQL syntax verification, we rely on the external parser provided by
the DBMS managing the source data.</p>
      <p>For what concerns semantic problems for the mapping, given an OBDA
specification hT ; M; S i we say that a mapping assertion m 2 M is semantically anomalous
if the answer to either the head query of m or the body query of m is “intensionally”
empty. More formally, let m be the assertion ; , intensional emptiness of the head
query means that the evaluation of the conjunctive query over every model of T is
empty, whereas intensional emptiness of the body query means that the evaluation of
the SQL query over every database instance for S is empty. Having one such query
(or both) empty in the sense described above may be either useless or dangerous in our
specification. Indeed, if is empty, the assertion m is useless, since it will never
contribute to instantiating the ontology predicates. On the other hand, if is empty and
is not, the assertion may lead to a contradiction, since the semantics of the mapping is
imposing that the tuples returned by instantiate the ontology in such a way that is
not empty, while the semantics of the TBox T is imposing the intensional emptiness of
(cf. the examples given below).</p>
      <p>We observe that the identification of semantic anomalies related to the emptiness
of SQL queries requires to solve an undecidable problem. Even though approximate
solutions to this problem could be adopted, in the current implementation of our tool we
have restricted this capability only to the pinpointing of semantic anomalies concerning
the emptiness of the head queries of mappings, i.e., conjunctive queries issued over a
DL-LiteA;id;den TBox. If this is the case, we say the the mapping m is semantically
anomalous with respect to T .</p>
      <p>We observe that semantic anomalies of this kind may occur only in one of the
following cases:
– In the head of m, a concept, role, or attribute S occurs such that T j= S v :S.
– In the head of m, some join variables occur in positions relative to predicate
arguments that are entailed to be disjoint by T . For instance, consider an ontology
that specifies that someone who is a Student cannot be also a Professor. Then the
mapping assertion</p>
      <p>SELECT S CODE FROM T1 ; Student(st(S CODE)); P rof essor(st(S CODE))</p>
      <sec id="sec-4-1">
        <title>4 We recall that a DL-LiteA;id;den TBox is always satisfiable [15]</title>
        <p>is semantically anomalous with respect to T .
– The query in the head of m is entailed to be empty by a denial
assertion in T . For instance, consider an ontology O in which the denial
assertion 8x:(isP arentOf (x; x)) ! ? is used to specify the irreflexivity of the
isP arentOf role. Then the mapping assertion</p>
        <p>SELECT ID FROM T2 ; isP arentOf (p(ID); p(ID))
is semantically anomalous with respect to T .
– The query in the head of m is forced to be empty by functional assertions over roles
or attributes, or by identification assertions specified in T . For instance, consider
an ontology T in which the functionality of the role bornIn is asserted. Then, the
mapping assertion
SELECT ID1,ID2 FROM T3 ; bornIn(p(ID1); w(ID2)); bornIn(p(ID1); k(ID2))
is semantically anomalous with respect to T . Indeed, it is easy to verify that, due to
the use of the two different function symbols w and k in head of the mapping
assertion, for every pair of values (ID1; ID2), the functionality of bornIn is violated.</p>
        <p>Our tool identifies mapping assertions that are semantically anomalous with respect
to the TBox through query containment checks. More specifically, the tool first
properly converts disjunction, denial, functional, and identification assertions in conjunctive
queries (possibly with inequalities), and then, for each of such queries, it verifies if there
is a query in the head of some mapping assertion that is contained in it.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusion</title>
      <p>
        The mapping visualization model described in Section 3 is the result of the iterative
refinement of various proposals that have been tested and developed during some
industrial OBDA projects in which we have been recently involved (see, e.g., [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]). Even
though such projects have been a useful testbed for our tool, we plan to further assess
the effectiveness of our solution through some user evaluation tests, aimed at validating
both the graphical model and the usability of the tool.
      </p>
      <p>Our experiences also allowed us to identify main analysis functionalities for our
tool. The relative implementation is still ongoing. In particular, we are working on the
semantic analysis of SQL queries in the mappings, to discover properties and relations
between them that are useful to prevent situations which may lead to contradictions
(this process relies on the use of a first-order theorem prover).</p>
      <p>Furthermore, we plan to also implement functionalities for the graphical editing of
the mapping, which in the current release can be modified only in textual modality.</p>
      <p>We finally remark that the graphical representation of mappings presented in this
paper is independent of the ontology language used in the OBDA specification: that is,
it can be used with ontologies that go beyond the expressiveness of DL-Lite. On the
other hand, the semantic checks identified by our approach are actually tailored for the
DL-LiteA;id;den language.</p>
      <p>Acknowledgments. This research has been partially supported by the EU under FP7
project Optique (grant n. FP7-318338).
17. Lenzerini, M.: Ontology-based data management. In: Proc. of the 20th Int. Conf. on
Information and Knowledge Management (CIKM 2011). pp. 5–6 (2011)
18. Neto, L.E.T., Vidal, V.M.P., Casanova, M.A., Monteiro, J.M.: R2RML by assertion: A
semiautomatic tool for generating customised R2RML mappings. In: The Semantic Web: ESWC
2013 Satellite Events. pp. 248–252 (2013)
19. Ortiz, M.: Ontology based query answering: The story so far. In: Proc. of the 6th Alberto</p>
      <p>Mendelzon Int. Workshop on Foundations of Data Management (AMW 2013) (2013)
20. Poggi, A., Lembo, D., Calvanese, D., De Giacomo, G., Lenzerini, M., Rosati, R.: Linking
data to ontologies. J. on Data Semantics X, 133–173 (2008)
21. Rodriguez-Muro, M., Kontchakov, R., Zakharyaschev, M.: Ontology-based data access:
Ontop of databases. In: Proc. of the 12th Int. Semantic Web Conf. (ISWC 2013). pp. 558–573
(2013)
22. Sengupta, K., Haase, P., Schmidt, M., Hitzler, P.: Editing R2RML mappings made easy. In:
Proc. of the 12th Int. Semantic Web Conf., Posters &amp; Demos Track (ISWC 2013). pp. 101–
104 (2013)
23. Venetis, T., Stoilos, G., Stamou, G.B.: Query extensions and incremental query rewriting for
OWL 2 QL ontologies. J. on Data Semantics 3(1), 1–23 (2014)</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>1. The Neon Toolkit, http://neon-toolkit.org/</mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>2. Prote´ge´, http://protege.stanford.edu/</mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Antonioli</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Castano`</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Civili</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coletta</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grossi</surname>
            ,
            <given-names>S.</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>Savo</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Virardi</surname>
          </string-name>
          , E.:
          <article-title>Ontology-based data access: the experience at the Italian Department of Treasury</article-title>
          .
          <source>In: Proc. of the Industrial Track of the 25th Int. Conf. on Advanced Information Systems Engineering (CAiSE</source>
          <year>2013</year>
          ).
          <source>CEUR Electronic Workshop Proceedings</source>
          , http://ceur-ws.
          <source>org/</source>
          , vol.
          <volume>1017</volume>
          , pp.
          <fpage>9</fpage>
          -
          <lpage>16</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. Cal`ı,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Gottlob</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Lukasiewicz</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>A general datalog-based framework for tractable query answering over ontologies</article-title>
          .
          <source>Semantic Web J</source>
          .
          <volume>14</volume>
          ,
          <fpage>57</fpage>
          -
          <lpage>83</lpage>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</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>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruzzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data integration through DL-LiteA ontologies</article-title>
          . In: Schewe,
          <string-name>
            <given-names>K.D.</given-names>
            ,
            <surname>Thalheim</surname>
          </string-name>
          ,
          <string-name>
            <surname>B</surname>
          </string-name>
          . (eds.)
          <source>Revised Selected Papers of the 3rd Int. Workshop on Semantics in Data and Knowledge Bases (SDKB 2008). Lecture Notes in Computer Science</source>
          , vol.
          <volume>4925</volume>
          , pp.
          <fpage>26</fpage>
          -
          <lpage>47</lpage>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</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>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Tractable reasoning and efficient query answering in description logics: The DL-Lite family</article-title>
          .
          <source>J. of Automated Reasoning</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</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>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Data complexity of query answering in description logics</article-title>
          .
          <source>Artificial Intelligence</source>
          <volume>195</volume>
          ,
          <fpage>335</fpage>
          -
          <lpage>360</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Civili</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Console</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</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>Lepore</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mancini</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</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>Santarelli</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Savo</surname>
            ,
            <given-names>D.F.</given-names>
          </string-name>
          :
          <string-name>
            <surname>MASTRO</surname>
            <given-names>STUDIO</given-names>
          </string-name>
          :
          <article-title>Managing ontology-based data access applications</article-title>
          .
          <source>Proc. of the VLDB Endowment 6</source>
          ,
          <fpage>1314</fpage>
          -
          <lpage>1317</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9. De Giacomo,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Ruzzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Savo</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.F.</surname>
          </string-name>
          :
          <article-title>Mastro: a reasoner for effective ontology-based data access</article-title>
          .
          <source>In: Proc. of the OWL Reasoner Evaluation Workshop (ORE</source>
          <year>2012</year>
          ).
          <source>CEUR Electronic Workshop Proceedings</source>
          , http: //ceur-ws.
          <source>org/</source>
          , vol.
          <volume>858</volume>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>Di</given-names>
            <surname>Pinto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mancini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Ruzzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Savo</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.F.</surname>
          </string-name>
          :
          <article-title>Optimizing query rewriting in ontology-based data access</article-title>
          .
          <source>In: Proc. of the 16th Int. Conf. on Extending Database Technology (EDBT</source>
          <year>2013</year>
          ). pp.
          <fpage>561</fpage>
          -
          <lpage>572</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Doan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A.Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ives</surname>
            ,
            <given-names>Z.G.</given-names>
          </string-name>
          :
          <article-title>Principles of Data Integration</article-title>
          . Morgan Kaufmann (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <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>Hovland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hubauer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <article-title>Jime´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>
          , Klu¨wer,
          <string-name>
            <given-names>J.W.</given-names>
            ,
            <surname>Pinkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Santarelli</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Zheleznyakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>D.</surname>
          </string-name>
          :
          <article-title>Optique system: towards ontology and mapping management in OBDA solutions</article-title>
          .
          <source>In: Proc. of the 2nd Int. Workshop on Debugging Ontologies and Ontology Mappings</source>
          . pp.
          <fpage>21</fpage>
          -
          <lpage>32</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. Ko¨nig,
          <string-name>
            <surname>M.</surname>
          </string-name>
          , Lecle`re,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mugnier</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.L.</given-names>
            ,
            <surname>Thomazo</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          :
          <article-title>On the exploration of the query rewriting space with existential rules</article-title>
          .
          <source>In: Proc. of the 7th Int. Conf. on Web Reasoning and Rule Systems (RR</source>
          <year>2013</year>
          ). pp.
          <fpage>123</fpage>
          -
          <lpage>137</lpage>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lutz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Toman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolter</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The combined approach to ontology-based data access</article-title>
          .
          <source>In: Proc. of the 22nd Int. Joint Conf. on Artificial Intelligence (IJCAI</source>
          <year>2011</year>
          ). pp.
          <fpage>2656</fpage>
          -
          <lpage>2661</lpage>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <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>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>Inconsistency-tolerant firstorder rewritability of DL-Lite with identification and denial assertions</article-title>
          .
          <source>In: Proc. of the 25th Int. Workshop on Description Logic (DL</source>
          <year>2012</year>
          ).
          <source>CEUR Electronic Workshop Proceedings</source>
          , http://ceur-ws.
          <source>org/</source>
          , vol.
          <volume>846</volume>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data integration: A theoretical perspective</article-title>
          .
          <source>In: Proc. of the 21st ACM SIGACT SIGMOD SIGART Symp. on Principles of Database Systems (PODS</source>
          <year>2002</year>
          ). pp.
          <fpage>233</fpage>
          -
          <lpage>246</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>