<!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>Conceptually-grounded Mapping Patterns for Virtual Knowledge Graphs</article-title>
      </title-group>
      <contrib-group>
        <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="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Avigdor Gal</string-name>
          <email>avigal@technion.ac.il</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Davide Lanti</string-name>
          <email>lanti@unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Montali</string-name>
          <email>montali@unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessandro Mosca</string-name>
          <email>mosca@unibz.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Roee Shraga</string-name>
          <email>r.shraga@northeastern.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Free-University of Bozen-Bolzano</institution>
          ,
          <addr-line>Bolzano</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Khoury College of Computer Science, Northeastern University</institution>
          ,
          <addr-line>Boston, Massachusetts</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Technion - Israel Institute of Technology</institution>
          ,
          <addr-line>Haifa</addr-line>
          ,
          <country country="IL">Israel</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Umeå University</institution>
          ,
          <addr-line>Umeå</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Knowledge Graphs (KGs) have been gaining momentum recently in both academia and industry, due to the flexibility of their data model, allowing one to access and integrate collections of data of diferent forms. Virtual Knowledge Graphs (VKGs), a variant of KGs originating from the field of Ontology-based Data Access (OBDA), are a promising paradigm for integrating and accessing legacy data sources. The main idea of VKGs is that the KG remains virtual: the end-user interacts with a KG, but queries are reformulated on-the-fly as queries over the data source(s). To enable the paradigm, one needs to define declarative mappings specifying the link between the data sources and the elements in the VKG. In this work, we try to investigate common patterns that arise when specifying such mappings, building on well-established methodologies from the area of conceptual modeling and database design.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Virtual Knowledge Graphs</kwd>
        <kwd>Ontology-based Data Access</kwd>
        <kwd>Mapping patterns</kwd>
        <kwd>Data Integration</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <sec id="sec-1-1">
        <title>Data integration and access to legacy data sources are key challenges for contemporary organi</title>
        <p>
          zations. In the whole spectrum of data integration and access solutions, the approach based on
Virtual Knowledge Graphs (VKGs) is gaining momentum, especially when the underlying data
sources to be integrated come in the form of relational databases (DBs) [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. VKGs replace the
rigid structure of tables with the flexibility of a graph that incorporates domain knowledge and
is kept virtual, eliminating redundancies. A VKG specification consists of three main
components: (i) data sources (in the context of this paper, constituted by relational DBs), where the
actual data are stored; (ii) a domain ontology, capturing the relevant concepts, relations, and
constraints of the domain of interest; and (iii) a set of mappings, linking the data sources to the
ontology. A critical bottleneck in this setting lies in the definition and management of
mappings. In this work, we focus on this issue by proposing a comprehensive catalog of mapping
DB Schema
        </p>
        <p>DB Design</p>
        <p>Conceptual Model</p>
        <p>(E-R)
VKG Mappings</p>
        <p>OWL Encoding</p>
        <p>OWL 2 QL
DB Ontology</p>
        <p>Alignment
Mappings</p>
        <p>OWL 2 QL
Target Ontology
patterns that emerge when linking data to ontologies. Our catalog is based on the (somehow
reasonable) assumption that both the ontology and the DB schema are derived from a conceptual
analysis of the domain of interest. The resulting knowledge may stay implicit, or may lead to an
explicit representation in the form of a structural conceptual model, which can be represented
using well-established notations such as UML, ORM, or E-R. On the one hand, this conceptual
model provides the basis for creating a corresponding domain ontology through a series of
semantic-preserving transformation steps. On the other hand, it can trigger the design process
that finally leads to the deployment of an actual DB. The whole view is depicted in Figure 1.</p>
      </sec>
      <sec id="sec-1-2">
        <title>Our catalog is built on well-established methodologies and patterns studied in data manage</title>
        <p>ment (e.g., W3C direct mappings (W3C-DM)1 and extensions), data analysis (e.g., algorithms
for discovering dependencies), and conceptual modeling (e.g., relational mapping techniques).</p>
        <p>
          The idea of mapping patterns is not new. For instance, work in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] is closely related to ours,
as it also introduces a catalog of mapping patterns. However, there are some key diferences
with our approach. One diference is that we consider KGs (with ontologies), whereas that work
focuses on property graphs without an ontology. More importantly, in [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] and in the related
literature, patterns are not formalized or grounded to a specific conceptual representation, but
are rather informally specified and discussed in a “by-example” fashion. On the contrary, each
of our patterns explicitly and non-ambiguously specifies the link between the conceptualization
and the DB instance, which is the one arising from applying well-known semantics-preserving
transformations studied in the area of DB design.
        </p>
        <p>
          We argue that this foundational grounding paves the way for a variety of VKG design scenarios,
