<!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>KeywDB: A System for Keyword-Driven Ontology-to-RDB Mapping Construction ?</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>D. Zheleznyakov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>E. Kharlamov</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>V. Klungre</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Skjaeveland</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>D. Hovland</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>M. Giese</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>I. Horrocks</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>A. Waaler</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Oslo</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>University of Oxford</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>In ontology-based data access (OBDA) the users access relational databases (RDBs) via ontologies that mediate between the users and the data. Ontologies are connected to data via declarative ontology-to-RDB mappings that relate each ontological term to an SQL query. In this demo we present our system KeywDB that facilitates construction of ontology-to-RDB mappings in an interactive fashion. In KeywDB users provide examples of entities for classes that require mappings and the system returnes a ranked list of such mappings. In doing so KeywDB relies on techniques for keyword query answering over RDBs. During the demo the attendees will try KeywDB with Northwind and NPD FP databases and collections of mappings that we prepare.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Motivation. Ontology-based data access (OBDA) is a prominent approach to information
integration in which an ontology that describes the domain of interest rather than the
data is used to mediate between data consumers and relational data sources (RDBs). In
OBDA data consumers are typically assumed to be domain experts who do not have a
prior knowledge about the way the data is organised at the source [
        <xref ref-type="bibr" rid="ref10 ref7">7, 10</xref>
        ]. Thus, they
access data by expressing their information needs as ontological queries. The ontology is
connected to the data via a set of (ontology-to-RDB) mappings, declarative specification
of the form P (~x) sql(~x) that relate ontological terms P with SQL queries sql over
the underlying data and that are used for automatic translation of ontological queries
into data-level queries which can be executed by the underlying database management
system [
        <xref ref-type="bibr" rid="ref11 ref5 ref6 ref9">5, 6, 9, 11</xref>
        ].
      </p>
      <p>
        Ontologies and mappings are clearly the main OBDA assets and thus acquiring them
is of utter importance for deploying and maintaining any OBDA application. Ontologies
capture domains of interest, they are data independant and thus they can be reused in
different applications with the same domain. On contrary, mappings are hardly reusable
since they depend on particular data sources. Therefore, in order to deploy an OBDA
system over a given set of data sources, one has to develop a set of mappings specific for
these sources. Building mappings manually is, however, a costly process, especially for
large and complex databases (e.g., see [
        <xref ref-type="bibr" rid="ref12 ref8">8, 12</xref>
        ]).
      </p>
      <p>
        In order to address this issue and facilitate mapping construction a number of
approaches has been developed. Most of them focus on mappings of a specific form,
called direct mapping [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and under these approaches the mappings simply mirror the
database schema by associating a table to a class and an attribute to a property. There are
? This research was funded by the EU project Optique (FP7-IP-318338) and the EPSRC grants
      </p>
      <p>
        DBonto, MaSI3, and ED3.
also approaches that allow to construct more complex mappings. For example, in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ],
the system is able to compute all possible queries that involve joins between tables
and equalities between column names and values (under certain restriction). The main
problem of this kind of approaches is that the number of the returned mappings is huge
and manually filtering in order to select the right mappings is an expensive procedure. So
the existing approaches either compute a few simple mappings that are insufficient in
many applications or too many complex mappings most of which are irrelevant for the
application at the hand. Therefore, there is a need for techniques to facilitate mapping
creation that are precise in the sense that they compute the mappings required in a
concrete application.
      </p>
      <p>
        Our Contribution. We propose a novel, semi-automatic approach for mapping
construction that (i) allows for creation of mappings expressive enough to satisfy the users’
information needs (that is more expressive that in the case of direct mappings) and (ii)
does not overwhelm users with candidate mappings. We implemented our approach in the
KeywDB system and will now explain the approach on the following scenario. Assume
that the user during (ontological) query formulation process [
        <xref ref-type="bibr" rid="ref1 ref15 ref2">1, 2, 15</xref>
        ], notices that the
