<!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>Ontocloud - a Clinical Information Ontology Based Data Integration System</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Diogo F.C. Patr a˜o</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Helena Brentani</string-name>
          <email>helena.brentani@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marcelo Finger</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Renata Wassermann</string-name>
          <email>renatag@ime.usp.br</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Computer Science Dept, Univ. of Sa ̃o Paulo</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Psychiatry Dept, Univ. of Sa ̃o Paulo</institution>
        </aff>
      </contrib-group>
      <fpage>118</fpage>
      <lpage>129</lpage>
      <abstract>
        <p>Relevant biomedical research relies on finding enough subjects matching inclusion criteria. Researchers struggle to find eligible patients due to: information scattered in many different databases, incompatible data representation, and the technical knowledge required to work directly with databases. We identified the required features of a clinical data search system and used it to design and evaluate Ontocloud, a prototype based on open source software and open standards of a dynamic ontology based database integration system with inference capabilities. A comparison between Ontocloud and three other database integration system showed that our prototype fulfilled its purpose and can be improved to be used in production.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>1 A.C. Camargo Cancer Center</p>
    </sec>
    <sec id="sec-2">
      <title>1. Introduction</title>
      <p>
        The technology to quickly retrieve patient information from the Electronic Health
Record is crucial to biomedical research. Traditional term based search
techniques have been failing to bring accurate and precise results, due to the high
complexity of this knowledge domain[
        <xref ref-type="bibr" rid="ref5">Chard et al. 2011</xref>
        ]. Database integration
[
        <xref ref-type="bibr" rid="ref14">Lenzerini 2002</xref>
        ][
        <xref ref-type="bibr" rid="ref11">Halevy 2001</xref>
        ][
        <xref ref-type="bibr" rid="ref10">Haas et al. 2002</xref>
        ] provides techniques to consolidate
information on several source databases through a set of mappings, into a single global
database, which is then queried by the user. The most established database integration
tools are based on relational databases, which are not tailored to deal with different
conceptualizations of the source databases[
        <xref ref-type="bibr" rid="ref17">Sujansky 2002</xref>
        ].
      </p>
      <p>Data collection for cancer research in a large hospital such as A.C. Camargo
Cancer Center is hindered by a series of factors, the most important being: (1) Data is stored
in many different databases in diverse ways, constantly changing and evolving; (2) Data
is represented in a computer friendly format, hard to understand by physicians and
scientists; (3) Collecting data manually is a time-consuming task, and clinical research projects
need speed and accuracy on the recruit phase, (4) the same information may be present in
different levels of detail, and (5) certain information is not explicitly asserted, but may be
inferred based on indirect data.</p>
      <p>In this work, we designed, implemented and evaluated a prototype of a database
integration system called Ontocloud, based on open source software and standards. It
addresses the issues (1)-(5), by providing some key features: dynamic access to data on
source databases; ontologies as the medium for data integration; and inference of
concepts, harmonizing the detail level of similar information (the semantic mismatch issue),
independence of source databases and data annotation. We describe how we implemented
Ontocloud to solve a use case of integrating medical document metadata, and compare its
characteristics against three other database integration architectures.</p>
    </sec>
    <sec id="sec-3">
      <title>2. Background</title>
    </sec>
    <sec id="sec-4">
      <title>2.1. Database integration</title>
      <p>
        A database integration problem is described as taking several sources of
complementary data and providing a single view for those sources[
        <xref ref-type="bibr" rid="ref11">Halevy 2001</xref>
        ]. In a theoretical
perspective[
        <xref ref-type="bibr" rid="ref14">Lenzerini 2002</xref>
        ], we can represent a data integration system I as a triple
hG; S; Mi, where G is the global view, S is the set of source databases and M is the
set of mapping functions from S to G.
      </p>
      <p>There are two methods for providing the global view G: dynamic or static.
Dynamic methods translate a query on global view G to queries on the relevant source
databases S and translate back the answers using the mappings M. Static methods (or
data warehouse methods) create a materialized global view, by translating and copying all
data from the sources S into a new database G.</p>
      <p>
        Both methods have their benefits and drawbacks. Dynamic methods rely on query
