<!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>RDB2OWL: A Language and Tool for Database to Ontology Mapping</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kārlis Čerāns</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guntars Būmans</string-name>
          <email>guntars.bumans@gmail.com</email>
        </contrib>
      </contrib-group>
      <abstract>
        <p>We demonstrate a high-level RDB2OWL language for database-toontology mapping specification in a compact notation within the ontology class and property annotations, as well as a corresponding mapping implementation tool that translates the RDB2OWL mappings into executable D2RQ mappings thus allowing to create a semantic SPARQL endpoint containing conceptually organized data from a relational database.</p>
      </abstract>
      <kwd-group>
        <kwd>Relational databases</kwd>
        <kwd>OWL ontologies</kwd>
        <kwd>RDF schemas</kwd>
        <kwd>Database to ontology mappings</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Exposing the contents of relational databases (RDB) to semantic web standard RDF
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] and OWL [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] formats enables the integration of the RDB contents into the Linked
Data [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and Semantic web [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] information landscape. An important benefit of
RDBto-RDF/OWL mapping is also the possibility of creating a conceptual model of the
relational database data on the level of RDF Schema/OWL and further on accessing
the RDB contents from the created semantic/conceptual model perspective. Since the
RDB-to-RDF/OWL mapping connects the technical data structure (the existing RDB
schema) with the conceptual one, it would typically have not a one-to-one data
structure reproduction, but would rather involve some data transformation means.
      </p>
      <p>
        The technical task of mapping relational databases to RDF/OWL formats is
nowadays well understood and widely studied, just to mention D2RQ [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], Virtuoso
RDF Graphs [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], Ultrawrap [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], Spyder [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] and ontop [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] among different
RDB-toRDF/OWL mapping languages and tools, together with W3C standard R2RML [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
The languages of most RDB-to-RDF/OWL mapping approaches offer conceptually
clear mapping structure with less attention paid, however, to the concise mapping
writing possibility suitable both for manual mapping information creation as well as
for using the mapping information as semantic-level documentation of the RDB
structure. We review here a slightly simplified variant of the RDB2OWL mapping
1 Partially supported by Latvian State Research programme NexIT project No.1 'Technologies
of ontologies, semantic web and security'
language [
        <xref ref-type="bibr" rid="ref11 ref12 ref13">11,12,13</xref>
        ] that allows creating RDB-to-RDF/OWL mapping specifications
in a compact textual form with mapping descriptions placed in the annotations of the
target ontology entities. The RDB2OWL language allows re-using both the target
ontology and source database structure information within the mapping definition, as
well as introducing user defined functions.
      </p>
      <p>The central novel point of this demonstration is a tool implementing the
RDB2OWL notation2 via converting a RDB2OWL mapping into an executable
D2RQ mapping that can further on be used by the D2RQ platform either to produce
the RDF dump of the source RDB, or to turn it into a SPARQL endpoint. Alternative
RDB2OWL implementations sharing the inner RDB2OWL mapping representation
with the translation into D2RQ are underway.</p>
      <p>
        A particular usage scenario for RDB2OWL mappings is a semantic re-engineering
of existing relational databases (cf. e.g. [
        <xref ref-type="bibr" rid="ref14 ref15">14,15</xref>
        ]) aiming at existing data access from
the data ontology conceptual model perspective; this scenario has motivated most of
the mapping constructions built into RDB2OWL. The tool has been used to re-work
the Latvian medicine registries example [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] into a maintainable mapping solution
(the original mapping solution of [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] involved creating custom SQL scripts just for
the concrete database mapping; this approach allowed to receive the first principal
proof-of-concept results, however, it did not appear practical when the database
schema as well as mapping definition adjustments were to be involved).
      </p>
      <p>Note that a textual RDB2OWL mapping specification can be used also as a
reference for a (legacy) RDB by documenting the structure of the data contained therein.
2</p>
    </sec>
    <sec id="sec-2">
      <title>RDB2OWL Mapping Language</title>
      <p>A RDB2OWL mapping defines the correspondence between a relational database and
an OWL ontology or RDF schema. The mapping information consists of elementary
mappings or maps that are recorded in annotation assertions for ontology entities3
class maps for ontology classes, data property maps and object property maps for
ontology data properties and object properties respectively.</p>
      <p>The general pattern of class map as well as object and data property map definition
follow the common sense structural principle of mapping ontology classes to database
tables, data properties to table columns and object properties to links between tables.</p>
      <p>More precisely, a class map in RDB2OWL is characterized by a table expression,
possibly involving a join of several tables and a filter, and a pattern for instance
resource URI construction from a table expression row. A class map can be attached
to a single ontology/schema class, meaning that it describes instances for this class.</p>
      <p>An object property map contains references to its subject (source) and object
(target) class maps in the property map’s (extended) table expression structure; such
references bring the class map table expressions as components into the property
map’s table expression and provide the patterns of the property triple subject resp.
2 The tool is freely available for download from http://rdb2owl.lumii.lv/
3 We use rdb2owl:DBExpr as the annotation property, where</p>
      <p>rdb2owl:=&lt;http://rdb2owl.lumii.lv/2012/1.0/rdb2owl#&gt;
object URI generation from the property map’s table expression row. An object
property map is always attached to a single object property within the ontology.</p>
      <p>Similarly, a data property map is characterized by a corresponding (extended) table
expression that contains a reference to the property map’s subject (source) class map,
and a value expression describing the computation of the property literal value that
corresponds to the URI, as computed by the subject class map’s URI pattern. A data
property map is always attached to a single data property within the ontology.</p>
      <p>The textual form of RDB2OWL maps relies on textual presentations of table
expressions, instance URI generation patterns and expression values; it is optimized
to take into account the available ontology and RDB schema context information.
Thing
{disjoint}</p>
      <p>DBExpr{rdb2owl}</p>
      <p>AcademicProgram
enrolled 1 {DB: XProgram}
{DB: -&gt;} programName:string{{DB: Name}}
{DB: =&gt;} includes</p>
      <p>Course
takes {&lt;&gt;teaches} {DB: XCourse}
{DB: =&gt;Registration: courseName:string{{DB: Name}}
(DatePaid is not null)-&gt;} courseCode:string{{DB: Code}}
teaches {&lt;&gt;takes} courseCredits:(integer [&gt;0]){{DB:</p>
      <p>{DB: -&gt;} Credits}}
course 1 courseExtInfo:string{{DB:
{DB: -&gt;} buildExtInfo(Code,Credits)}}</p>
      <p>Nationality
{DB: Nationality}
nCode:string{{DB: Code}}
nValue:string{{DB: Value}}</p>
      <p>FacultyLevel
{DB: Teacher_Level {uri=('Level_', Level_Code)}}
acadTitle:string{{DB: Level_Code}}</p>
      <p>Person
personName:string
personID:string{{DB: [[Student]].IDCode},{DB: [[Teacher]].IDCode}}
nationality:Nationality{{DB: [[Student]]-&gt;},{DB: [[Teacher]]-&gt;}}</p>
      <p>Student
{DB: XStudent}
studentName:string{&lt;personName}{{DB: Name}}
studentNumber:string{{DB: StudNumber}}</p>
      <p>Teacher studen1t {DB: -&gt;}
{DB: XTeacher}
teacherName:string{&lt;personName}{{DB: Name}}
salary:(decimal [&gt;0]){{DB: Salary}}
facultyLevel:FacultyLevel{{DB: -&gt;}}</p>
      <p>Professor
=Teacher and facultyLevel value Level_Professor
{DB: [[Teacher]];Level_Code='Professor'}
{disjoint}</p>
      <p>Assistant
=Teacher and facultyLevel value Level_Assistant
{DB: [[Teacher]];Level_Code='Assistant'}</p>
      <p>Registration
{DB: Registration}
datePaid:dateTime{{DB: DatePaid}}</p>
      <p>CompletedRegistration
{DB: [[Registration]] ?Out}
dateCompleted:dateTime{{DB: DateCompleted}}
mark:(integer [&gt;=0, &lt;=10]){{DB: MarkReceived}}</p>
      <p>
        {disjoint}
OptionalCourse
{DB: [[Course]];
Required=0}
MandatoryCourse
{DB: [[Course]];
Required=1}
In what follows, we outline the concrete syntax of RDB2OWL maps. Figure 1
contains an illustrative example of a mini-University OWL ontology in OWLGrEd4
ontology editor notation [
        <xref ref-type="bibr" rid="ref16 ref17">16,17</xref>
        ] (e.g. showing OWL classes as UML classes, OWL
object and data properties as roles on UML associations between property domain and
range classes and attributes of property domain classes)5. The ontology in Figure 1
contains both its structure definition (the classes and properties) and further OWL
constructs (e.g. class expressions and datatype facet restrictions); it is enriched by a
custom {DB: &lt;annotation_value&gt;} notation for the database connection annotations
(cf. [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]), as well. The corresponding RDB schema is outlined in Figure 2.
4 http://owlgred.lumii.lv/
5 The ontology with annotations in a standard OWL RDF/XML format is available at
http://rdb2owl.lumii.lv/demo/UnivExample.owl
A table expression in RDB2OWL in the simplest and most common case is just a
table name, such as XTeacher, or Teacher_Level; a filter expression can be added to a
table expression, using a semicolon, such as ‘XCourse;Required=1’. The table
expressions involving several tables can be formed either in
(a) item list notation with comma-separated, possibly alias-labeled table
expressions, such as ‘XTeacher T, XCourse C; T.Teacher_ID=C.Teacher_ID’, or
(b) navigation list notation, such as ‘XTeacher[Teacher_ID]-&gt;[Teacher_ID]
XCourse’ that can be shortened to ‘XTeacher-&gt;XCourse’ by omitting
navigation columns from table sole FKs to the matching PKs; the symbol =&gt;
denotes PK-to-sole FK navigation, e.g. ‘XProgram=&gt;XCourse’, or
(c) notation combining both (a) and (b), where the whole navigation list can be
regarded as a single item in the item list.
      </p>
      <p>There is a further possibility of local filter introduction in navigation expressions,
such as XStudent=&gt;Registration:(DatePaid is not null)-&gt;XCourse.</p>
      <p>The textual syntax for a class map consists of table expression and URI pattern
specification, such as ‘Teacher_Level {uri=('Level_', Level_Code)}’; the URI pattern
is expected to have a list of constant strings and column expressions whose values are
concatenated to give the local name of the corresponding ontology class instance. The
URI pattern can be omitted, if it is formed just from table expression’s leftmost table
name followed by its primary key column(s) value. A class map’s table expression
can refer also to a defined class map either by its explicit name, or by the name of the
class for which it is the sole class map (e.g. [[Teacher]]).</p>
      <p>The object property map is described as an extended table expression where two
sub-expressions denote its subject (source) and object (target) class maps
respectively. These sub-expressions can be either:
(a) explicitly marked by an alias &lt;s&gt; or &lt;t&gt;, respectively, in some place within
the table expression’s structure,
(b) defined by the mark &lt;s&gt; or &lt;t&gt; as a table expression item itself; in this case
the sole class maps defined explicitly for the property domain or range class
are considered the subject and object class maps for the property map, or
(c) in the case of missing explicit &lt;s&gt; and/or &lt;t&gt; marks these marks are assumed
&lt;s&gt; for the leftmost and &lt;t&gt; for rightmost item within the table expression.</p>
      <p>These conventions allow denoting e.g. the object property map simply by ‘-&gt;’, if
the property corresponds to the sole FK-to-PK mapping between the tables serving as
table expressions in the sole class maps of property domain and range classes.</p>
      <p>The data property map can be described by a column name/column expression that
is to be evaluated in the context of the sole class map attached to the property domain
class. Alternatively, &lt;table_expression&gt;.&lt;value_expression&gt; notation can be used
for data property map description, where the table expression is required to contain
either explicit or implicit reference &lt;s&gt; to the property map’s subject class map.</p>
      <p>The example in Figure 1 contains also an illustration of a function definition using
an ontology level rdb2owl:DBExpr annotation, the defined function buildExtInfo is
then used in a courseExtInfo property value expression for the Course class. The
RDB2OWL functions can be used for repeating mapping fragments, as well as for
increasing mapping readability in the case of complex mapping constructions. The
function body can introduce also additional table expressions into the context of
evaluating its value expression; such table expressions are joined to the table
expression defining the context of evaluation of the function-calling value expression.</p>
      <p>The decoration ?Out in the database annotation for CompletedRegistration class
means relating to this class only those rows of the described class map table
expression that contain a value in at least one property whose domain is this class.</p>
      <p>
        A more detailed RDB2OWL language design description can be found in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] (the
core concepts) and [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] (advanced constructs), as well as [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Mapping Implementation in RDB2OWL Tool</title>
      <p>The RDB2OWL mapping tool6 takes as the input annotated OWL ontology as well as
a connection to the source database (in order to read the source database schema) and
it produces a D2RQ mapping for accessing the source database via D2RQ platform7
SPARQL endpoint or RDF dump tool. The database connection information (JDBC
driver name and connection information) can be defined as an annotation in the data
ontology, or it can be entered directly in the RDB2OWL tool.</p>
      <p>
        The RDB2OWL mapping processing in the tool follows a number of steps
activated either one-by-one or using a batch command “Create mapping from ontology”:
- Load ontology: the ontology with the attached RDB2OWL annotations is
loaded into the internal RDB2OWL mapping model [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]; the parsing of the
annotations into the RDB2OWL model items is performed.
- Load source database schemas into the RDB2OWL model.
- Finalize abstract mapping: the advanced mapping constructs (e.g. named class
maps, shorthand notation, defaults and user defined functions) are resolved
into basic mapping constructions thus transforming the mapping into the
semantic RDB2OWL model [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] outlined here in Figure 3.
- Generate D2RQ Mapping from the created semantic RDB2OWL model.
      </p>
      <p>
        Although the navigation item and link construction can be translated into more
basic reference item notation for table expressions corresponding to Raw RDB2OWL
metamodel [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], both notations are retained in the RDB2OWL semantic model and
the D2RQ mapping generation is performed directly from the notation involving the
navigation items (corresponding to RDB2OWL Core MM of [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]). The model of
Figure 3 is to be re-used also in upcoming alternative RDB2OWL implementations.
6 http://rdb2owl.lumii.lv/; see this paper’s example at http://rdb2owl.lumii.lv/demo/
7 http://d2rq.org/
      </p>
      <p>ClassMap
classURI:String[0..1]
instruction: {?, ?Any, ?Out, ?In} [*]
trg
1
An important parameter for the mapping generation is the “with inference” option that
can be turned on or off by the user. We explain this parameter using an example. If an
ontology class, say, Student, is said to correspond to a database table XStudent, one
naturally expects that its superclass (e.g. Person) also automatically receives the
instances coming from the XStudent table. If the RDF triples corresponding to the
database are dumped and loaded into a RDF triple store (e.g. Virtuoso Server), the
RDF triple store can perform the inference. If, however, the RDB data are to be
accessed by D2R server on on-the-fly basis, this inference is built into the D2RQ
mapping generation by the RDB2OWL tool so that together with the D2RQ class map
for the Student class, a similar class map is generated also for the Person class (an
alternative would be to extend the D2R server functionality with some inference
capabilities). The RDB2OWL tool for D2RQ mapping generation currently supports
subclass, subproperty and inverse properties inference. Similar inference capabilities
are planned also for upcoming R2RML implementation.</p>
      <p>
        The RDB2OWL tool is implemented in JAVA programming language, however,
its current implementation uses libraries for the internal RDB2OWL model handling
and transformations that are working only in MS Windows environment. The model
transformations from RDB2OWL syntactic to semantic metamodel are written in LuA
programming language using its lQuery model transformation library [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ].
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Discussion and Conclusions</title>
      <p>
        The RDB2OWL mapping language and tool allows easy creation of
database-toontology mappings involving basic one-to-one correspondence between ontology
classes, data and object properties and database tables, columns and relations
respectively, as well as involving more advanced constructs (e.g. adding filters,
subclass relations, value processing, etc.). The experience shows that for simple to
medium size ontologies and corresponding databases the RDB2OWL language and
tool, in combination with D2RQ Platform [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and possibly an RDF triple store (in the
case of initial database RDF dump created by the D2RQ server), allow to quickly
obtain a SPARQL endpoint over conceptually structured view over RDB data up and
running. The method is well applicable also if only a part on information from a
larger database is to be exposed into the semantic form.
      </p>
      <p>
        The practical experience of using RDB2OWL over larger ontologies and database
schemas, as in Latvian medicine registries example of [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] with the ontology
containing 173 classes, 219 object properties and 816 data properties, shows that the
tool is well usable, however, some further ontology and mapping engineering means
for cross-checking the validity and completeness of the created mappings would be
helpful (these can be used both on the RDB2OWL annotation level, as well as on the
level of the generated executable mapping code, e.g. in D2RQ).
      </p>
      <p>
        The direct RDB2OWL mapping text size both in the considered mini-University
and in the Latvian medicine registries [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] examples is about 8-9 times smaller, if
compared with the generated D2RQ mapping text size, thus allowing considering
RDB2OWL for manual database-to-ontology correspondence specification.
      </p>
      <p>Regarding the OWL constructions allowed in the ontologies that are RDB2OWL
mapping targets, we note that in fact, any OWL features also beyond the RDF
Schema notation can be permitted. Figure 1 contains a number of such features, for
instance equivalent class assertions and datatype facet restrictions. We can note that
the equivalent class assertions for the subclasses of the Teacher class are “enforced”
by the RDB2OWL mapping definition; while the facet restrictions in the current
mapping version are left to be checked as constraints over the obtained RDF triple set.</p>
      <p>
        Although the RDB2OWL tool has a well-defined task of creating a
conceptuallevel SPARQL endpoint for a relational database, permitting its standalone use, a
particular usage context of the RDB2OWL database-to-ontology mapping tool is
within a larger semantic database platform [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] involving also the OWLGrEd
ontology editor [
        <xref ref-type="bibr" rid="ref16 ref17">16,17</xref>
        ], the visual custom SPARQL query generation tool ViziQuer
[
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] and the SPARQL endpoint browser OBIS [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>Resource</given-names>
            <surname>Description</surname>
          </string-name>
          <article-title>Framework (RDF)</article-title>
          , http://www.w3.org/RDF/
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Motik</surname>
            ,
            <given-names>B</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Patel-Schneider P.F; Parsia</surname>
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>OWL 2 Web Ontology Language Structural Specification</article-title>
          and
          <string-name>
            <surname>Functional-Style Syntax</surname>
          </string-name>
          ,
          <year>2009</year>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>Linked</given-names>
            <surname>Data</surname>
          </string-name>
          , http://linkeddata.org
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>Tim</given-names>
            <surname>Berners-Lee</surname>
          </string-name>
          ,
          <article-title>James Hendler and Ora Lassila, "The Semantic Web"</article-title>
          , Scientific American, May
          <year>2001</year>
          , p.
          <fpage>29</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>D2RQ</given-names>
            <surname>Platform. Treating Non-RDF Relational</surname>
          </string-name>
          <article-title>Databases as Virtual RDF Graphs</article-title>
          . http://www4.wiwiss.fu-berlin.de/bizer/D2RQ/spec/
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>C.</surname>
          </string-name>
          <article-title>Blakeley: “RDF Views of SQL Data (Declarative SQL Schema to RDF Mapping)”</article-title>
          ,
          <source>OpenLink Software</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Sequeda</surname>
            ,
            <given-names>J.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunningham</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Depena</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miranker</surname>
            ,
            <given-names>D.P.</given-names>
          </string-name>
          <string-name>
            <surname>Ultrawrap</surname>
          </string-name>
          <article-title>: Using SQL Views for RDB2RDF</article-title>
          .
          <source>In Poster Proceedings of the 8th International Semantic Web Conference (ISWC2009)</source>
          , Chantilly,
          <string-name>
            <surname>VA</surname>
          </string-name>
          , USA. (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Spyder</surname>
            <given-names>tool</given-names>
          </string-name>
          , URL: http://www.revelytix.com/content/spyder
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Bagosi</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hardi</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Komla-Ebri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lanti</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rezk</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slusnys</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          (
          <year>2014</year>
          ).
          <article-title>The Ontop framework for ontology based data access</article-title>
          . In
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Du</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ji</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , &amp;
          <string-name>
            <surname>Pan</surname>
            ,
            <given-names>J. Z</given-names>
          </string-name>
          . (Eds.),
          <source>CSWS 2014</source>
          , Vol.
          <volume>480</volume>
          of Communications in Computer and Information Science, pp.
          <fpage>67</fpage>
          -
          <lpage>77</lpage>
          . Springer.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10. R2RML:
          <article-title>RDB to RDF Mapping Language</article-title>
          , http://www.w3.org/TR/r2rml/
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <given-names>K.</given-names>
            <surname>Čerāns</surname>
          </string-name>
          , G.Būmans,
          <article-title>RDB2OWL: a RDB-to-</article-title>
          <string-name>
            <surname>RDF</surname>
          </string-name>
          /OWL Mapping Specification Language // J.Barzdins and M.Kirikova (eds.),
          <source>Databases and Information Systems VI, IOS Press</source>
          <year>2011</year>
          , p.
          <fpage>139</fpage>
          -
          <lpage>152</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. G.Būmans,
          <string-name>
            <given-names>K.</given-names>
            <surname>Čerāns</surname>
          </string-name>
          ,
          <string-name>
            <surname>Advanced</surname>
          </string-name>
          RDB-to-
          <source>RDF/OWL mapping facilities in RDB2OWL // Proc. of BIR</source>
          <year>2011</year>
          , Riga, Latvia, October 7-
          <issue>8</issue>
          ,
          <year>2011</year>
          . LNBIP 90, pp.
          <fpage>142</fpage>
          -
          <lpage>157</lpage>
          . Springer, Heidelberg,
          <year>2011</year>
          (ISBN:
          <fpage>978</fpage>
          -3-
          <fpage>642</fpage>
          -24510-7
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. G.Būmans,
          <article-title>Relational database information availability to semantic Web technologies, Dr</article-title>
          .sc.comp theses, University of Latvia,
          <year>2012</year>
          , https://dspace.lu.lv/dspace/handle/7/2538.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14. G.Barzdins, E.Liepins,
          <string-name>
            <given-names>M.</given-names>
            <surname>Veilande</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Zviedris: Semantic Latvia Approach in the Medical Domain</article-title>
          . // Proc. 8th International Baltic Conference on Databases and
          <string-name>
            <given-names>Information</given-names>
            <surname>Systems. H.M.Haav</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          .Kalja (eds.), TUT Press, pp.
          <fpage>89</fpage>
          -
          <lpage>102</lpage>
          . (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <given-names>K.</given-names>
            <surname>Cerans</surname>
          </string-name>
          , G. Barzdins, G. Bumans,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ovcinnikova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Rikacovs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Romane</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Zviedris. A Relational Database Semantic</surname>
          </string-name>
          Re-Engineering Technology and Tools //
          <source>Baltic Journal of Modern Computing (BJMC)</source>
          , Vol.
          <volume>3</volume>
          (
          <issue>2014</issue>
          ),
          <source>No. 3</source>
          , pp.
          <fpage>183</fpage>
          -
          <lpage>198</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Barzdins</surname>
            , J.; Barzdins,
            <given-names>G.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Liepins</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sprogis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>OWLGrEd: a UML Style Graphical Notation and Editor for OWL 2</article-title>
          .
          <source>In Proc. of OWLED</source>
          <year>2010</year>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Barzdins</surname>
          </string-name>
          , J.;
          <string-name>
            <surname>Cerans</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Liepins</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Sprogis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>UML Style Graphical Notation and Editor for OWL 2</article-title>
          .
          <source>In Proc. of BIR'</source>
          <year>2010</year>
          , LNBIP, Springer
          <year>2010</year>
          , vol.
          <volume>64</volume>
          , p.
          <fpage>102</fpage>
          -
          <lpage>113</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <given-names>K.</given-names>
            <surname>Čerāns</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Ovčiņņikova</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Liepiņš</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sproǵis</surname>
          </string-name>
          ,
          <source>Advanced OWL 2</source>
          .0 Ontology Visualization in OWLGrEd // A.Caplinskas,
          <string-name>
            <given-names>G.</given-names>
            <surname>Dzemyda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Lupeikiene</surname>
          </string-name>
          ,
          <string-name>
            <surname>O.</surname>
          </string-name>
          Vasilecas (eds.),
          <source>Databases and Information Systems VII, IOS Press, Frontiers in Artificial Intelligence and Applications</source>
          , Vol
          <volume>249</volume>
          ,
          <year>2013</year>
          , pp.
          <fpage>41</fpage>
          -
          <lpage>54</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Liepiņš</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <article-title>Library for Model Querying - lQuery</article-title>
          .
          <source>In Proceedings of 2012 Workshop on OCL and Textual Modelling</source>
          ;
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Zviedris</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barzdins</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <article-title>ViziQuer: A Tool to Explore and Query</article-title>
          SPARQL Endpoints // The Semantic Web: Research and Applications, LNCS Volume
          <volume>6644</volume>
          ,
          <year>2011</year>
          , pp.
          <fpage>441</fpage>
          -
          <lpage>445</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>M.Zviedris</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Romane</surname>
            , G.Barzdins,
            <given-names>K.</given-names>
          </string-name>
          <string-name>
            <surname>Cerans</surname>
          </string-name>
          .
          <source>Ontology-Based Information System // Proceedings of JIST'</source>
          <year>2013</year>
          , LNCS Volume
          <volume>8388</volume>
          ,
          <year>2014</year>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>47</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>