ontology misses a class they would like to exploit in the query. So the user would like to
create a class and map it to the data. Typically, such a task is performed by (end-)users
in cooperation with IT-experts and often consumes a significant amount of time [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
KeywDB will facilitate the communication between user and IT-experts in the three
following steps:
(i) Since the user is a domain expert, they know what objects the class should contain.
      </p>
      <p>Thus, KeywDB will ask the user to provide a description of several objects from
the class, where a description is a set of keywords.
(ii) KeywDB will turn the input descriptions into a ranked list of queries and return the
user top-k candidate queries, where k is fixed in advance.
(iii) The IT-expert will give a feedback on the list by choosing those queries from the
list that they think are correct.</p>
      <p>In order to support this scenario we developed a formal semantics of transformation of
descriptions into a ranked list of candidate queries, and introduced a query ranking model
tailored towards our framework.</p>
      <p>
        Demonstration Scenarios. We prepared two demonstration scenarios, which are based
on the Northwind1 and NPD FP [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] databases. A demo attendee will be able to create
mappings for classes in each of the scenarios.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2 KeywDB System</title>
      <p>
        Setting. Consider a scenario where a user is looking for a mapping for a class C to a
relational database D. We assume that the user is a domain specialists and they know what
kind of objects should be in C. Thus, they can describe several examples of such objects
o1; : : : ; on, each with a set Ki of keywords fk1i; : : : ; knii g. To describe our approach we
first need to define the following notions. Let S be a schema of D. A schema graph
Gs = (VS ; ES ) is a graph where VS is set of relations of S and (Ri; Rj ) is in ES if
and only if there is a primary to foreign key relationship between Ri and Rj . A data
graph [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]2 GD of the database D is a graph where VD is a set of all tuples occurring in
D and (ti; tj ) is in ED if and only if ti 2 Ri, tj 2 Rj and (Ri; Rj ) 2 ES .
1 https://northwinddatabase.codeplex.com/
2 Note that in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] a data graph is called a joining network of tuples.
Our Approach in a Nutshell. Having a set Ki of keywords describing an object oi, we
extract a ranked list of candidate objects from GD, where each candidate object is a
connected subgraph of GD such that (i) every keyword from Ki is contained in at least
one tuple of this subgraph3, and (ii) it is minimal, that is, we cannot remove any tuple
from it and still be connected and satisfying Condition (i). Then, each of the candidate
objects o0i is turned into a SQL query qi0 such that the answer qi0(D) over D contains o0i,
thus a ranked list of candidate queries is obtained. Note that (i) the rank of a candidate
query qi0 is a function of the rank of the corresponding candidate object o0i, and (ii) a
candidate query may correspond to several candidate objects, in which case the rank of
each of these objects influences on the rank of the query. Performing the same procedure
for each Ki, we obtain a set of lists L1; : : : ; Ln of candidate queries. We unify them into
a final list L, where the rank of each candidate query depends on (i) its rank in a list Li it
appears in and (ii) a number of such lists.
      </p>
      <p>Ranking Model. In order to rank objects and then queries we rely on their several
characteristics: on the size, diameter, and distribution of keywords over them.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Demonstration Scenario</title>
      <p>
        We prepared two databases on which our system can be tested. The first database,
Northwind, contains the sales data for a fictitious company called Northwind Traders,
which imports and exports speciality foods from around the world. The second one
is Norwegian Petroleum Directorates FactPages (NPD FP) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ], a Norwegian public
information repository about the oil and gas sector.
      </p>
      <p>During the demo KeywDB will be available in two scenarios.
(S1) Supervised: We prepared 20 goal mappings for 20 classes for each database. For
each class, the system will automatically generate keyword descriptions of one, two
3 A tuple contains a keyword if the latter one appears in an attribute of the former one.
or three different objects that the class is supposed to contain. The attendee will
be demonstrated whether the top-k mapping returned by the system contain the
corresponding goal mapping, where k = 1, 3 and 5.
(S2) Unsupervied: The attendee will be able to explore the schema and create themselves
a class they would like to build a mapping for. Additionally, for each database, 10
classes, not linked to the database, and their intuitive descriptions will be provided.
Then, the user will be able to explore the data and compose descriptions of objects
for both their and prepared class.</p>
      <p>In Figure 1 there is a screenshot of KewDB where the user has been looking for a
mapping for a class ‘Drink’. The user provided examples of two objects: one is described
with two keywords ‘chai’ and ‘bevarage’ and another with one keyword ‘coffee’. KeywDB
in turn returned several mappings, e.g., the mapping with the following query is returned
first and has the rank equal to 0.670:</p>
      <p>SELECT DISTINCT *
FROM categories AS categories0, products AS products1</p>
      <p>WHERE products1."CatagoryID"=categories0."CategoryID"