rewriting or query answering, which are hard computational problems and therefore
imply on slower performance. As they directly query the source databases, results are always
up to date. Static methods are easier to set up and faster to query, however there is the need
to translate all data on the sources and construct a new database before any queries can
be answered. This procedure may require a higher level of access on the source databases
and may take a great deal of time and disk space. Also, results are mostly always outdated,
and the global database needs to be refreshed periodically[
        <xref ref-type="bibr" rid="ref11">Halevy 2001</xref>
        ].
      </p>
      <p>
        Regarding the mappings, database integration systems can be classified as global
as view (GAV) or local as view (LAV). Mappings on GAV systems transforms the
source database into the global view, and queries are answered by several different
algorithms[
        <xref ref-type="bibr" rid="ref11">Halevy 2001</xref>
        ]. Mappings on LAV systems maps the global view into the
source, and in order to answer a query presented to the global view G the system should
apply query answering (to infer results on G based on results on S) or query rewriting
(which translates the mappings from LAV to GAV). GAV mappings are easier for a
developer to create than LAV mappings, however the former requires that all source databases
are joined in one statement, being thus harder to add and remove sources than LAV. The
query answering or rewriting step in a LAV system, depending on the complexity of
mappgins, may demand a great deal of computation to be solved, if solvable at all; GAV
systems relies on faster algorithms.
      </p>
    </sec>
    <sec id="sec-5">
      <title>2.2. Ontologies, inference and database integration</title>
      <p>
        An ontology represents knowledge in a formal framework, as concepts and relationships
between pairs of concepts. Ontologies have been considered in heterogeneous database
integration due to their ability to perform inferences and potential to deal correctly with
the semantic mismatch problem [
        <xref ref-type="bibr" rid="ref18">Wache et al. 2001</xref>
        ] [
        <xref ref-type="bibr" rid="ref6">Cruz and Xiao 2005</xref>
        ].
      </p>
      <p>
        Semantic mismatch is a problem that is intrinsic to data integration that usually
leads to loss of specificity [
        <xref ref-type="bibr" rid="ref17">Sujansky 2002</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">Hull 1997</xref>
        ]. It occurs when two sources of
information have fields with similar but incompatible meanings. Usually, when it is
necessary to join the two sources, the lowest level of detail should be adopted. In some cases
of concept overlap it can be impossible to join sources. Ontologies, in data integration,
mitigate information loss for some types of semantic mismatch. Figure 1 presents an
example of such mismatch for information on patient smoking.
      </p>
      <p>Ontologies can be represented in RDF/XML1 format or in triplestores, which can
be thought of as an equivalent of a database for ontologies. SPARQL2 is the query
language defined for querying data in an ontology. The SPARQL 1.1 specification allows for
joining remote endpoints and thus integrating different datasets.</p>
      <p>
        Inference is the process by means of which new information is derived from
existing data from an ontology. Given abstract concepts, general rules can be added to a
1http://www.w3.org/TR/PR-rdf-syntax/
2http://www.w3.org/TR/rdf-sparql-query/
knowledge base to allow for new facts to be inferred[
        <xref ref-type="bibr" rid="ref16">Russell and Norvig 2003</xref>
        ]. An
inference rule is divided in two parts, the head and the body. If the statements on the body is
true, then the head statement will also be true. See Figure 2 for an example of an inference
rule.
      </p>
      <p>
        Query expansion [
        <xref ref-type="bibr" rid="ref1">Bhogal et al. 2007</xref>
        ] achieves inference by applying the rules
over the query statements, instead of the facts of the knowledge base. A query qG that
specifies concepts presents on the head part of some inference rule may have this
statement substituted by the body part of the rule (Figure 2).
      </p>
    </sec>
    <sec id="sec-6">
      <title>3. Related work</title>
      <p>
        <xref ref-type="bibr" rid="ref4">Calvanese [Calvanese et al. 2007</xref>
        ] describes Mastro-I, a data integration management
system designed in order to maintain data complexity within reasonable bounds. It relies
on the IBM product Infosphere Federation Server3 to access source databases. In other
work[
        <xref ref-type="bibr" rid="ref3">Calvanese et al. 2011</xref>
        ], the same group describes a database integration case using
