<!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>Ontology-Based Data Federation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Extended Abstract</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Zhenzhen Gu</string-name>
          <email>zhenzhen.gu@unibz.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Lanti</string-name>
          <email>davide.lanti@unibz.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Mosca</string-name>
          <email>alessandro.mosca@unibz.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Guohui Xiao</string-name>
          <email>guohui.xiao@uib.no</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jing Xiong</string-name>
          <email>jing.xiong@unibz.it</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Diego Calvanese</string-name>
          <email>calvanese@inf.unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computing Science, Umeå University</institution>
          ,
          <addr-line>901 87 Umeå</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Faculty of Social Sciences, University of Bergen</institution>
          ,
          <addr-line>Bergen</addr-line>
          ,
          <country country="NO">Norway</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>KRDB Research Centre for Knowledge and Data, Free University of Bozen-Bolzano</institution>
          ,
          <addr-line>39100 Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Ontopic S.R.L.</institution>
          ,
          <addr-line>39100 Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We formally introduce ontology-based data federation (OBDF), to denote a framework combining ontology-based data access (OBDA) with a data federation layer, which virtually exposes multiple heterogeneous sources as a single relational database. In this setting, the SQL queries generated by the OBDA component by translating user SPARQL queries are further transformed by the data federation layer so as to be eficiently executed over the data sources. The structure of these SQL queries directly afects their execution time in the data federation layer and their optimization is crucial for performance. We propose here novel optimizations specific for OBDF, which are based on “hints” about existing data redundancies in the sources, empty join operations, and the need for materialized views. Such hints can be systematically inferred by analyzing the OBDA mappings and ontology and exploited to simplify the query structure. We also carry out an experimental evaluation in which we show the efectiveness of our optimizations.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Ontology-based data access</kwd>
        <kwd>OBDA</kwd>
        <kwd>data federation</kwd>
        <kwd>query optimization</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Research Problem and Contribution</title>
      <p>
        Ontology-based data access (OBDA) [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">1, 2, 3</xref>
        ], also known as Virtual Knowledge Graphs, is a