depending on which information artifacts are available, and which ones must be produced. For
example, our patterns could be used to validate existing mappings, or to automatically generate
(i.e., bootstrap) ontology and mappings when only the DB is available. In fact, specific patterns
have been proposed also in relation to ontology and mapping bootstrapping, for which a variety of
tools and approaches have been developed in the last two decades [
          <xref ref-type="bibr" rid="ref3 ref4 ref5 ref6 ref7">3, 4, 5, 6, 7</xref>
          ]. The approaches in
the literature difer in terms of the overall purposes of bootstrapping (e.g., OBDA, data integration,
ontology learning, checking of DB schema constraints using ontology reasoning), the adopted
ontology and mapping languages (e.g., OWL 2 profiles or RDFS as ontology languages, and R2RML
or custom languages for the specification of mappings), the diferent focus on direct and/or
complex mappings, and the assumed level of automation. The majority of the most recent approaches
        </p>
      </sec>
      <sec id="sec-1-3">
        <title>1http://www.w3.org/TR/rdb-direct-mapping/</title>
        <p>closely follow W3C-DM, deriving ontologies that mirror the structure of the input DB.</p>
      </sec>
      <sec id="sec-1-4">
        <title>The remainder of the paper is structured as follows: Section 2 introduces the notation and</title>
        <p>basic notions on VKGs, Section 3 presents (an extract of) our catalog of mapping patterns, and</p>
      </sec>
      <sec id="sec-1-5">
        <title>Section 4 concludes the paper.</title>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>2. Preliminaries</title>
      <sec id="sec-2-1">
        <title>We use the bold font to denote tuples, e.g., x, y, are tuples. When convenient and non</title>
        <p>
          ambiguous, we treat tuples as sets and use set operators on them. We assume familiarity with
standard notions and languages from DBs [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], such as SQL or E-R diagrams.
        </p>
        <p>
          A VKG specification is a triple ⟨ , ℳ, ⟩ where  is an ontology (or TBox), ℳ a set of
mappings, and  the schema of a DB (with constraints, e.g., primary and foreign keys). In VKGs,
the ontology is formulated in OWL 2 QL 2, but for conciseness we use its Description Logic (DL)
counterpart, DL-Liteℛ [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], here slightly enriched to handle datatypes.
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>We fix the following enumerable, pairwise-disjoint sets: NI of individuals, NL of literal values,</title>
        <p>NC of class names, NP of object property names, and ND of data property names.</p>
        <p>An OWL 2 QL TBox  is a finite set of inclusion axioms of the form  ⊑ ,  ⊑ ,  () ⊑  ,
or  ⊑ , where ,  are classes, ,  are object properties,  is a data property,  is a datatype
expression,  () is a data property range expression, and  is a data property expression. These
are defined according to the following grammar, where  ∈ NC,  ∈ ND,  ∈ NP,  () is a
data property domain expression, and 1, . . . ,  are the RDF datatypes:


→
→
 | ∃ |  ()
⊤ |  | ¬


→
→
 | −
 | ¬


→
→
⊤ | 1 | · · · |
 | ¬

In the rules above, ⊤ denotes the “top” element for concepts and ⊤ the one for data values
(called literals in the RDF terminology). An OWL 2 QL ABox  is a finite set of assertions of the
form (), (, ), or (, ℓ), where  ∈ NC,  ∈ NP,  ∈ ND,  and  are individuals in NI,
and ℓ ∈ NL. We call the pair  = ⟨ , ⟩ an OWL 2 QL Knowledge Graph (KG).</p>
        <sec id="sec-2-2-1">
          <title>2http://www.w3.org/TR/owl2-overview/</title>
          <p>
            Similarly to first-order logic, the semantics of DL-Liteℛ KGs is given through Tarski-style
interpretations ℐ = ⟨Δℐ, Δℐ , · ℐ ⟩, where Δℐ is a non-empty domain of objects, Δℐ is a
nonempty domain of values, and · ℐ is an interpretation function. Table 1 reports the semantics for
the constructs involving datatypes. The other constructs are defined as in standard DL-Liteℛ [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ].
As usual [
            <xref ref-type="bibr" rid="ref10">10</xref>
            ], we say that an interpretation ℐ satisfies a KG , denoted by ℐ |= , if ℐ satisfies