Mastro-I, in which five different data models were used, including XML-based and
relational databases. The integration was made in two steps: first the different data models
were combined using the InfoSphere Federation Server; then the Mastro-I system was
used to map those entities into concepts, thus achieving data integration. In this
architecture, there are two layers of heterogeneity solving: first, all relational data is mapped at
the Federation Server, and then mapped into DL concepts, where integration is actually
achieved.
      </p>
      <p>
        DBOM [
        <xref ref-type="bibr" rid="ref7">Cure and Bensaid 2008</xref>
        ] is a GAV data integration system that uses
decidable fragments of OWL language, OWL-DL and OWL-DL lite, to map results from
queries over a relational database to an ontology. Several different relational sources can
be used at once. It is able to deal with different degrees of confidence on each source, by
configuring parameters on the mappings. It is implemented as a Prote´ge´4 plug-in,
however, it is not cited whether this plugin is available, nor it has been found on the internet
for download. As a use case the author presents the integration of two drug databases.
      </p>
      <sec id="sec-6-1">
        <title>3http://www-01.ibm.com/software/data/infosphere/federation-server/ 4http://protege.stanford.edu</title>
        <p>
          The Query Integrator System (QIS) [
          <xref ref-type="bibr" rid="ref13">Iller and Adkarni 2004</xref>
          ] is a layer-based
architecture that uses ontologies to represent and annotate metadata about the source
databases; each change detected on the schemas generates annotations that can be
reviewed later. It focuses on a dynamic environment where the source database schemas
are constantly changing. Queries are composed by means of a visual tool that presents the
annotation about the source databases, and translates these queries into SQL in the source
databases.
        </p>
        <p>
          <xref ref-type="bibr" rid="ref15">Min et al [Min et al. 2009</xref>
          ] integrated two sources of prostate cancer clinical data:
one mantained by the Radiation Oncology department and the other from the Tumor
Registry. The first contained data about radiotherapy treatment and the other demographic
data. Both databases were integrated into one ontology by using a single D2R-Server
instance. Integration was done by mapping concepts to two different databases in one
single server. The integration was horizontal, as each database contained complementary
data about one patient, except for one field, the TNM status, which was present in both.
        </p>
        <p>Analyzing the available tools, none of them has features allowing to solve all
of the clinical database integration issues we verified, except for Mastro-I and DBOM.
However, the first relies on non-free software and it requires that relational sources are
integrated first on a relational layer (the Infosphere Federation Server), and then on the
ontology layer (Mastro). DBOM seems to be an interesting take on the subject, however
it is not available anywhere for download. QIS has very interesting features but is based
on obsolete standards and software.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>4. Ontocloud design</title>
      <p>Ontocloud was designed to provide dynamic access to a consolidated database global
view of several database sources, using ontologies to consolidate heterogeneous data.
Given a set of source databases S1::n, a set of source endpoint E1::n should be provided.
Each source publishes its objects of interest concepts of the global view G by means of a
SPARQL endpoint. In order to get answers to a query qG over the global database G, the
query must go through two transformation steps: the query expansion step accounts for
inference, substituting terms not directly defined on the source endpoints; then the query
federator step provides the query with SERVICE clauses that indicate in which source
endpoint each concept is to be found (Figure 3).</p>
      <p>Ontocloud uses four ontologies. The global ontology lists the classes and
properties in which the global database will be represented, as well as annotations. The
federation ontology specifies the source databases and which classes and properties of the
global ontology they implement. The mapping ontology relates tables and columns from
a source database to basic concepts on the global ontology. The inference ontology maps
derived concepts to basic concepts through an ontology alignment file.</p>
      <p>The global ontology should be the starting point when designing an ontology
based database integration system, as the queries to be issued will refer to this ontology.
It should be well anotated and descriptive, and should comprise the high-level concepts
that will be queried as well as the ones actually on the source databases. Those are called
base concepts, because they are directly related to a database object. The others are called
derived concepts and should be related to base concepts by rules on the inference
ontology.</p>
      <p>Each relational source database is required to have its own mapping file, which
will translate access to the partial RDF graph of the global database G to SQL queries on
the actual database objects.</p>
      <p>The federation ontology lists all source databases and which concepts from the
global ontology they provide. It is used by the federator step to translate a query qG to a
query qE over the source endpoints.</p>
      <p>Those characteristics make Ontocloud an adequate solution to integrating clinical