4</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Arenas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Marciuska</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Zheleznyakov</surname>
          </string-name>
          .
          <article-title>Faceted Search over RDF-based Knowledge Graphs</article-title>
          .
          <source>In: JWS</source>
          <volume>37</volume>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>M.</given-names>
            <surname>Arenas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          , E. Kharlamov, Sˇ aru¯nas Marciusˇka, and
          <string-name>
            <given-names>D.</given-names>
            <surname>Zheleznyakov</surname>
          </string-name>
          .
          <article-title>Faceted Search over Ontology-Enhanced RDF Data</article-title>
          . In: CIKM.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>V.</given-names>
            <surname>Hristidis</surname>
          </string-name>
          and
          <string-name>
            <given-names>Y.</given-names>
            <surname>Papakonstantinou</surname>
          </string-name>
          . Discover:
          <article-title>Keyword Search in Relational Databases</article-title>
          . In: VLDB.
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.</given-names>
            <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>D.</given-names>
          </string-name>
          <string-name>
            <surname>Zheleznyakov</surname>
            , I. Horrocks,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Pinkel</surname>
            ,
            <given-names>M. G.</given-names>
          </string-name>
          <string-name>
            <surname>Skjaeveland</surname>
            , E. Thorstensen, and
            <given-names>J. Mora.</given-names>
          </string-name>
          <article-title>BootOX: Practical Mapping of RDBs to OWL 2</article-title>
          . In: ISWC.
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brandt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Giese</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Kotidis</surname>
          </string-name>
          , et al.
          <article-title>Enabling Semantic Access to Static and Streaming Distributed Data with Optique: Demo</article-title>
          . In: DEBS.
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Brandt</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          <string-name>
            <surname>Kotidis</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Lamparter</surname>
          </string-name>
          , et al.
          <article-title>Ontology-Based Integration of Streaming and Static Relational Data with Optique</article-title>
          .
          <source>In: SIGMOD</source>
          .
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Jimenez-Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Lamparter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Mehdi</surname>
          </string-name>
          , et al.
          <article-title>Capturing Industrial Information Models with Ontologies and Constraints</article-title>
          . In: ISWC.
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Hovland</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Lanti</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Lie</surname>
          </string-name>
          , et al.
          <article-title>Ontology Based Access to Exploration Data at Statoil</article-title>
          . In: ISWC.
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          <string-name>
            <surname>Pinkel</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Rezk</surname>
            ,
            <given-names>M. G.</given-names>
          </string-name>
          <string-name>
            <surname>Skjaeveland</surname>
          </string-name>
          , et al.
          <article-title>Optique: Ontology-Based Data Access Platform</article-title>
          .
          <source>In: ISWC Posters &amp; Demos</source>
          .
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Zheleznyakov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Bilidas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Giese</surname>
          </string-name>
          , et al.
          <article-title>Optique: Towards OBDA Systems for Industry</article-title>
          . In: ESWC,
          <string-name>
            <given-names>Selected</given-names>
            <surname>Papers</surname>
          </string-name>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kotidis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Theofilos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Neuenstadt</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Nikolaou</surname>
          </string-name>
          , et al.
          <article-title>Towards Analytics Aware Ontology Based Access to Static and Streaming Data</article-title>
          .
          <source>In: ISWC</source>
          .
          <year>2016</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Solomakhina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O</given-names>
            <surname>¨. L</surname>
          </string-name>
          . O¨zc¸ep, D. Zheleznyakov,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hubauer</surname>
          </string-name>
          , et al.
          <article-title>How Semantic Technologies Can Enhance Data Access at Siemens Energy</article-title>
          . In: ISWC.
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. H.</given-names>
            <surname>Tirmizi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Miranker</surname>
          </string-name>
          .
          <article-title>Survey of Directly Mapping SQL Databases to the Semantic Web</article-title>
          .
          <source>In: KER 26.4</source>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Skjaeveland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. H.</given-names>
            <surname>Lian</surname>
          </string-name>
          ,
          <string-name>
            <surname>and I. Horrocks.</surname>
          </string-name>
          <article-title>Publishing the Norwegian Petroleum Directorate's FactPages as Semantic Web Data</article-title>
          .
          <source>In: ISWC</source>
          .
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>A.</given-names>
            <surname>Soylu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zheleznyakov</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Jime´nez-</article-title>
          <string-name>
            <surname>Ruiz</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Giese</surname>
            ,
            <given-names>and I.</given-names>
          </string-name>
          <string-name>
            <surname>Horrocks</surname>
          </string-name>
          .
          <article-title>Ontology-Based Visual Query Formulation: An Industry Experience</article-title>
          . In: ISVC.
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>