the ABox assertions and the inclusion axioms in .
          </p>
          <p>
            Mappings. Mappings specify how to populate classes and properties of the ontology with
individuals and values constructed from the data in the underlying DB. In other words, mappings
provide the ABox that, together with a given TBox, realizes a KG. In VKGs, the adopted
language for mappings in real-world systems is R2RML3, but for conciseness we use here a more
convenient abstract notation inspired by the literature [
            <xref ref-type="bibr" rid="ref11">11</xref>
            ]: a mapping  is a pair of the form
⟨: (x), : L(t(x))⟩, where (x) is a SQL query with answer variables x over the DB schema ,
called source query, and L(t(x)) is a list of target atoms of the form (t1(x1)), (t1(x1), t2(x2)),
or (t1(x1), t2(x2)), where  ∈ NC,  ∈ NP,  ∈ ND, and t1(x1) and t2(x2) are terms that
we call templates. We express source queries in relational algebra, omitting answer variables
under the assumption that they coincide with the variables used in the target atoms.
          </p>
          <p>
            Intuitively, a template t(x) in the target atom of a mapping corresponds to an R2RML string
template4, and is used to generate an IRI (hence, an object identifier) or an RDF literal, starting
from DB values retrieved by the source query in that mapping. For the examples, we use the
concrete syntax from the Ontop VKG system [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ], in which the source query is expressed in SQL
and each target atom is expressed as an RDF triple pattern with templates. The answer variables
of the source query occurring in the target atoms are distinguished by enclosing them in curly
brackets { · · · }. The following is an example mapping expressed in such syntax:
source SELECT ssn FROM person
target ex:pers/{ssn} a ex:Person .
          </p>
          <p>In the mapping above, the string ex: denotes a URI prefix, e.g., ex:Person is an abbreviation for
the URI http://www.example.com/Person. Such mapping, when applied to a DB instance  of
, populates the class ex:Person with IRIs constructed by replacing the answer variable ssn
occurring in the target atom with the corresponding values assigned to that variable by the
answers to the SQL source query evaluated over . For instance, if the source query returns
two answers that assign to the answer variable ssn respectively the values 1234 and 5678, then
the mapping above produces the following RDF graph (expressed in the Turtle syntax5), stating
that individuals ex:pers/1234 and ex:pers/5678 are both instances of class ex:Person:
ex:pers/1234 a ex:Person .
ex:pers/5678 a ex:Person .</p>
          <p>We denote by ℳ() the virtual ABox constructed through mappings ℳ from a DB .
Given a VKG specification ⟨ , ℳ, ⟩ and a database instance  of , the KG  = ⟨ , ℳ()⟩
is called the Virtual Knowledge Graph of ⟨ , ℳ, ⟩ through . The qualifier “virtual” in the
3http://www.w3.org/TR/r2rml/
4https://www.w3.org/TR/r2rml/#dfn-string-template</p>
        </sec>
        <sec id="sec-2-2-2">
          <title>5http://www.w3.org/TR/turtle/</title>
          <p>
            name derives from the fact that the virtual ABox ℳ() in a VKG setting is not materialized
and stored somewhere. Query answering in VKGs, in fact, is carried out through query rewriting
and query unfolding techniques [
            <xref ref-type="bibr" rid="ref11 ref6">11, 6</xref>
            ]: user queries, expressed in SPARQL 6, get translated
onthe-fly into equivalent SQL queries, which then are directly evaluated against the DB.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Mapping Patterns</title>
      <p>In its basic form, a mapping pattern is a quadruple ⟨, , ℳ,  ⟩, where  is a conceptual
model,  a database schema, ℳ a set of mappings, and  an (OWL 2 QL) ontology. In such
pattern, the pair ⟨, ⟩ puts into correspondence a conceptual representation with one of its
(many) admissible (i.e., formally sound [12, 13]) database schemata, like those prescribed by
well-established database modeling methodologies. The pair ⟨ℳ,  ⟩, instead, is formed by the
DB ontology  , which is the OWL 2 QL encoding7 of the conceptual model , and the set ℳ of
mappings, providing the link between  and  . The term “DB ontology” refers to an ontology
whose concepts and properties reflect the constructs of the conceptual model, mirroring the
structure of the relational database, as displayed in Figure 1.</p>
      <p>Some of the more advanced patterns have a more complex structure, where pairs of conceptual
