<!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>Building Ontologies by using Re-engineering Patterns and R2RML Mappings</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Freddy Priyatna</string-name>
          <email>fpriyatna@delicias.dia.fi.upm.es</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Boris Villazon-Terrazas</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>OEG-DIA, FI, Universidad Politecnica de Madrid</institution>
          ,
          <country country="ES">Spain</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The ontologization of non-ontological resources has led to the design of several speci c methods, techniques and tools. Among those techniques, we have the Re-engineering Patterns. More speci cally, we have the Patterns for re-engineering NORs (PR-NOR) that de ne a procedure that transforms the NOR terms into ontology representational primitives. Currently, the W3C RDB2RDF Working Group is at the nal stage of formalizing R2RML, a language for describing mappings among RDB elements and RDF. In this paper we claim that it is possible to combine PR-NORs with R2RML mappings for building ontologies from relational database content, i.e., transforming the database content into an ontology schema by using Re-engineering Patterns and R2RML mappings.</p>
      </abstract>
      <kwd-group>
        <kwd>Re-engineering patterns</kwd>
        <kwd>RDB2RDF</kwd>
        <kwd>R2RML</kwd>
        <kwd>Ontologies</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        During the last decade, speci c methods, techniques and tools were proposed
for building ontologies from existing knowledge resources. When we are
transforming non-ontological resources (NORs) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] into ontologies, the transformation
process may follow one of the following approaches: (1) ABox transformation
[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which transforms the resource schema into an ontology schema, and the
resource content, into ontology instances; (2) TBox transformation [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], which
transforms the resource content into an ontology schema; or (3) Population ,
which transforms the resource content into instances of an available ontology.
The ABox transformation leaves the informal semantics of the transformed
resources mostly untouched, whereas, the TBox transformation tries to enforce a
formal semantics into them. Figure. 1 depicts the three types of transformation.
      </p>
      <p>
        According to the survey described in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], most of the available methods and