databases, as stated in the introduction: (1) Integrated sources are independent, so adding,
modifying or removing sources does not interfere with other sources; (2) The usage of
ontologies allows for annotation of concepts, making it easier for a non-technically trained
user to understand it; (3) Data is accessed directly from the sources, yielding always
upto-date results; (4) Ontologies provides tools for dealing with semantic mismatch; and (5)
Inference of higher level concepts based on raw data, making all assumptions about data
explicit and easy to audit.</p>
    </sec>
    <sec id="sec-8">
      <title>4.1. Implementation</title>
      <p>
        Ontocloud implementation was based on open standards and open source software. Its
implementation is described in this section (illustrated in Figure 3). To map source
databases as a SPARQL endpoint, we used D2R-server[
        <xref ref-type="bibr" rid="ref2">Bizer and Seaborne 2004</xref>
        ] with
custom mapping N3 files. The query execution engine was ARQ, and custom software
was implemented to perform the query expansion (to accomplish inference) and query
federator (to indicate what are the databases to be looked into) steps.
      </p>
      <p>
        D2RQ [
        <xref ref-type="bibr" rid="ref2">Bizer and Seaborne 2004</xref>
        ] is an OBDA5 open source software. It is a
Jena library that translates access to an RDF ontology specification by means of SQL
queries, according to a mapping file. It includes D2R-Server, a server that provides a
SPARQL endpoint over the mapped database, and dump-rdf6, that converts the entire
mapped database to a RDF file. Jena is a “Java framework for semantic web
applica5Ontology Based Data Access
6http://d2rq.org/dump-rdf
tions”7, providing an API for handling RDF, OWL, inference, triple storage and a query
engine. JDBC8 is a Java library that provides an unified API to access several different
databases. D2R-Server did not provide any function for date and time operations, so we
wrote custom Java classes and used it in SPARQL queries.
      </p>
      <p>
        The Query Expansion Step used the inference ontology to translate queries using
derived concepts into base concepts. We used the Mediation9 library, which translates
queries on an ontology A to an ontology B by means of an EDOAL [
        <xref ref-type="bibr" rid="ref8">David et al. 2011</xref>
        ]
ontology alignment file. However, instead of mapping between two different ontologies,
we mapped between concepts of the same ontology, avoiding circular references.
      </p>
      <p>The Query Federator Step used the federation ontology to translate a query over
the global ontology to the source endpoints. For each triple specified in the SPARQL
query, it checks in which sources the concepts involved are present, and surrounds the
triple with a SERVICE clause. If a concept is present in more than one source, it replaces
the triple with a UNION of all SERVICE clauses. The software was written in Java using
Jena library.</p>
    </sec>
    <sec id="sec-9">
      <title>4.2. Use case</title>
      <p>We selected as use case the problem of integrating clinical documents metadata from four
information systems used at A.C. Camargo Cancer Center: EHR, which contains most
data from clinic services; Pathology, that contains reports from anatomic pathology tests
(visual inspection of sample tissues); Image, that contains reports from imaging tests;
and Prescriptions, that contains both inpatient evolution (texts describing the patient’s
day-to-day evolution) and prescriptions of drugs and procedures.</p>
      <p>We retrospectively consulted the Medical Informatics Laboratory ticket system, in
which all query request made by doctors, managers and researchers are registered. Based
on it, we compiled 17 queries of varying complexity to benchmark our integration system
10. The Ethics Committee of A. C. Camargo Cancer Center, where this research was
conducted, granted a waiver on informed consent. To answer those queries, we designed
the global schema layout as depicted on Figure 4 and created the mappings accordingly.</p>
      <p>We looked into the source databases for tables and columns that contained the
needed information required by the defined global schema. Most databases contained
all fields needed for the desired integration, except for the type of document on
Pathology, Image and Prescription databases and the brazilian person registry number (CPF)
for physicians on the Prescription database. We inquired physicians and discovered that
documents on Pathology and Image databases are always reports and the documents on
Prescription database can be a evolution or a prescription, depending whether a field is
blank or not; the CPF number could be found for physicians which were linked to another
database table, but not all of them (in this case, we simply created a new record without
the CPF number).</p>
      <p>To account for missing data, we created simple rules of inference based on
knowledge provided by physicians. For Pathology and Image, all documents were stated to have</p>
      <sec id="sec-9-1">
        <title>7http://jena.apache.org/ 8http://www.oracle.com/technetwork/java/overview-141217.html 9https://github.com/correndo/mediation 10The queries are available at http://diogopatrao.com/ob/ as Supplementary Table 1.</title>
        <p>Global ontology