models and/or pairs of database schemata are used in place of  and , respectively (e.g., the
pattern “SHa” falls in this category). These patterns prescribe specific transformations to be
applied to an input conceptual (resp., DB) schema, in order to obtain an output conceptual
(resp., DB) schema. These output artifacts make explicit the presence of specific structures that
are revealed through the application of the pattern itself. These structures can in turn enable
further applications of patterns.</p>
      <sec id="sec-3-1">
        <title>Presentation Conventions. We show the fragment of the conceptual model that is afected</title>
        <p>by the pattern in E-R notation (adopting the original notation by Chen [14]). To compactly
represent sets of attributes, we use a small diamond in place of the small circle used for single
attributes in Chen’s notation. For cardinality constraints we follow the “look-here” convention,
that is, the cardinality constraint for a role is placed next to the entity participating in that role.</p>
        <sec id="sec-3-1-1">
          <title>In the DB schema, we use  (K, A) to denote a table with name  , primary key consisting of</title>
          <p>the attributes K, and additional attributes A. Given a set U of attributes in  , we denote by
key (U) the fact that U form a key for  . Referential integrity constraints (like, e.g., foreign
keys) are denoted with arcs, pointing from the referencing attribute(s) to the referenced one(s).
For conciseness, we denote sets of the form { | condition} as {}condition . In order to express
datatypes for data properties, we introduce two auxiliary functions: a function  that, given
a DB attribute , returns the DB datatype of , and a function  that associates, to each DB
datatype, a corresponding RDF datatype. For the definition of  , we re-use the Natural Mapping8
correspondence provided by the R2RML recommendation. As a final note, following the
E-Rdiagrams convention, we assume a default (1, 1) cardinality on attributes. For such a reason, in
the DB schema we assume all attributes to be not nullable by default (using the SQL convention,</p>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>6http://www.w3.org/TR/sparql11-query</title>
      </sec>
      <sec id="sec-3-3">
        <title>7Modulo the expressivity of the OWL 2 QL language.</title>
      </sec>
      <sec id="sec-3-4">
        <title>8https://www.w3.org/TR/r2rml/#natural-mapping</title>
        <p>• In case of cardinality (_, 1) on role  (resp.,  ), the primary key of  is restricted to the attributes K (resp., K ). In case both roles
have cardinality (_, 1), either choice for the primary key is made, and the remaining attributes form a non-primary key in the logical schema.
• In case of cardinality (1, _) on role  (resp.,  ), the inclusion dependency K ⊆ K (resp., K ⊆ K ) holds in the schema, and the
first (resp., second) inclusion axiom in the ontology holds in both directions. Note that when the maximum cardinality on role  (resp.,
 ) is 1, the corresponding inclusion dependency is actually a foreign key.</p>
        <p>Schema Relationship with Identifier Alignment (SRa)
KE AE
E
KE AE
E</p>
        <p>K A
R</p>
        <p>R
KE AE
KE AE
E
F
E
F</p>
        <p>KF
KF</p>
        <p>AF
AF
KF AF
F
KF UF
F
AF
∃ ⊑ 
∃− ⊑ 
∃ ⊑ 
∃− ⊑ 
(K, A)  (K , U , A )
(K, U ) key (U )
:  ⋊⋉U =U 
: (t (K), t (K ))</p>
        <p>Schema Hierarchy with Identifier Alignment (SHa)
(K, A) key (K)
 (K , K, A )
(K, A) key (K )
 (K , K, A ) = 
: 
:  (t (K )),
{(t (K ), )}∈K ∪A
 ⊑ 
⎧  () ⊑  , ⎫
⎨  () ⊑  ( ()), ⎬
⎩  ⊑  ()
⎭∈K ∪A
In this pattern, the “alignment” is meant to align the primary identifier used in the child entity to the primary identifier used in the parent
entity. The other two possiblities for applying the pattern are:
• the foreign key in the child entity is the primary key of that entity, and references a non-primary key of the parent entity;
• the foreign key in the child entity is a non-primary key of that entity, and references a non-primary key of the parent entity.
We depict here the most common scenario, where the foreign key points to the primary key of the parent entity.</p>
        <p>Observe that this pattern requires a change in the conceptual model (essentially keeping track of the attributes used for identifying the objects
of the subclass).
declared as “NOT NULL”). An optional attribute  is instead denoted by adding opt() to the</p>
      </sec>
      <sec id="sec-3-5">
        <title>DB schema. Such notation extends in the natural way to a set A of attributes.</title>
        <p>Pattern Catalog.</p>
        <p>Table 2 shows an excerpt of our patterns, which we discuss in detail here.</p>
        <sec id="sec-3-5-1">
          <title>Schema Entity (SE). This fundamental pattern describes the correspondence between an entity</title>
          <p>with a primary identifier and attributes in the DB schema, and a class and data properties in the