well-established paradigm for querying data sources via a mediating ontology. Such paradigm
has been successfully applied in many diferent domains [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In OBDA, the ontology is expressed
in a lightweight ontology languages, such as OWL 2 QL [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which has its formal foundations in
the DL-Lite family [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Typically, it is assumed that the underlying data are stored in a single
relational data source, to which the ontology elements are mapped in a declarative way. Notably,
for query answering, OBDA follows a virtual approach, i.e., the data are not actually extracted
from the source to populate the classes and properties, but instead a SPARQL query posed over
the ontology is transformed in a sequence of steps into a SQL query over the data source [
        <xref ref-type="bibr" rid="ref1 ref6 ref7">6, 1, 7</xref>
        ].
SPARQL Q M
      </p>
      <p>T</p>
      <p>SQL q</p>
      <p>sub-queries
V
D</p>
      <p>
        B
answers
answers
sub-answers
…
Sophisticated optimization techniques have been proposed and actually implemented in most
commercial and open source OBDA systems that are currently available [
        <xref ref-type="bibr" rid="ref10 ref2 ref8 ref9">8, 9, 2, 10</xref>
        ].
      </p>
      <p>
        So far, such techniques have been tailored towards optimizing queries that are executed over
a single data source to which the OBDA system is mapped. In many settings, however, there
is the need to virtually access multiple, possibly heterogeneous, data sources in an integrated
way. In this case, one can resort to data federation [
        <xref ref-type="bibr" rid="ref11">11, 12</xref>
        ], where multiple autonomous data
sources are exposed transparently as a unified federated relational schema, usually called virtual
database. Data federation has been studied extensively over the years, and is still an active
research area, and many mature and highly-optimized data federation systems are currently
available, both in the database community1 and in the Semantic Web community (such as [13]).
      </p>
      <p>Data federation systems are already supported by OBDA systems, by accessing them as if
they were a single relational data source2. However, to the best of our knowledge, in current
OBDA systems no provision is taken for the optimization of the generated SQL query, to account
for the fact that the evaluation of a SQL query in a data federation system is fundamentally
diferent from query evaluation by a standard relational DBMS engine. Essentially, this is due
to federated joins, i.e., joins that involve diferent data sources of the federation.</p>
      <p>In this work, we consider specifically this setting, which we call Ontology-based Data
Federation (OBDF), and provide the following contributions. (i) We formalize OBDF systems, where
a collection of multiple, possibly heterogeneous and federated data sources are accessed via
mappings from an ontology. (ii) We study query optimization in OBDF, by devising a set of
optimization techniques specifically tailored towards federated data sources. (iii) We carry out
an experimental evaluation in which we assess the efectiveness of the proposed optimizations.</p>
    </sec>
    <sec id="sec-2">
      <title>2. Ontology-based Data Federation</title>
      <p>Data Federation. We first formalize data federation, where multiple, possibly heterogeneous
data sources are integrated in a unified view, usually called virtual database (VDB). A data
source  can be an RDB, a NoSQL DB, a CSV source, or of some other type, with the only
requirement that it supports a query language. Given a set S = {1, . . . , } of sources to be
federated, and a function (given implicitly with S) transforming the (possibly, non-relational)
schema of each source  into a corresponding relational schema Σ , a VDB schema (for S) is
the disjoint union Σ = ⋃︀=1 Σ . In the following, we use letters  ,  to denote database tables,
and the subscript  (e.g., ) to indicate that table  belongs to source . A data federation
1E.g., Denodo (www.denodo.com), Dremio (www.dremio.com), and Teiid (teiid.io).</p>
      <p>2See, e.g., ontop-vkg.org/tutorial/federation/.
instance D for Σ is the relational instance ⋃︀  made of the union of all instances of the source
schemas in Σ . For a query , ans(, D) denotes the set of answers of  evaluated over the data
federation instance D.</p>
      <p>OBDF. Given an ontology  , a VDB schema Σ for a set S of data sources, and a set ℳ of
mappings from Σ to  , an ontology-based data federation specification is the OBDA specification
ℱ = ( , ℳ, Σ ). The notions of OBDF instance and answers to a query over an OBDF instance
coincide with their OBDA counterpart. Figure 1 depicts the OBDF approach, where query
answering is carried out by translating an input SPARQL query into a SQL query over the VDB,
and then having the federation system evaluate such query.</p>
      <p>Challenges. In OBDF, multiple sources are mapped to the same ontology, therefore the
translated SQL query typically contains federated joins, i.e., joins involving diferent data
sources. Computing such joins is expensive [13], since they cannot be evaluated locally and
may cause large amounts of data to be transfered from the sources to the federation system.
Besides, as also observed in our preliminary experiments, evaluating queries over ineficient
sources (e.g., CSV files) slows down the overall query answering significantly. This problem is
not addressed by optimization techniques in current OBDA systems, since they treat all tables
present in the VDB schema in the same way. Therefore, new techniques to optimize query
answering in OBDF are needed.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Query Optimization in Ontology-based Data Federation</title>
      <p>We study query optimization in OBDF, by devising a set of optimization techniques specifically
tailored to federated data sources. We propose a set of “hints” based on empty federated joins,
data redundancy, and materialized views, which can be pre-computed by analyzing the sources,
the mappings, and the ontology, and we provide a novel optimized query unfolding algorithm
that minimizes the number of federated joins and reduces the access to ineficient data sources.
Method. The overall method consists of two parts: (1) an of-line hint pre-computation part,
and (2) an on-line translation optimization part. We provide an algorithm to pre-compute the
mentioned types of “hints”, based on a static analysis of the mappings and the ontology. The
number of hints is bound to 2, where  is the number of attributes in the DB schema. If the
datasource is updated, then the hints are no-longer valid. Hence, our approach works best in mostly
static scenarios, e.g., where new data undergoes a period of validation before being released.</p>
      <p>Our concrete approach to query optimization consists of a set of query optimization rules
that take into account the pre-computed hints, a simple cost model that distinguishes
eficient/ineficient and static/dynamic data sources, and a novel optimized query unfolding algorithm
that minimizes the number of federated joins and the access to ineficient data sources.
Example. Consider an OBDF specification ℱ = ( , ℳ, Σ ) and a data federation instance
D of Σ containing the static sources 1–4 to be federated. The VDB schema Σ contains,
possibly among others, the following relation schemas, which are mapped to the ontology
 : Product1(id , name, reviewer ) for 1, Product2(num, nam, rew ) for 2 (where id and
num are primary keys of Product1 and Product2 respectively) Person3(pid , pname) for 3,
and PerInf4(id , name, address) for 4. We also assume to have the empty federated join
hint Product1 ⋊⋉id=num Product2 =D ∅ and the redundancy hint  pid,pname (Person3) ≡ D
!,#,$,%# (( !/!' (Product1) ∪ !/#() (Product2) )⋈!*!+
( !+/!',#/#,)- (Product1) ∪ !+/#(),#/#,) (Product2)) ⋈!+*!.
( !./!',$/$-/!-0-$ (Product1) ∪ !./#(),$/$-0(Product2)) ⋈$*%!
( %!/%!',%#/%#,)- (Person3) ∪ %!/!',%#/#,)- (PerInf4)))
q
!,#,$,%# (( !/!',!+/!',#/#,)- (Product1) ∪ !/#(),!+/#(),#/#,) (Product2)) ⋈!+*!. q1
( !./!',$/$-/!-0-$ (Product1) ∪ !./#(),$/$-0(Product2)) ⋈$*%!
( %!/%!',%#/%#,)- (Person3) ∪ %!/!',%#/#,)- (PerInf4)))
S?ExLaECPTro*dWuHcEt;RpEr{oName ?y; hasReviewer ?Qz.
?z preName ?n }
!,#,$,%# ((!/!',#/#,)- ,$/$-/!-0-$ (Product1) ∪ q3 !,#,$,%# ( q2
!/#(),#/#,) ,$/$-0 (Product2)) ⋈$*%! ( !/!',#/#,)- ,$/$-/!-0-$ (Product1) ∪ !/#(),#/#,) ,$/$-0 (Product2)) ⋈$*%!
(%!/%!',%#/%#,)- (Person3))) ( %!/%!',%#/%#,)- (Person3) ∪ %!/!',%#/#,)- (PerInf4)))
 pid/id,pname/name (PerInf4), and that 1, 2, and 3 are labelled as eficient , while 4 as
ineficient.</p>
      <p>Figure 2 illustrates how the above hints and labelling are exploited to unfold a SPARQL
query . The translation proceeds as follows, where we assume that query operators are
processed from left to right. (1) The federated join ⋊⋉=1 is first unfolded into a union of 4
joins and then traslated into  /,1/id,/name(Product1) ∪  /num,1/num,/nam(Product2) on the
basis of the empty federated join hint and the elimination of self-joins. (2) Similarly to the
previous step, the intermediate query 1 is translated into 2. (3) Finally, on the basis of the
data redundancy hint and the given source labeling, the union between Person3 and PerInf4
is removed, and only the projection over the eficient source Person3 is kept in the resulting
query 3. Each step reduces the cost of .</p>
      <p>Experimentation. We have carried out an extensive experiment to verify the efectiveness of
the proposed optimizations, where we have employed main-stream DB engines (like PostgreSQL,
MySQL, and MongoDB), the OBDA system Ontop, and the data federation engine Teiid. Based
on the BSBM benchmark [14], we have created two OBDF specifications: a homogeneous one,
where we have used as sources five relational databases, and a heterogeneous one, where some
of these five data sources are translated into NoSQL DBs and CSV files. For scalability testing,
we have generated three groups of instances using the BSBM data generation tool, setting the
number of products to be 20K, 200K, and 2M, respectively. Thus, each OBDF specification has
three instances. For space reasons, we show in Figure 3 only the results of evaluating the SQL
translations of 12 SPARQL queries in BSBM for the instances with 200K and 2M products, where
hom and het denote the results of evaluating the SQL queries translated by Ontop over the
homogeneous and heterogeneous situation respectively, and homopt and hetopt denote the results of
evaluating the optimized SQL queries over the two situations. From Figure 3, we can observe that
our optimization strategies are efective for OBDF (e.g, for 200K products and 2, we observe
a reduction from 2942.2 ms to 24.9 ms in query answering time for the homogeneous situation)</p>
    </sec>
    <sec id="sec-4">
      <title>Acknowledgments</title>
      <p>This research has been partially supported by the EU H2020 project INODE (grant agreement
No. 863410), by the Italian PRIN project HOPE (2019-2022), by the Free University of
BozenBolzano through the project MP4OBDA, and by the “Fusion Grant” project HIVE. D. Calvanese
is supported by the Wallenberg AI, Autonomous Systems and Software Program (WASP) funded
by the Knut and Alice Wallenberg Foundation. We thank our colleagues, in particular Francesco
Corcoglioniti, for their discussions and feedback.
[12] L. M. Haas, E. T. Lin, M. A. Roth, Data integration through database federation, IBM</p>
      <p>Systems J. 41 (2002) 578–596.
[13] A. Schwarte, P. Haase, K. Hose, R. Schenkel, M. Schmidt, FedX: Optimization techniques
for federated query processing on linked data, in: Proc. of the 10th Int. Semantic Web Conf.
(ISWC), volume 7031 of Lecture Notes in Computer Science, Springer, 2011, pp. 601–616.
[14] C. Bizer, A. Schultz, The Berlin SPARQL benchmark, Int. J. on Semantic Web and
Information Systems 5 (2009) 1–24.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <article-title>Linking data to ontologies</article-title>
          ,
          <source>J. on Data Semantics</source>
          <volume>10</volume>
          (
          <year>2008</year>
          )
          <fpage>133</fpage>
          -
          <lpage>173</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -77688-
          <issue>8</issue>
          _
          <fpage>5</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cogrel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Komla-Ebri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rezk</surname>
          </string-name>
          , M. RodriguezMuro, G. Xiao,
          <article-title>Ontop: Answering SPARQL queries over relational databases</article-title>
          ,
          <source>Semantic Web J</source>
          .
          <volume>8</volume>
          (
          <year>2017</year>
          )
          <fpage>471</fpage>
          -
          <lpage>487</lpage>
          . doi:
          <volume>10</volume>
          .3233/SW-160217.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Zakharyaschev</surname>
          </string-name>
          ,
          <article-title>Ontology-based data access: A survey</article-title>
          ,
          <source>in: Proc. of the 27th Int. Joint Conf. on Artificial Intelligence (IJCAI)</source>
          ,
          <source>IJCAI Org.</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>5511</fpage>
          -
          <lpage>5519</lpage>
          . doi:
          <volume>10</volume>
          .24963/ijcai.
          <year>2018</year>
          /777.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cogrel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <article-title>Virtual Knowledge Graphs: An overview of systems and use cases</article-title>
          ,
          <source>Data Intelligence</source>
          <volume>1</volume>
          (
          <year>2019</year>
          )
          <fpage>201</fpage>
          -
          <lpage>223</lpage>
          . doi:
          <volume>10</volume>
          .1162/dint_a_
          <fpage>00011</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. Cuenca</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fokoue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Lutz</surname>
          </string-name>
          , OWL 2
          <string-name>
            <given-names>Web</given-names>
            <surname>Ontology Language Profiles (Second Edition</surname>
          </string-name>
          ),
          <source>W3C Recommendation, World Wide Web Consortium</source>
          ,
          <year>2012</year>
          . Available at http://www.w3.org/TR/owl2-profiles/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <article-title>Tractable reasoning and eficient query answering in description logics: The DL-Lite family</article-title>
          ,
          <source>J. of Automated Reasoning</source>
          <volume>39</volume>
          (
          <year>2007</year>
          )
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          . doi:
          <volume>10</volume>
          .1007/s10817-007-9078-x.
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>F.</given-names>
            <surname>Priyatna</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          ,
          <article-title>Formalisation and experiences of R2RML-based SPARQL to SQL query translation using morph</article-title>
          ,
          <source>in: Proc. of the 23rd Int. World Wide Web Conf. (WWW)</source>
          ,
          <year>2014</year>
          , pp.
          <fpage>479</fpage>
          -
          <lpage>490</lpage>
          . doi:
          <volume>10</volume>
          .1145/2566486.2567981.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          , G. De Giacomo,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lembo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Poggi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rodriguez-Muro</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Rosati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Ruzzi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. F.</given-names>
            <surname>Savo</surname>
          </string-name>
          ,
          <article-title>The Mastro system for ontology-based data access</article-title>
          ,
          <source>Semantic Web J</source>
          .
          <volume>2</volume>
          (
          <year>2011</year>
          )
          <fpage>43</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. P.</given-names>
            <surname>Miranker</surname>
          </string-name>
          ,
          <article-title>Ultrawrap: SPARQL execution on relational data</article-title>
          ,
          <source>J. of Web Semantics</source>
          <volume>22</volume>
          (
          <year>2013</year>
          )
          <fpage>19</fpage>
          -
          <lpage>39</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>G.</given-names>
            <surname>Xiao</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Lanti</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Kontchakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Komla-Ebri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Güzel-Kalayci</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Ding</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Corman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Cogrel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <surname>E. Botoeva,</surname>
          </string-name>
          <article-title>The virtual knowledge graph system Ontop</article-title>
          ,
          <source>in: Proc. of the 19th Int. Semantic Web Conf. (ISWC)</source>
          , volume
          <volume>12507</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2020</year>
          , pp.
          <fpage>259</fpage>
          -
          <lpage>277</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -62466-8_
          <fpage>17</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Sheth</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Larson</surname>
          </string-name>
          ,
          <article-title>Federated database systems for managing distributed, heterogeneous</article-title>
          , and autonomous databases,
          <source>ACM Computing Surveys</source>
          <volume>22</volume>
          (
          <year>1990</year>
          )
          <fpage>183</fpage>
          -
          <lpage>236</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>