&lt;&lt;owlClass&gt;&gt;</p>
        <p>Patient
+id: integer
+name: string
+gender: genderEnum
++hdaastDeoOcfuBmierntth:: Ddoactuement
&lt;&lt;enumeration&gt;&gt;
FGenderEnum
M</p>
        <p>I
&lt;&lt;owlClass&gt;&gt;</p>
        <p>Document
+type: string
+dateOfCreation: datetime
+systemId: string
+title: string
+originalId: integer
+author: User</p>
        <p>User
+universalId: integer
+id: integer
+name: string</p>
        <p>Global relational database
1 pnaatmieent_idPatienvitansrtcehgaerr(255)
date_of_birth date
gender char(1)</p>
        <p>N Documents
original_document_id integer
optddaraiaouitttctgile_hiee_tonnoyraf_tpl_u_e_csisredyersa_ttieidmo_nid vivvdvanaaaartrrtrceccechghhthaeaaiarrrrmr(((e(19669000)))) N
id vUarscehrasr(60)
name1varchar(255)
“PATHOLOGY REPORT” and “IMAGING EXAM REPORT” type. For Prescription, a
conditional rule (based on whether a text field has data or not) was used to determine if a
document belonged to “PRESCRIPTION” or “INPATIENT EVOLUTION” type. These
rules were embedded on the mapping files.</p>
        <p>It was possible to infer patient class based on the presence of certain types of
documents on the patient’s EHR; we implemented inference rules on the query expansion
step using EDOAL ontology alignment file format. Examples of those rules can be found
on Suplementary Table 211.</p>
        <p>
          We replicated the original databases, by retrieving pertinent tables and columns
and storing them into a single MySQL server. To extract the original sources into the
MySQL database we used Pentaho Data Integration Community Edition[
          <xref ref-type="bibr" rid="ref9">Golfarelli 2009</xref>
          ].
It is a software suite to design and perform ETL (Extract, Transform, Load - a static
database integration method). It allows one to graphically design scripts to extract data
from several types of database, transform, mix and store them in a different database table
or file.
        </p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>5. Experimental setup</title>
      <p>In order to assess performance and accuracy of Ontocloud we have set up three other
database integration systems, which exhausts all combinations of the main database
integration architecture characteristics: dynamic or static data acess, and relational database
or ontology data representation. We evaluated accuracy in a qualitative way, by
making sure that all 17 queries yielded equivalent results on all database integration systems
evaluated. Query performance was evaluated as the total clock time a query took for
completion on a integration system.</p>
    </sec>
    <sec id="sec-11">
      <title>5.1. Source to global mapping</title>
      <p>After replicating the source databases, we proceeded to set up all four database integration
systems. The Supplementary Figure 1 depicts the experimental setup, and Supplementary
Table 3 the database size and extraction times.</p>
      <p>The tools used to set up the other integration systems are as follows:
Triplestore: Openlink Virtuoso Universal Server Open Source Edition provides,
among many other things, an RDF triple store and a SPARQL endpoint. We chose
Virtuoso to implement Triplestore, the static access ontology based integration
method. For each of the four source databases, we used D2R to dump data into an
N3 file. Those files were imported using Virtuoso Bulk Loader12.</p>
      <p>Federation: Teiid13 is an open-source, dynamic relational database integrator
system; it allows the creation of views over database resources published on a JBoss14
server, and it is accessible as a JDBC resource. Federation, the dynamic database
integration architecture, was designed as a Teiid instance. For each table in the
global schema, we wrote a consolidated view, composed of queries over each
source database joined by UNION clauses. Those queries did all necessary
mapping to provide the required information, even if it was spread in different tables
on the source database. The missing document type of Pathology, Image and
Prescription databases was inferred directly on the view statement as a SQL constant
or expression.</p>
      <p>Replication: The Replication architecture was created by materializing the