ontology. The entity is expressed in the DB schema through a single table  with primary key</p>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>K and other attributes A, as it is the norm in sound DB design practices. The mappings column</title>
        <p>explains how  is mapped into a corresponding class  . The primary key of  is employed
to construct the IRIs of the objects that are instances of  , using a template t specific for
that entity. Each relevant attribute of  is mapped to a data property of  , with suitable
domain and range axioms. A mandatory participation constraint is added to each data property
corresponding to a mandatory attribute.</p>
        <sec id="sec-3-6-1">
          <title>Example: A client registry table containing SSNs of clients, together with their name as</title>
          <p>an additional attribute, is mapped to a Client class using the SSN to construct its objects. In
addition, the SSN and name are mapped to two corresponding data properties.</p>
        </sec>
        <sec id="sec-3-6-2">
          <title>Schema Relationship (SR). This pattern describes the correspondence between a binary relation</title>
          <p>ship without attributes and an OWL 2 QL object property, for the case where such relationship
is represented in the DB as a separate (usually, “many-to-many”) table. This pattern considers
three tables , , and  , for which the set of columns in  is partitioned into two parts</p>
        </sec>
        <sec id="sec-3-6-3">
          <title>KRE and KRF that are foreign keys to  and  , respectively. The identifier of  depends</title>
          <p>on the role cardinalities in the E-R model. The pattern captures how  is mapped to an object
property , using the two parts KRE and KRF of the partition to construct respectively the
subject and the object of the triples in . The templates t and t must be those respectively
used for building instances of classes  corresponding to  and  corresponding to  .</p>
        </sec>
        <sec id="sec-3-6-4">
          <title>Example: An additional table in the client registry stores the addresses of each client, and</title>
          <p>has a foreign key to a table with locations. The former table is mapped to an address object
property, for which the ontology asserts that the domain is the class Person and the range an
additional class Location, which corresponds to the latter table.</p>
          <p>Schema Relationship with Identifier Alignment ( SRa). This pattern is similar to pattern SR, but it
comes with a modifier a, indicating that the pattern can be applied after the identifiers involved
in the relationship have been aligned. The alignment is necessary because the foreign key in 
does not refer to the primary key K of  , but to an alternative key U . Since the instances of
the class  corresponding to  are constructed using the primary key K of  (cf. pattern</p>
        </sec>
        <sec id="sec-3-6-5">
          <title>SE), also the pairs that populate  should refer in their object position to that primary key,</title>
          <p>which can only be retrieved via a join between  and  on the key U .</p>
        </sec>
        <sec id="sec-3-6-6">
          <title>Example: The primary key of the table with locations is not given by the city and street,</title>
          <p>which are used in the table that relates clients to their addresses, but is given by the latitude
and longitude of locations.</p>
          <p>Schema Hierarchy with Identifier Alignment ( SHa). This patterns handles the case where a
hierarchy is specified and the child entity uses a primary identifier diferent from the one in the
parent entity. In this situation, the foreign-key constraint can come in three diferent variants.</p>
        </sec>
        <sec id="sec-3-6-7">
          <title>In the depicted one, the foreign key in  is over a non-primary key KFE . The objects for</title>
          <p>have to be built out of KFE , rather than out of the primary key of  . For this purpose, the
pattern creates a view  identical to  , except that KFE is the primary key. Also the foreign
key relations are preserved. Such view might enable further applications of patterns.</p>
        </sec>
        <sec id="sec-3-6-8">
          <title>Example: An ISA relation between entities Student and Person. Students are identified by</title>
          <p>their matriculation number, whereas persons are identified by their SSN.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusions and Future Work</title>
      <sec id="sec-4-1">
        <title>In this work, we have identified and formally specified a number of mapping patterns emerging</title>
        <p>when linking DBs to ontologies in a typical VKG setting. Our patterns are grounded in