tools deal with ABox transformation and Population. However there are some
cases when it is useful to follow the TBox transformation [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], for example when
we have a taxonomy stored in a particular NOR. The ontologization of
nonontological resources has led to the design of several speci c methods, techniques
and tools [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Among those techniques, we have the Re-engineering Patterns,
within the context of the ODP1. More speci cally, we have the Patterns for
reengineering NORs (PR-NOR) that de ne a procedure that transforms the NOR
terms into ontology representational primitives. Nevertheless, PR-NORs do not
consider the implementation of the NOR, they just provide a general algorithm
for the transformation.
      </p>
      <p>
        The majority of non-ontological resources underpinning the Web are
implementing in Relational Databases (RDB) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. RDB systems host a vast amount of
structured data in relational tables augmented with integrity constraints [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
When we are transforming RDB content into ontologies, we can follow two
approaches (1) procedural/imperative approach, or (2) declarative approach,
by de ning mappings between RDB and ontology elements. There are several
RDB2RDF mapping languages for describing transformation among RDB
elements and ontologies [
        <xref ref-type="bibr" rid="ref7 ref9">9, 7</xref>
        ]. The RDB2RDF working group2 is at the nal stage
of formalizing R2RML3, a standard language for expressing mappings from
relational databases to RDF datasets.
      </p>
      <p>As we mentioned above, we provided a general algorithm to do the
transformation for each of PR-NORs. However, in order to actually do the
transformation, a user has to implement this algorithm in his choice of programming
language (Java, Scala, etc). On the other hand, we observed that although R2RML
mappings are normally used to generate ontology instances from database
content (Population transformation), we gured out that when the database content
follows speci c patterns such as PR-NORs, then R2RML mappings can be useful
in this situation. In this paper we propose to combine PR-NORs with R2RML
mappings for building ontologies from relational database content, i.e.,
transforming the database content into an ontology schema by using Re-engineering
Patterns and R2RML mappings.</p>
      <p>The rest of the paper is organized as follows. Section 2 provides the
background knowledge, by describing PR-NORs and R2RML. Then, Section 3 presents
how we combine the PR-NORs with R2RML mappings for building the
ontolo1http://ontologydesignpatterns.org
2http://www.w3.org/2001/sw/rdb2rdf/
3http://www.w3.org/TR/r2rml/
gies from relational database content, and includes two examples. Finally, Section
4 presents the conclusions and future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Background Knowledge</title>
      <p>In this section we provide a brief description of the PR-NORs and R2RML.
2.1</p>
      <p>
        Patterns for Re-engineering Non-Ontological Resources
The Patterns for Re-engineering Non-Ontological Resources (PR-NOR) [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
dene a procedure that transforms the NOR terms into ontology elements. The
patterns describe the transformation of classi cation schemes, thesauri, and
lexicons into ontologies. The patterns rely on the data model4 of the NORs. The
patterns de ne, for every data model of the NORs, a process (expressed as an
algorithm) with a well-de ned sequence of activities in order to extract the NORs
terms, and then to map these terms to a conceptual model of an ontology.
Nevertheless, the patterns do not consider the implementation of the NOR, they just
provide a general procedure for the transformation. It is worth noting that these
patterns are included in the ODP Portal5. Table 1 lists the set of PR-NORs that
perform the TBox transformation approach.
In a nutshell, the main elds of a PR-NOR are:
4The data model[
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] is the abstract model that describes how data is represented
and accessed. The data model can be di erent even for the same type of non-ontological
resource.
      </p>
      <p>5http://ontologydesignpatterns.org/wiki/Submissions:ReengineeringODPs
{ Name of the pattern
{ Identi er of the pattern
{ Use case, description in natural language of the re-engineering problem
addressed by the pattern
{ Input, description in natural language of the NOR, and its graphical
representation
{ Output, description in natural language of the ontology created after
applying the pattern, and its graphical representation
{ Process, algorithm for the re-engineering process
2.2</p>
      <p>
        R2RML
R2RML6 is a language for expressing mappings from relational databases to
RDF datasets. These mappings provide the ability to view existing relational
data in the RDF data model, expressed in a target ontology. The input to an
R2RML mapping is a relational database. The output is an RDF dataset that
uses predicates and types from the target ontology. It is worth mentioning that
R2RML mappings are themselves expressed as RDF graphs and written down
in Turtle syntax [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Figure 2 shows the elements of R2RML language
      </p>
      <p>In a nutshell, an R2RML mapping points to logical tables to get data from
the database. A logical table can be (1) a database table, (2) a view, or (3) a
valid SQL query. Each logical table is mapped to RDF using a triples map. A
triples map de nes rules that map each row in the logical table to a set of RDF
triples. Those rules have two main parts (1) a subject map, which generates the
subject of all RDF triples that will be created from a logical table row; and (2)
multiple predicate-object maps that consist of predicate maps and object maps
(or referencing object maps). Triples are produced by combining the subject map
with a predicate map and object map, and applying these three to each logical
table row. It is possible that a triples map can contain graph maps that place
some or all of the triples into named graphs, but by default, all RDF triples are
in the default graph of the output dataset.</p>
      <p>Next, we present a basic example in order to illustrate how to specify R2RML
mappings7. Let us consider the database depicted in Figure 3. This database
contains a table, one primary key, two columns, and one row.
For the that database we have the following R2RML mapping
@prefix r r : &lt;http : / /www. w3 . org / ns / r2rml#&gt; .
@prefix f o a f : &lt;http : / / xmlns . com/ f o a f /0.1/ &gt; .
@prefix r d f : &lt;http : / /www. w3 . org /1999/02/22 rdf syntax ns#&gt; .
@prefix ex : &lt;http : / / example . com/&gt; .
@prefix xsd : &lt;http : / /www. w3 . org /2001/XMLSchema#&gt; .
@base &lt;http : / / example . com/ base/&gt; .
&lt;TriplesMap1&gt; a r r : TriplesMap ;
r r : l o g i c a l T a b l e [ r r : tableName " Student " ] ;
r r : subjectMap [ r r : c l a s s f o a f : Person ;</p>
      <p>r r : template " http : / / example . com/ Student /fIDg/fNameg " ; ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e ex : i d ;</p>
      <p>r r : objectMap [ r r : column "ID " ; ] ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e f o a f : name ;</p>
      <p>r r : objectMap [ r r : column "Name" ] ] .</p>
      <p>Finally, it is worth mentioning that neither the RDB2RDF Use Cases and
Requirements 8 nor the R2RML mappings in the R2RML Test Cases document9
provide or say anything about generating ontologies from database content.</p>
      <p>7Please refer to the R2RML speci cation and its testcases to check a detailed list
of R2RML mapping examples.</p>
      <p>8http://www.w3.org/TR/rdb2rdf-ucr/
9http://www.w3.org/2001/sw/rdb2rdf/test-cases/</p>
      <p>Combining PR-NORs and R2RML mappings
In this section we present how to generate ontologies from database content
by using PR-NORs and R2RML mappings. Our combination of PR-NORs and
R2MRL mappings is two-fold, rst (1) we want to specialize the PR-NORs that
perform a TBox transformation by specifying Relational databases as NOR, (2)
we want to show that it is possible to generate ontology schema triples using
R2RML mappings.</p>
      <p>Using R2RML mappings for transforming PR-NOR patterns brings two
bene ts. The rst bene t is since R2RML mappings are expressed in RDF, we can
store and reuse them. The second is, there are already several R2RML engines10,
therefore, it will be possible to execute the mappings and generate the ontologies
in a short time.</p>
      <p>Using our approach, each PR-NOR has the corresponding R2RML mapping.
The mappings will be executed by an R2RML engine and the result of that
execution will generate an ontology represented as an RDF document.</p>
      <p>All the patterns, mappings, and some other les (sql dump, result in graphical
representation etc) are available here at:
{ Pattern Description : mappingpedia:pattern/SchemaPatterns/fPatternIDg
{ Mapping Algorithm : mappingpedia:pattern/SchemaPatterns/fPatternIDg/algorithm.txt
{ Mapping Example :
mappingpedia:pattern/SchemaPatterns/fPatternIDg/mappingexample.ttl
{ SQL General : mappingpedia:pattern/SchemaPatterns/fPatternIDg/sql-general.sql
{ SQL Example : mappingpedia:pattern/SchemaPatterns/fPatternIDg/sql-example.sql
{ RDF Result Example :
mappingpedia:pattern/SchemaPatterns/fPatternIDg/resultexample.nt
Where mappingpedia represents http://mappingpedia.linkeddata.es/</p>
      <p>Next, we show examples of how to build R2RML mappings that correspond
to the PN-NORs patterns. We use snow ake model as the representation of
classi cation schema pattern and term-based relational model as the representation
of thesaurus pattern.</p>
      <p>
        PR-NOR-CLTX-03 : Pattern for re-engineering a classi cation scheme
following the snow ake data model into an ontology schema A
classication scheme is a rooted tree of terms, in which each term groups entities by
some particular degree of similarity. The semantics of the hierarchical relation
between parent and children terms may vary depending on the context. The
snow ake data model [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] is a normalized structure for hierarchy representations.
In this case, the classi cation scheme items are grouped by levels or entities.
There are as many groups as levels the classi cation scheme has. Snow ake
models are widely used on data warehouses to build hierarchical classi cations on
structures known as dimensions. Some examples of dimension are Time, Product
Category, Geography, Occupations, etc. An example of snow ake data model can
be seen in Figure. 4. In this pattern the example is an occupation hierarchical
10http://www.w3.org/2001/sw/rdb2rdf/implementation-report/
classi cation hold on three di erent tables, one for each level (PROFESSIONI 0,
PROFESSIONI 1, PROFESSIONI 2).
      </p>
      <p>
        The ontology generated will be based on the taxonomy architectural pattern
(AP-TX-01) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Each term in the classi cation scheme is mapped to a class,
and the semantics of the relationship between children and parent terms are
made explicit by using an external resource. Figure. 5 illustrates the generated
ontology from the example. Note that although the transformation copies the
the hierarchy expressed by the database content, the resulting ontologies consists
only the schema (collection of classes and their labels) without their individuals.
Hence, this is a T-Box transformation as we discussed in Section. 1.
      </p>
      <p>Next we present the procedure that generates R2RML mapping
corresponding to the pattern. First, create an rr:TriplesMap instance for every table with
the table name as its rr:logicalTable value. Then create an rr:SubjectMap
instance for the TriplesMap with rdfs:Class as its rr:class and concatenation of
namespace base and primary key of the table as its rr:template value.
Additionaly, the user may provide an rr:PredicateObjectMap instance that speci es
the name of the class. If the table doesn't have a foreign key, it means that
the table is mapped into the root class of the ontology. Otherwise, create an
rr:PredicateObjectMap instance with rr:objectMap that joins the foreign key
with the referenced primary key.</p>
      <p>
        Input: The tables of database tables, the URI of the target class classU RI
Output: R2RML Mapping Document M D
1: MD createMappingDocument()
2: for t 2 tables do
3: T M createTriplesMap()
4: T M:logicalT able:tableName t.tableName
5: T M:subjectMap:class rdfs:Class
6: T M:subjectMap:template CONCAT(classURI, table.PKColumn)
7: T M:predicateObjectMap[0]:predicate rdfs:label
8: T M:predicateObjectMap[0]:objectMap:column t.LabelColumn
9: if t:P K = fg then
10: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:predicate rdfs:subClassOf
11: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:objectMap:constant classURI
12: else
13: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:predicate rdfs:subClassOf
14: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:objectMap:constant classURI
15: end if
16: PUT(MD, T M)
17: end for
18: return MD
Listing 1.1. R2RML mappings corresponding to the example of Snow ake Data
Model
&lt;T r i p l e s M a p P r o f e s s i o n e 0 &gt; a r r : TriplesMap ;
r r : l o g i c a l T a b l e [ r r : tableName " P r o f e s s i o n e 0 " ] ;
r r : subjectMap [ r r : c l a s s r d f s : C l a s s ; r r : termType r r : IRI ;
r r : template
      </p>
      <p>" http : / / example . org / r e s o u r c e / P r o f e s s i o n e f i d 0 g " ; ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e r d f s : l a b e l ;</p>
      <p>r r : objectMap [ r r : column " d e s c 0 " ] ; ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e r d f s : subClassOf ;
r r : objectMap [ r r : c o n s t a n t</p>
      <p>" http : / / example . org / r e s o u r c e / P r o f e s s i o n e " ] ; ] ; .
&lt;T r i p l e s M a p P r o f e s s i o n e 2 &gt; a r r : TriplesMap ;
r r : l o g i c a l T a b l e [ r r : tableName " P r o f e s s i o n e 2 " ] ;
r r : subjectMap [ r r : c l a s s r d f s : C l a s s ; r r : termType r r : IRI ;
r r : template</p>
      <p>" http : / / example . org / r e s o u r c e / P r o f e s s i o n e f i d 2 g " ; ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e r d f s : l a b e l ;</p>
      <p>r r : objectMap [ r r : column " d e s c 2 " ] ; ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e r d f s : subClassOf ;
r r : objectMap [ r r : termType r r : IRI ;
r r : parentTriplesMap &lt;T r i p l e s M a p P r o f e s s i o n e 1 &gt;;
r r : j o i n C o n d i t i o n [</p>
      <p>r r : c h i l d " i d 1 " ; r r : p a r e n t " i d 1 " ; ] ; ] ; ] ; .</p>
      <p>
        PR-NOR-TSTX-02 : Pattern for re-engineering a thesaurus following
the relation-based data model into an ontology schema A thesaurus
represents the knowledge of a domain with a collection of terms and a limited
set of relations between them. The relation-based data model [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] is a normalized
structure, in which relationship types are not de ned as elds in a record, but
they are simply data values in a relationship record, thus new relationship types
can be introduced with ease.
      </p>
      <p>As an example, the AGROVOC Thesaurus is an structured and controlled
vocabulary designed to cover the terminology of all subject elds in agriculture,
forestry, sheries, food and related domains. This thesaurus is available at http://
www.fao.org/agrovoc/. See Figure. 6 for the graphical representation of the thesaurus.</p>
      <p>
        The ontology generated will be based on the lightweight ontology
architectural pattern (AP-LW-01)[
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Each thesaurus term is mapped to a class. For
the disambiguation of the semantics of the BT, NT, RT and UF relations among
thesaurus terms the pattern relies on an external resource. In our case, the
semantics of the BT, NT, RT and UF relations are encoded in rr:sqlQuery of the
R2RML mappings. Figure. 7 illustrates the generated ontology from the
example.
      </p>
      <p>Next, we present the procedure to generate R2RML mappings corresponding
to this pattern. First, create an rr:TriplesMap instance whose rr:logicalTable is
a view of join result of Terminology table, Terms Relationship table, and
Relationship Type table. We let the user decide whether the join type is INNER or
LEFT OUTER. In the view, specify also the translation from Relationship Type
table values into skos properties using SQL CASE. Then, create an instance of
rr:SubjectMap with rdfs:Class as its rr:class. The URI values is speci ed through
rr:template as the concatenation of Term class namespace with the value of the
vided to specify the class name. Then, create another rr:PredicateObjectMap
instance that maps a property to the the relationship between one term with
another speci ed in the SQL CASE value provided in the view.</p>
      <p>
        Input: Table Term T blT erm, Table Relationship T blRel, Table Relationship
type T blRelT ype, Term Class URI classU RI
Output: R2RML Mapping Document M D
1: MD createMappingDocument()
2: T M createTriplesMap()
3: V = T blT erm ./ T blRel ./ T blRelT ype
4: T M:logicalT able:sqlQuery V
5: T M:subjectMap:class rdfs : Class
6: T M:subjectMap:template CONCAT(classURI, TblRel.TermCode1)
7: T M:predicateObjectMap[0]:predicate rdfs : label
8: T M:predicateObjectMap[0]:objectMap:column T blT erm:T erm
9: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:predicateMap:column linkURIObject
10: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]:objectMap:template
      </p>
      <p>
        CONCAT (classURI; T blRel:T ermCode2)
11: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]:predicateMap:column linkURIData
12: T M:predicateObjectMap[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]:objectMap:template
      </p>
      <p>CONCAT (classURI; T blRel:T erm)
13: PUT(MD, T M)
14: return MD
Listing 1.2. R2RML mappings corresponding to the example of Thesaurus
Relation-based Data Model
&lt;TriplesMapTerm&gt; a r r : TriplesMap ;
r r : l o g i c a l T a b l e [ r r : sqlQuery """
SELECT t . TermCode , t . Term , t l . TermCode2
, l t . LinkDesc , l t . LinkTypeID
, CASE l t . LinkAbr</p>
      <p>WHEN 'BT' THEN ' s k o s : broader '
WHEN 'NT' THEN ' s k o s : narrower '</p>
      <p>WHEN 'RT' THEN ' s k o s : r e l a t e d '
END AS linkURIObject
, CASE l t . LinkAbr</p>
      <p>WHEN 'UF' THEN ' s k o s : a l t L a b e l '</p>
      <p>END AS linkURIData
FROM agrovocterm t
LEFT OUTER JOIN t e r m l i n k t l</p>
      <p>ON t . TermCode = t l . TermCode1
LEFT OUTER JOIN l i n k t y p e l t</p>
      <p>ON t l . LinkTypeID = l t . LinkTypeID
" " " ] ;
r r : subjectMap [ r r : c l a s s r d f s : C l a s s ; r r : termType r r : IRI ;
r r : template</p>
      <p>" http : / / example . org / r e s o u r c e /TermfTermCode g " ; ] ;
r r : predicateObjectMap [ r r : p r e d i c a t e r d f s : l a b e l ;</p>
      <p>r r : objectMap [ r r : column "Term " ] ; ] ;
r r : predicateObjectMap [ r r : predicateMap [
r r : column " linkURIObject " ; r r : termType r r : IRI ] ;</p>
      <p>r r : objectMap [ r r : template
" http : / / example . org / r e s o u r c e /TermfTermCode2 g " ] ; ] ;
r r : predicateObjectMap [ r r : predicateMap [
r r : column " linkURIData " ; r r : termType r r : L i t e r a l ] ;</p>
      <p>r r : objectMap [ r r : template
" http : / / example . org / r e s o u r c e /TermfTerm g " ] ; ] ;
.</p>
      <p>
        We have seen two examples of using R2RML mappings in order to generate
ontologies from PR-NORs. There are other approaches for this goal, although
our approach is better for several reasons. For example, using other RDB2RDF
languages instead of R2RML, such as R2O [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] or D2RQ [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] can be employed.
Unlike R2RML, both R2O and D2RQ do not permit the use of arbitrary SQL
queries as the logical table, which can be useful for joining multiple tables which
some complex conditions. Using a standard mapping language also bring
benets on the practical side, as multiple implementations are available. Even D2R
system, which initially implemented as D2RQ engine, will also give support to
R2RML. Other possible approach is not to use R2RML or any RDB2RDF
mapping languages, but using ad-hoc approach like creating a custom program for
each of the pattern. However, this approach can be considered inferior as the the
reusability aspect is lower than reusing mappings, not to mention the time has
to be invested to create the custom program instead of just choosing one of the
available R2RML implementations, such as Morph11.
4
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusions and Future Work</title>
      <p>In this paper we have presented an approach that combines PR-NORs with
R2RML mappings for building ontologies from relational database content, i.e.,
transforming the database content into an ontology schema by using Re-engineering
Patterns and R2RML mappings. Furthermore, we have seen that besides for
generating data-triples (triples that describes instances of an ontology), R2RML
mappings are useful also to generate schema-triples (triples that describe the
schema of an ontology).</p>
      <p>In the future, we will continue identifying other Re-engineering patterns that
may take bene t from R2RML mappings. We will explore the possibility to
combine R2RML mappings with other data-source type, such as XML, CSV or
spreadsheets. Because R2RML mappings are RDF documents, it is possible to
store those mappings in a triple store. Once those mappings have been stored in
the triple store and annotated with meta-data properties, users can pose query
the triple store in order to get all mappings correspond to a speci c pattern. For
example, user can pose a SPARQL query SELECT * FROM f?m a mapping. m
hasPattern ?p. FILTER REGEX(?p, "Snowflake")g, and the answers will be
all mappings corresponding to the snow ake data model pattern. The system is
currently under development and being populated with mappings and patterns
and we plan to report this system as future work.</p>
      <p>Acknowledgments: This work has been supported by the PlanetData
(FP7257641), BabelData (TIN2010-17550), and myBigData (TIN2010-17060) projects.
We would like to kindly thank all W3C RDB2RDF Working Group members.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>J.</given-names>
            <surname>Barrasa</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Gomez-perez. R2o, an extensible and semantically based database-to-ontology mapping language</article-title>
          .
          <source>In in In Proceedings of the 2nd Workshop on Semantic Web and Databases (SWDB2004</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>D.</given-names>
            <surname>Beckett</surname>
          </string-name>
          and
          <string-name>
            <given-names>T.</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          .
          <article-title>Turtle-terse rdf triple language</article-title>
          .
          <source>Syntax</source>
          ,
          <volume>28</volume>
          (January),
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>C.</given-names>
            <surname>Bizer</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Seaborne</surname>
          </string-name>
          .
          <article-title>D2rq-treating non-rdf databases as virtual rdf graphs</article-title>
          .
          <source>In Proceedings of the 3rd International Semantic Web Conference (ISWC2004)</source>
          ,
          <source>page 26</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>C.</given-names>
            <surname>Caracciolo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Heguiabehere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Presutti</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Gangemi</surname>
          </string-name>
          .
          <article-title>Initial network of sheries ontologies</article-title>
          .
          <source>Technical report, NeOn project deliverable D7.2.3</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>C.</given-names>
            <surname>Date</surname>
          </string-name>
          .
          <article-title>An introduction to database systems</article-title>
          , volume
          <volume>2</volume>
          . Addison Wesley Publishing Company,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>B.</given-names>
            <surname>He</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Zhang</surname>
          </string-name>
          , and
          <string-name>
            <surname>K. C.-C.</surname>
          </string-name>
          <article-title>Chang. Accessing the deep web</article-title>
          .
          <source>Commun. ACM</source>
          ,
          <volume>50</volume>
          (
          <issue>5</issue>
          ):
          <volume>94</volume>
          {
          <fpage>101</fpage>
          , May
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>M.</given-names>
            <surname>Hert</surname>
          </string-name>
          , G. Reif, and
          <string-name>
            <given-names>H.</given-names>
            <surname>Gall</surname>
          </string-name>
          .
          <article-title>A comparison of rdb-to-rdf mapping languages</article-title>
          .
          <source>In Proceedings of the 7th International Conference on Semantic Systems</source>
          , pages
          <fpage>25</fpage>
          {
          <fpage>32</fpage>
          . ACM,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.</given-names>
            <surname>Malinowski</surname>
          </string-name>
          and
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Zim nyi. Hierarchies in a multidimensional model: From conceptual modeling to logical representation</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>S.</given-names>
            <surname>Sahoo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Halb</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Hellmann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Idehen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T. Thibodeau</given-names>
            <surname>Jr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Ezzat</surname>
          </string-name>
          .
          <article-title>A survey of current approaches for mapping of relational databases to rdf</article-title>
          .
          <source>W3C RDB2RDF XG Incubator Report, page W3C</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>D.</given-names>
            <surname>Soergel</surname>
          </string-name>
          .
          <article-title>Data models for an integrated thesaurus database</article-title>
          .
          <source>Comatibility and Integration of Order Systems</source>
          ,
          <volume>24</volume>
          (
          <issue>3</issue>
          ):
          <volume>47</volume>
          {
          <fpage>57</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>M. C. Suarez-Figueroa</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Brockmans</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Gangemi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Gomez-Perez</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Lewen</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          <string-name>
            <surname>Presutti</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sabou</surname>
          </string-name>
          .
          <article-title>Neon modelling components</article-title>
          .
          <source>Technical report, NeOn project deliverable D5.1.1</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. B.
          <string-name>
            <surname>Villazon-Terrazas</surname>
          </string-name>
          .
          <article-title>A Method for Reusing and Re-engineering Non-ontological Resources for Building Ontologies</article-title>
          . IOS Press,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>