Federation queries (translated to MySQL dialect) into tables. As in the source databases,
every column in each database was indexed.</p>
    </sec>
    <sec id="sec-12">
      <title>5.2. Experiments</title>
      <p>The 17 queries were transcribed to each integration system language (SPARQL for
ontology based systems and SQL for the others) and dialect (function names and namespaces
were slightly different between MySQL and Teiid, and between Virtuoso and ARQ).
There is no SERVICE specific optimizations on Jena, and we have not implemented it
for Ontocloud. In contrast, Teiid, the software we chose for implementing Federation,
was highly optimized for this type of queries. To account for this difference, we
implemented two sets of queries for Ontocloud: one using both query expansion and query
federator step, and other querying directly the sources with queries tuned by hand. This
way, we get the actual running time for current software and an estimation of what the
timing would be if there was an optimization step. We ran one single round of all 17
queries in all systems, without time limit and saving the results. To avoid server resource
competition, only one one query on a single integration system was executed at a given
time.</p>
      <p>The computer server in which the experimental setup was created and tests were
performed had 4 cores with 3.00GHz, 64bits, and 8GB of RAM, running CentOS 5.
The database software installed was MySQL server version 5.0.95. We also used Pentaho
Data Integration Community Edition version 4.0.1, ARQ-2.8.8, PHP 5.2.5, Virtuoso Open
Source Edition 6.1.4.3127, D2R-Server 0.8, Java 1.6.0.23, Teiid 7.7 and JBoss 5.1.0 GA.</p>
    </sec>
    <sec id="sec-13">
      <title>6. Results</title>
      <p>A functional comparison between all systems can be seen on Table 1. All four integration
systems were successfully configured and deployed. Except for queries 14 and 17 on
Ontocloud Optimized, and queries 10-17 on Ontocloud Unoptimized, which were not
12http://www.openlinksw.com/dataspace/dav/wiki/Main/VirtBulkRDFLoader
13http://www.jboss.org/teiid/
14http://www.jboss.org/
completed due to lack of memory, all other queries on all evaluated systems completed
successfully and yielded the same results. Ontocloud Optimized performed better than
Federation on 7 queries out of 17, and was 15% faster than Ontoclound Raw (without
optimizations). Replication was the fastest method of all, followed by Triplestore which
performed better than Federation and Ontocloud on 13 queries. Time measurements for
all database integration systems can be seen on Figure 5 and Supplementary Table 4.</p>
      <sec id="sec-13-1">
        <title>Integration</title>
        <p>system
Ontocloud
Federation
Triplestore
Replication</p>
      </sec>
      <sec id="sec-13-2">
        <title>Data access</title>
        <p>strategy
Dynamic
Dynamic
Static
Static</p>
      </sec>
      <sec id="sec-13-3">
        <title>Data heterogeneity</title>
        <p>solving method
By ontology
Least detailed
By ontology
Least detailed</p>
      </sec>
      <sec id="sec-13-4">
        <title>Missing data</title>
      </sec>
      <sec id="sec-13-5">
        <title>Annotation</title>
      </sec>
      <sec id="sec-13-6">
        <title>Mapping Mapping Materialized Materialized</title>
        <p>Yes
No
Yes
No</p>
      </sec>
      <sec id="sec-13-7">
        <title>Query expansion Yes No</title>
        <p>No
No</p>
      </sec>
    </sec>
    <sec id="sec-14">
      <title>7. Discussion</title>
      <p>The implementation of Ontocloud and the use case experiments showed that it is an
adequate database integration system for clinical data, as it accomplish the five objectives:
(1) The configuration of source databases was completely independent, except for the
Federation Ontology, which lists the URL of each endpoint and the concepts each
implements; (2) The global ontology contained human-readable descriptions, so data would be
easily understandable by non-technical personnel; (3) Data is accessed directly from the
sources, yielding always up-to-date results; (4) Mappings provideded missing data in a
way that is transparent to the end user and (5) Higher level concepts like TratedPatient and
InPatient are easily understood by physicians and managers, while being translated by the
query expansion step to its definition on raw data, allowing the query to be performed.</p>
      <p>As we set up the integration systems, fundamental differences between Federation
and Ontocloud arised. Federation requires that the developer explicitly join all sources in
a single database view. That makes adding a new source to it a difficult and risky task, as
it is required to work on a SQL statement that involves several different source databases
and any mistake may compromise the whole integration system. Each Ontocloud source
is configured without the need to take other sources in consideration. Instead, it relies on
the Query Federator step, which adds to the original query clauses indicating in which
source endpoint each triple will be resolved. Therefore, by keeping the mapping files
separated, Ontocloud facilitates the maintenance of source databases.</p>
      <p>Inference on Ontocloud was based on the Mediation library, which allowed us to
