<!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>Ultrawrap Mapper: A Semi-Automatic Relational Database to RDF (RDB2RDF) Mapping Tool</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Juan F. Sequeda</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel P. Miranker</string-name>
          <email>mirankerg@capsenta.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Capsenta Inc</institution>
        </aff>
      </contrib-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In this demo, we will show the operation of Ultrawrap Mapper, a semi-automatic
software for creating mappings from Relational Databases to RDF in the R2RML language.</p>
      <p>
        In 2012, the W3C ratified two related standards for mapping relational database
contents to RDF: the Direct Mapping [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and R2RML [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. The Direct Mapping is a
default mapping of relational data to RDF. The organization and content of the resulting
RDF triples is based on the schema and content of the database. Programs that
implement the Direct Mapping do not need user input. R2RML is a language where users can
express the mapping of relational data elements to RDF. A user must detail the mapping
of relational data and metadata, (table and column names) to each field of a triple.
Components of the language include, TripleMap, SubjectMap and PredicateObjectMap, etc.
Depending on the size of the database, the R2RML mapping files can be very large.
      </p>
      <p>
        Recent R2RML editors have been developed which provide users a GUI to create
the mappings [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3,4,5</xref>
        ]. These tools are a first step to eliminating the burden of learning
the R2RML syntax. However, we observe that these tools are still R2RML and RDF
driven: the user needs to understand how R2RML conceptually works.
      </p>
      <p>Ultrawrap Mapper is distinguished Ultrawrap(Mapper(
iflnows,evinetreagl rawteasyss;emIti-aeumtobmodaiteisc oantwoloorgky- ODTnoatmorglaoeigtn(y-( SemiBAutoma%c(Mapping(
mapping and hides the complexity of
tRh2eRsMouLr.ceGdivaetanbaaseJ,DaBnCRc2oRnMneLctifiolne tios RRe2fiRnMeLd(( MRD2aiRrpepMcetLd((( OPSnuottuoarl%ocvege(y((
(internally) automatically created repre- Direct(Mapping(as(
sentative of an enhanced Direct Map- Ontology(
cpeinssg., TbhoeoDtsitrreacptpMinagpptihneg imsaepnhpianngcedprboy- SPARRQDFL(( Rela%Uolntraalw(Draatpa(base(
making it consistent with an ontological
model of the source database, the Puta- Fig. 1. Ultrawrap Mapper Architecture
tive Ontology.</p>
      <p>
        The Ultrawrap Compiler product is embedded to produce the Putative Ontology.
The Ultrawrap Compiler reads the metadata of the database and, using rule-based
inference, identifies additional semantics beyond the standard direct mapping. Users then
upload a target ontology, (the domain ontology). The third and final step is to create
the mappings. Ultrawrap Mapper incorporates automatic ontology mapping methods to
align the putative and target ontologies [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. In an interactive panel, a user reviews the
suggested mappings and may mark it correct, or manually select the correct ontological
concept in the target. The internal R2RML statements are updated accordingly.
      </p>
      <p>The output of Ultrawrap Mapper is the mapping between the source relational
database and target ontology represented in R2RML. Once the R2RML mapping has
been created, any R2RML processor may be used, such as Ultrawrap. Figure 1 depicts
the architecture.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Three Step Process</title>
      <p>Step 1: Source Database The developer may choose precisely which tables and
attributes of the relation database are to be exposed in the mapping. The tables and
attributes that have been checked are the ones that will be part of the mapping process.
See Fig 2. Ultrawrap Mapper will read the databases metadata and automatically build
an ontological model of the data source; the source putative ontology.</p>
      <p>The user may improve the source ontology by incorporating data into the ontology.
It is common that data values under an attribute are metadata. For example, in an
EMPLOYEE table, an attribute named JOB will have values that may appear in a Job role
taxonomy. The user can choose which attributes have these characteristics. Ultrawrap
Mapper will make the data values explicit as ontology classes, hence the name Data as
a Class. See Fig 3.</p>
      <p>Complex data transformations and mappings can be introduced using SQL syntax
in the form of view definitions. Ultrawrap Mapper allows users to input SQL queries.
For example a view can represent a new concept of Executive Employees which are
those who have salary greater than $15000. The result of a query can be previewed in
order to verify the result. See Fig 4.
Step 2: Target Ontology Any valid OWL ontology or SKOS taxonomy can be
uploaded to Ultrawrap Mapper from a file or from the web. If a Target Ontology doesn’t
exist, the user can use the OWL representation of the source database as a way to
bootstrap the creation of the Target Ontology.</p>
      <p>
        Step 3: Mapping Ultrawrap Mapper bootstraps the editing process by automatically
generating an R2RML file consistent with the enriched version of the direct mapping.
This enriched version reflects Ultrawrap’s inference process that deduces additional
ontological semantics. For each field of the source model the user chooses the
corresponding field in the target model. i.e. this defines a mapping. The actual action is to
replace the default label with a label from the target ontology. Given that Ultrawrap
forms an ontological model of the source relational database, the source putative
ontology, the mapper is able to make mapping recommendations base on aligning the source
and target ontology by using existing ontology matching techniques [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The user can
choose from a list of suggestions.
      </p>
      <p>Each row needs to be uniquely identified by a URI. The Template URI field provides
a default URI identifier based on the primary key. Users can edit the template URI, if
desired. The Preview Mapping button will return the resulting RDF per the chosen
mapping.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions</title>
      <p>Ultrawrap Mapper is a tool that enables users to create mappings between a relational
database and a target ontology without having the conceptual knowledge of R2RML.
Additionally, it incorporates semi-automatic ontology matching techniques in order to
reduce the burden of creating the mappings. Ultrawrap Mapper is currently being used
commercially for relational database integration.</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>A.</given-names>
            <surname>Bertails</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Prud'hommeaux, and</article-title>
          <string-name>
            <given-names>J.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          .
          <article-title>Direct mapping of relational data to RDF</article-title>
          .
          <source>W3C Recomendation 27 September</source>
          <year>2012</year>
          , http://www.w3.org/TR/rdb-direct-mapping/.
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>S.</given-names>
            <surname>Das</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sundara</surname>
          </string-name>
          , and
          <string-name>
            <given-names>R.</given-names>
            <surname>Cyganiak</surname>
          </string-name>
          .
          <article-title>R2RML: RDB to RDF mapping language</article-title>
          .
          <source>W3C Recomendation 27 September</source>
          <year>2012</year>
          , http://www.w3.org/TR/r2rml/.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>L. E. T.</given-names>
            <surname>Neto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V. M. P.</given-names>
            <surname>Vidal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Casanova</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. M.</given-names>
            <surname>Monteiro</surname>
          </string-name>
          .
          <article-title>R2RML by assertion: A semi-automatic tool for generating customised R2RML mappings</article-title>
          .
          <source>In ESWC Poster</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>C.</given-names>
            <surname>Pinkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Binnig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Haase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Martin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Sengupta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Trame</surname>
          </string-name>
          .
          <article-title>How to best find a partner? an evaluation of editing approaches to construct R2RML mappings</article-title>
          .
          <source>In ESWC</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>K.</given-names>
            <surname>Sengupta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Haase</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Schmidt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Hitzler</surname>
          </string-name>
          .
          <article-title>Editing R2RML mappings made easy</article-title>
          .
          <source>In ISWC Posters &amp; Demonstrations Track</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>A.</given-names>
            <surname>Tian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Miranker</surname>
          </string-name>
          .
          <article-title>QODI: query as context in automatic data integration</article-title>
          .
          <source>In ISWC</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>