wellestablished practices of DB design, and render explicit the connection between the conceptual
model, the DB schema, and the ontology. We envision that the organization in patterns can
enable a number of relevant tasks, notably mapping bootstrapping for incomplete VKGs.</p>
      </sec>
      <sec id="sec-4-2">
        <title>This work is only a first step, with respect to both categorization of patterns, and their actual</title>
        <p>use. Regarding the former, we are currently extending this initial catalog with more advanced
“data-driven” patterns, which are patterns where the data component needs to be taken into
account. Regarding the latter, we are investigating solutions to specific problems that need to
be addressed when setting-up a VKG scenario, like the problem of mapping bootstrapping.</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Acknowledgments</title>
      <sec id="sec-5-1">
        <title>This research has been partially supported by the Wallenberg AI, Autonomous Systems and</title>
      </sec>
      <sec id="sec-5-2">
        <title>Software Program (WASP) funded by the Knut and Alice Wallenberg Foundation, by the Italian</title>
      </sec>
      <sec id="sec-5-3">
        <title>Basic Research (PRIN) project HOPE, by the EU H2020 project INODE (grant agreement 863410), and by the project MENS, funded through the 4th Call for Research of the Autonomous Province of Bolzano (IN2219).</title>
        <p>[12] R. Hull, Relative information capacity of simple relational database schemas, SIAM J. on</p>
        <p>Computing 15 (1986) 856–886.
[13] R. J. Miller, Y. E. Ioannidis, R. Ramakrishnan, Schema equivalence in heterogeneous
systems: Bridging theory and practice, Information Systems 19 (1994) 3–31.
[14] P. P. Chen, The Entity-Relationship model: Toward a unified view of data, ACM TODS 1
(1976) 9–36.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <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>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>J.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Lassila</surname>
          </string-name>
          ,
          <article-title>Designing and Building Enterprise Knowledge Graphs</article-title>
          , Morgan &amp; Claypool Publishers,
          <year>2021</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
            <surname>F. de Medeiros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Priyatna</surname>
          </string-name>
          , Ó. Corcho,
          <string-name>
            <surname>MIRROR</surname>
          </string-name>
          :
          <article-title>Automatic R2RML mapping generation from relational databases</article-title>
          ,
          <source>in: Proc. ICWE</source>
          , volume
          <volume>9114</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>326</fpage>
          -
          <lpage>343</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.</given-names>
            <surname>Jiménez-Ruiz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Kharlamov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Zheleznyakov</surname>
          </string-name>
          , I. Horrocks,
          <string-name>
            <given-names>C.</given-names>
            <surname>Pinkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. G.</given-names>
            <surname>Skjaeveland</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            <surname>Thorstensen</surname>
          </string-name>
          ,
          <string-name>
            <surname>J. Mora,</surname>
          </string-name>
          <article-title>BootOX: Practical mapping of RDBs to OWL 2</article-title>
          ,
          <source>in: Proc. ISWC</source>
          , volume
          <volume>9367</volume>
          <source>of LNCS</source>
          , Springer,
          <year>2015</year>
          , pp.
          <fpage>113</fpage>
          -
          <lpage>132</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>C.</given-names>
            <surname>Pinkel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Binnig</surname>
          </string-name>
          , E. Kharlamov, P. Haase,
          <article-title>IncMap: Pay as you go matching of relational schemata to OWL ontologies</article-title>
          .,
          <source>in: Proc. 8th Int. Workshop on Ontology Matching (OM)</source>
          , volume
          <volume>1111</volume>
          <source>of CEUR, CEUR-WS.org</source>
          ,
          <year>2013</year>
          , pp.
          <fpage>37</fpage>
          -
          <lpage>48</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <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>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <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>
          , Ultrawrap Mapper:
          <article-title>A semi-automatic relational database to RDF (RDB2RDF) mapping tool</article-title>
          , in
          <source>: Proc. ISWC Posters &amp; Demonstrations Track</source>
          , volume
          <volume>1486</volume>
          <source>of CEUR, CEUR-WS.org</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>S.</given-names>
            <surname>Abiteboul</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Vianu</surname>
          </string-name>
          , Foundations of Databases, Addison Wesley,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <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>JAR</source>
          <volume>39</volume>
          (
          <year>2007</year>
          )
          <fpage>385</fpage>
          -
          <lpage>429</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Calvanese</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>McGuinness</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Nardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. F.</given-names>
            <surname>Patel-Schneider</surname>
          </string-name>
          (Eds.),
          <source>The Description Logic Handbook: Theory, Implementation and Applications</source>
          , 2nd ed., Cambridge University Press,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <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>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>