implement rules by expanding each query term. The inference rules are detached from the
database integration itself, and can be maintened independently of the sources. Also, as
those rules are represented on an ontology language, it is more suitable for domain experts
to maintain it than on the relational methods, in which rules should be implemented on
SQL language. It also improves the information management of such a system, as it
keeps the raw data (on the mapping ontologies) apart from the higher level concepts (on
the inference ontology).</p>
      <p>Ontocloud performance suffered on queries with aggregation or that dealt with
date operations. This occurs because SPARQL aggregation keywords and date
manipulation functions are not translated directly to SQL, instead all results are retrieved and
transformations are performed in memory. That both hindered performance and required
a lot of memory. Also the queries generated by Query Federator step contained a lot of
SERVICE keywords, each containing only one triple. An important optimization would
be to join triples on the same SERVICE pattern, minimizing the access to source
endpoints. Also, the order of triples and filters on the SPARQL query is crucial to determine
the performance. Those optimizations are beyond the scope of this work, but would
certainly put Ontocloud on a par with the other methods. For the purpose stated in this work,
the speed of Ontocloud seems a fair tradeoff for the ability of yielding up-to-date results
at any time and performing inference.</p>
    </sec>
    <sec id="sec-15">
      <title>8. Conclusion</title>
      <p>We have successfully designed and implemented Ontocloud to perform ontology-based
database integration. It implements important features in an clinical data integration
system: The sources are loosely coupled, favoring distributed and dynamic management
of sources; uses ontologies to integrate data, which is prone to reuse and more human
readable; has dynamic access to sources, always yielding up-to-date results; and allows
inference. We believe that this system architecture can be extended and improved, as
indicated in the discussion, to become a production level tool very useful in the medical
informatics context.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <string-name>
            <surname>Bhogal</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Macfarlane</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Smith</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>A review of ontology based query expansion</article-title>
          .
          <source>Information Processing &amp; Management</source>
          ,
          <volume>43</volume>
          (
          <issue>4</issue>
          ):
          <fpage>866</fpage>
          -
          <lpage>886</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <surname>Bizer</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Seaborne</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <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>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rodriguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruzzi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Savo</surname>
            ,
            <given-names>D. F.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>The MASTRO system for ontologybased data access</article-title>
          .
          <source>Semantic Web</source>
          ,
          <volume>2</volume>
          (
          <issue>1</issue>
          ):
          <fpage>43</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lembo</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Poggi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Rosati</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>2007</year>
          ).
          <article-title>Mastro-i: Efficient integration of relational data through dl ontologies</article-title>
          .
          <source>In Proc. of the 20th Int. Workshop on Description Logics (DL</source>
          <year>2007</year>
          ), volume
          <volume>250</volume>
          <source>of CEUR Electronic Workshop Proceedings</source>
          , http://ceur-ws.
          <source>org/</source>
          , pages
          <fpage>227</fpage>
          -
          <lpage>234</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <string-name>
            <surname>Chard</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Russell</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lussier</surname>
            ,
            <given-names>Y. A.</given-names>
          </string-name>
          , Mendonc¸a,
          <string-name>
            <given-names>E. A.</given-names>
            , and
            <surname>Silverstein</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. C.</surname>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>A cloud-based approach to medical NLP</article-title>
          . AMIA - Annual
          <source>Symposium proceedings / AMIA Symposium</source>
          ,
          <year>2011</year>
          :
          <fpage>207</fpage>
          -
          <lpage>16</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>Cruz</surname>
            ,
            <given-names>I. F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Xiao</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          (
          <year>2005</year>
          ).
          <article-title>The role of ontologies in data integration</article-title>
          .
          <source>Journal of engineering intelligent systems</source>
          ,
          <volume>13</volume>
          (
          <issue>4</issue>
          ):
          <fpage>854</fpage>
          -
          <lpage>863</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>Cure</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bensaid</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.-D.</surname>
          </string-name>
          (
          <year>2008</year>
          ).
          <article-title>Integration of relational databases into OWL knowledge bases: demonstration of the DBOM system</article-title>
          .
          <source>In 2008 IEEE 24th International Conference on Data Engineering Workshop</source>
          , pages
          <fpage>230</fpage>
          -
          <lpage>233</lpage>
          . IEEE.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <string-name>
            <surname>David</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Euzenat</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scharffe</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <article-title>and dos</article-title>
          <string-name>
            <surname>Santos</surname>
            ,
            <given-names>C. T.</given-names>
          </string-name>
          (
          <year>2011</year>
          ).
          <article-title>The alignment API 4.0</article-title>
          . Semantic web.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          <string-name>
            <surname>Golfarelli</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Open Source BI Platforms: A Functional and Architectural Comparison</article-title>
          . In Pedersen, T.,
          <string-name>
            <surname>Mohania</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Tjoa</surname>
          </string-name>
          , A., editors,
          <source>Data Warehousing and Knowledge Discovery</source>
          , volume
          <volume>5691</volume>
          of Lecture Notes in Computer Science, pages
          <fpage>287</fpage>
          -
          <lpage>297</lpage>
          . Springer-Verlag.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          <string-name>
            <surname>Haas</surname>
            ,
            <given-names>L. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>E. T.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Roth</surname>
            ,
            <given-names>M. A.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Data integration through database federation</article-title>
          .
          <source>IBM Systems Journal</source>
          ,
          <volume>41</volume>
          (
          <issue>4</issue>
          ):
          <fpage>578</fpage>
          -
          <lpage>596</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <string-name>
            <surname>Halevy</surname>
            ,
            <given-names>A. Y.</given-names>
          </string-name>
          (
          <year>2001</year>
          ).
          <article-title>Answering queries using views: A survey</article-title>
          .
          <source>The VLDB Journal</source>
          ,
          <volume>10</volume>
          (
          <issue>4</issue>
          ):
          <fpage>270</fpage>
          -
          <lpage>294</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>Hull</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          (
          <year>1997</year>
          ).
          <article-title>Managing semantic heterogeneity in databases</article-title>
          .
          <source>In Proceedings of the sixteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems - PODS '97</source>
          , pages
          <fpage>51</fpage>
          -
          <lpage>61</lpage>
          , New York, New York, USA. ACM Press.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <string-name>
            <surname>Iller</surname>
            ,
            <given-names>P. E. L. M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Adkarni</surname>
            ,
            <given-names>P. R. N.</given-names>
          </string-name>
          (
          <year>2004</year>
          ).
          <article-title>QIS : A Framework for Biomedical Database Federation</article-title>
          .
          <source>Journal of the American Medical Informatics Association</source>
          ,
          <volume>11</volume>
          (
          <issue>6</issue>
          ):
          <fpage>523</fpage>
          -
          <lpage>534</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Data integration: A theoretical perspective</article-title>
          .
          <source>In Proceedings of the twenty-first ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, page 246</source>
          . ACM.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          <string-name>
            <surname>Min</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manion</surname>
            ,
            <given-names>F. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goralczyk</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>Y.-N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Beck</surname>
            ,
            <given-names>J. R.</given-names>
          </string-name>
          (
          <year>2009</year>
          ).
          <article-title>Integration of prostate cancer clinical data using an ontology</article-title>
          .
          <source>Journal of biomedical informatics.</source>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          <string-name>
            <surname>Russell</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Norvig</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          (
          <year>2003</year>
          ).
          <article-title>Artificial Intelligence: A Modern Approach</article-title>
          .
          <article-title>Pearson Education, 3rd edition</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          <string-name>
            <surname>Sujansky</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          (
          <year>2002</year>
          ).
          <article-title>Heterogeneous Database Integration in Biomedicine</article-title>
          .
          <source>Journal of Biomedical Informatics</source>
          ,
          <volume>34</volume>
          (
          <year>2001</year>
          ):
          <fpage>285</fpage>
          -
          <lpage>298</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          <string-name>
            <surname>Wache</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Voegele</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Visser</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stuckenschmidt</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schuster</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , and H u¨bner,
          <string-name>
            <surname>S.</surname>
          </string-name>
          (
          <year>2001</year>
          ).
          <article-title>Ontology-Based Integration of Information A Survey of Existing Approaches</article-title>
          .
          <source>In IJCAI-01 Workshop: Ontologies and Information Sharing</source>
          , volume
          <volume>2001</volume>
          , pages
          <fpage>108</fpage>
          -
          <lpage>117</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>