<!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>Language Integrated Query as a Canonical Data Model for Virtual Data Integration</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Vladimir Klyuchikov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lomonosov Moscow State University</institution>
          ,
          <addr-line>Moscow</addr-line>
          ,
          <country country="RU">Russia</country>
        </aff>
      </contrib-group>
      <fpage>381</fpage>
      <lpage>394</lpage>
      <abstract>
        <p>Nowadays data using by organizations in different business areas are very heterogeneous. This raises the issue of data integration. Two main classes of data models used for data representation can be distinguished: relational (SQL) and non-relational (NoSQL) data models. Data models of the classes differ a lot, for instance, relational models are applied for structured data, and NoSQL models mostly applied for semi-structured data. For the issues of data integration it is required to find a model that can unify relational and NoSQL models. A candidate for such unifying data model is Language Integrated Query - LINQ. The aim of this work is to validate that LINQ can successfully serve as unifying data model in data integration systems intended to integrate both relational and NoSQL data sources.</p>
      </abstract>
      <kwd-group>
        <kwd>Virtual Data Integration</kwd>
        <kwd>Canonical Data Model</kwd>
        <kwd>Language Integrated Query</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>Currently, there is an exponential increase of the volume of experimentally obtained
data in science and industry. The data can be obtained from various sources. For
example, researchers can get scientific data from sensors during the experiments. Credit
banks capture transactions each borrower and generate a credit history, that can be used
in advance. The list of users and personal information, feedbacks and stories in social
networks are also a data that continuously increase volume. The number of
organizations that get the emerged data in different areas is also large. Data that is stored in
various sources like web log files, web pages, documents, etc. possess different levels
of structurization: structured, semi-structured, and unstructured data. Data in sources
can be presented in various data models. Two large classes of data models can be
distinguished: relational (mostly SQL) and NoSQL data models. NoSQL is a group of
models with flexible schemas that can be further classified in four main categories:
keyvalue, column-oriented, document and graph data models. These models are intended
to represent semi-structured data or even schema-less data. NoSQL models are
implemented in respective database management systems. To deal with heterogeneity of data
the respective data integration methods and tools are required.</p>
      <p>
        Frequently, the data sources are scattered and getting them directly from sources and
processing is quite problematic. That data can be localized in data lakes [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] that are
repositories for large quantities and varieties of structured or unstructured data. In data
lakes the data are stored as-is: no initial structuring or transforming data are presumed.
Different kinds of analytics – from dashboards and visualizations to big data
processing, real-time analytics, and machine learning – are provided over data lakes to
guide better decisions. Data lakes can be created for specific cases, such as analytics,
machine learning, real-time data movements or on-premises data movements.
      </p>
      <p>Even if the problem of localization of the initial data is solved, the problem of data
integration from different sources remains urgent. Data integration requires the
following conceptual specifications: a global schema and mappings binding the global
schema and source schemas. The global schema is the integrated schema serving as a
unified representation of schemas of participating data sources. Data integration
methods are implemented within data integration systems (DIS).</p>
      <p>
        Two kinds of data integration can be distinguished: materialized and virtual
integration. Materialized data integration usually proceeds within data warehouses [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]. Each
source can possess a schema that differs from the warehouse (global) schema. The data
are reshaped into global schema using Extract-Transformation-Load (ETL) processes
(that implement conceptual mappings) and stored (materialized) into the warehouse
database.
      </p>
      <p>
        Virtual DISs developed for concrete subject areas are called subject mediators
(mediators, in short). To have access to “fresh” information, a virtual integration system is
preferred to a warehouse since it avoids having to propagate updates of the data source
to the warehouse. The process of answering user queries in virtual DIS is performed as
follows [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]:
• a user poses a query in terms of global schema;
• the query is rewritten into a set of subqueries, each subquery is formulated in
terms of some source schema;
      </p>
      <p>• each subquery is passed to a specific wrapper of the relevant data source to be
executed there;</p>
      <p>• answers returned from the wrappers are collected, combined and returned to the
user.</p>
      <p>
        Three main techniques for definition of conceptual mappings between global and
local schemas for virtual integration are known: Global-as-View (GAV) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ],
Localas-View (LAV) [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] and Global-Local-as-View (GLAV) [
        <xref ref-type="bibr" rid="ref4 ref8">4, 8</xref>
        ].
      </p>
      <p>The canonical model plays a role of a unifying model, in which the source data
models can be represented without loss of information [25].</p>
      <p>
        Various kinds of data models with different semantics are used as canonical models:
relational models [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and their extensions [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], object models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], XML [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ],
hypergraph models [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], Web Ontology Language (OWL) [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], RDF [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] etc. However,
nowadays one of the properties that the canonical model should possess is the ability to
unify the SQL and NoSQL source data models. One of the promising models that
hopefully has this property is the Language Integrated Query (LINQ) that is a part of C#
language standard ([
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], 12.17 Query expressions). Meijer et al. in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] shows the duality
of SQL and NoSQL models using an area of mathematics called category theory. LINQ
is used by Meijer as the representation language to illustrate the duality. LINQ does not
require strict data typing – if in relational models the data is strictly typed, in
nonrelational values are dynamically typed. Also, LINQ does not require preliminary data
normalization, which is required in SQL and which, in this case, is not used in NoSQL
models. Therefore, based on research in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], it can be assumed that LINQ can be
successfully applied as a canonical model in virtual integration of both SQL and NoSQL
data sources. This work aims to confirm this assumption.
      </p>
      <p>To achieve the goal, the following problems have to be solved: (i) selection of
concrete data models to be unified in LINQ; (ii) implementation of DIS prototype based
on the Global-As-View approach and LINQ as the canonical data model, and (iii)
evaluation of DIS via use case in some subject area. In this paper the related work is shortly
overviewed and the current progress of DIS prototype implementation is reported and
illustrated by a use case.</p>
      <p>The remainder of this paper is structured as follows. In Section 2 related work is
discussed. The phases of the DIS prototype development and description of its
components are shown in Section 3. The initial steps on evaluation of the DIS prototype by a
use case are described in Section 4. Finally, Section 5 draws conclusions and points out
future work.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Works</title>
      <p>During recent years quite a number of different systems have been developed to
implement virtual data integration. Various canonical models and conceptual specification
approaches were applied.</p>
      <p>
        In 2000 the Agora [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] system based on Local-As-View approach was developed.
In Agora the XML is used as a canonical model. The system is intended to integrate
relational or XML sources. The queries are posed using XQuery language.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] the Automed system is presented. This DIS is based on a hypergraph data
model and implements Both-As-View approach. In addition to the models accepted by
Agora as source data models, Automed can also accept flat files as a data sources for
processing and accessing it using the AutoMed Intermediate Query Language
(AIQL).
      </p>
      <p>
        A virtual data integration approach is also used in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], where the authors
considers RDF-based Data Integration Framework, and in [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ], where the authors
show how the Ontology Web Language (OWL) can be used as a canonical data
model.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] a virtual data integration system is presented and used for problem solving
in the field of astronomy. As a canonical model the SYNTHESIS [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] language that
is a combined object and frame data model. The SYNTHESIS canonical data model
was intended to unify wide spectrum of data models like XML, relational, RDF etc.
For instance, in [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] the main principles of conceptual mapping of array data model
(ADM) into the SYNTHESIS language are analyzed and illustrated and in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] the
mapping of the RDF language into the SYNTHESIS is considered.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] the MetaMed system used for integration of medical data is proposed. The
extracted metadata are stored using the RDF and are structured by OWL
ontologies. For posing queries the SPARQL language is used. The authors integrate
clinical docu-ments and laboratory results that presented in DASTA format and
imaging examination as DICOM files.
      </p>
      <p>
        In [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] the possibility of using of SQL++ language as a canonical model for the
relational and JSON data sources is analyzed. The authors discuss the use of unifying
language in FORWARD virtual database query processor. SQL, NoSQL,
SQL-onHadoop and NewSQL databases are integrated.
      </p>
      <p>
        In fact, none of known existing DISs support the integration of the whole range of
the NoSQL resources. However, with Mejer's research in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] we can suggest that
LINQ can serve as a unifying data model for a wide range of NoSQL models. LINQ is
a query expression language within the C# language, and there is an advantage of LINQ
over the SQL model: each class in LINQ may either have scalar properties, or contain
arbitrary values, including other rows (or nested collections), that are typical for
NoSQL models. Meijer et al. demonstrate the principles of interpretation of LINQ
queries using category theory. They correlate data structures of SQL and NoSQL models
using a notion of duality from category theory to conclude that NoSQL is a dual to
SQL, and NoSQL can be called coSQL.
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>LINQ as a Canonical Data Model: Validation Steps</title>
      <p>Validation that LINQ can be used as a canonical data model consists of three steps:</p>
      <sec id="sec-3-1">
        <title>1. selection of source data models to be unified in LINQ; 2. implementation of a DIS prototype based on the GAV approach with LINQ as the canonical data model; 3. evaluation of DIS prototype using a concrete use case.</title>
        <p>
          For validation LINQ as a canonical data model there were chosen five heterogeneous
data models: SQLite as a relational model and four NoSQL data models. It is worth to
admit that from a set of various NoSQL model classes the four main classes with
different storage structure and data manipulation facilities were chosen. These classes are
key-value, column-oriented, document and graph data models:
• Key-Value Model. The simplest model in representation is a key-value model. The
representation consists of composition of a key and a value. A key-value NoSQL
implemented systems allow either simple data types (e.g., numerals and strings) or
the use of lists and sets of values of simple types. The databases based on this model
do not support complex queries to be performed on the data stored in database, but
only the search keys. The relationships in terms of reference keys and provides no
referential integrity constraint are not supported in the key-value model [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
• Column-oriented Model. Since the column model is organized in terms of columns
and rows, it can be called as a modification of relational model. The modification is
that the tables in column database can contain not only scalar values, but also nested
tables. In other words, the rows do not store a tuple, but a set of attributes of the same
type, while the set of attributes of a column contains the information from a given
instance. Such feature allows queries to be performed more efficiently, although
when recovering a complete instance, it may become more costly [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
• Document Model. The databases based on the document model store the grouped
data entities in document as an object that are composed by keys and values. Mainly,
the documents are usually serialized in JSON syntax. The keys are generated
randomly by the database or manually at persistence time. The document database
allows complex queries involving different collections of documents. In the model is
necessary that document has a database reference to another database, but it does not
guarantee referential constraint [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
• Graph Model. In the graph model the data items are connected by relationships by
means of a graph structure. The graph model consists of (i) nodes, that correspond
to data instances; (ii) edges, that refer to maintained relationships among node
instances; and (ii) properties that relate to data instances. Edges contain linked input
and output nodes. That feature guarantee referential integrity by ensuring that input
node always makes reference to the output node. The access keys to the nodes are
automatically set by the system. However, it is possible to establish unique
constraints for other node properties [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>The following DBMSs are chosen to be integrated in this work: SQLite1 database
based on a relational model, Accumulo2 as a key-value store, HBase3 as a column store,
MongoDB4 database based on document model and Neo4j5 graph database.</p>
        <p>Mentioned databases are planned to be integrated within a DIS prototype. The
prototype should contain three main components: query rewriting component, DBMS
wrappers supporting selected data models, and data merging component. The whole
architecture that is planned to be realized is shown in Fig. 1.</p>
        <p>
          Query rewriting is the first phase of DIS prototype operation. A query posed by a
user should be rewritten into five subqueries [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. After that rewritten subqueries are
transformed into the source query languages. The wrappers for relational data models
are integrated in some development environments, such as Microsoft Visual Studio or
LinqPad6, the default algorithm is LINQ-to-SQL7 query transformation. The wrappers
1 https://www.sqlite.org/index.html
2 https://accumulo.apache.org/
3 https://hbase.apache.org/
4 https://www.mongodb.com/
5 https://neo4j.com/
6 https://www.linqpad.net/
7 https://docs.microsoft.com/en-gb/dotnet/framework/data/adonet/sql/linq/
for chosen NoSQL models should be additionally developed. The development of these
wrappers is considered as a future work. Transformed subqueries are passed to source
DBMSs and results are directly extracted from the source databases. Since subqueries
return results separately, the obtained data should be merged together in data merging
component and then presented to the user.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Application of LINQ as a Canonical Data Model: a Use Case</title>
      <p>Application and evaluation of LINQ as a canonical data model is illustrated in this
section with a use case and consist of the following steps:
• a use case subject domain selection;
• definition of the global schema and a set of analytical queries that should illustrate
the main LINQ constructs;
• selection of data sources to be deployed into source DBMSs;
• definition of conceptual mappings (based on the Global-as-View approach), that link
the local sources’ schemas and the global schema;
• illustration of query rewriting and data merging processes.</p>
      <sec id="sec-4-1">
        <title>Each step is described further in Sections 4.1–4.5.</title>
        <sec id="sec-4-1-1">
          <title>Subject Domain Selection</title>
          <p>As the domain for the use case the urban statistics were chosen including transports,
demography, environment, immigration, etc. The examples of the subject domain
entities and their attributes for transports and demography are illustrated in Table 1.</p>
          <p>Various regional agencies or ministries can use the regional urban statistics to
analyze the indicators and metrics. The indicators can be used for creating the development
programs to improve the life quality in the region.</p>
        </sec>
        <sec id="sec-4-1-2">
          <title>Global Schema and Analytical Query Example</title>
          <p>After selection of the subject domain, the global schema for the domain should be
defined. The global schema is used for aggregating all data obtained from heterogeneous
data sources.</p>
          <p>The global schema should be defined using the canonical model. Since the LINQ is
a constituent of the C# standard, the entities (classes) and attributes should be defined
using C#. An example for the definition of the classes births and deaths is shown in
Table 2.</p>
        </sec>
        <sec id="sec-4-1-3">
          <title>Entities</title>
          <p>Demography
births
deaths
population
unemployment
immigration_by_nationality
most_frequent_names
most_frequent_baby_names
Transports
accidents
bus_stops
transports
year, district_code, district_name, neighborhood_code,
neighborhood_name, gender, number
year, district_code, district_name, neighborhood_code,
neighborhood_name, age, number
year, district_code, district_name, neighborhood_code,
neighborhood_name, gender, age, number
year, month, gender, demand_occupation, number
year, district_code, nationality, number
order, name, gender, decade, frequency
order, name, gender, year, frequency
id, district_name, neighborhood_name, street, weekday,
month, day, hour, part_of_the_day, mild_injuries,
serious_injuries, victims, vehicles_involved, longitude, latitude
code, transport, longitude, latitude, bus_stop, district_name,
neighborhood_name
code, transport, longitude, latitude, station, district_name,
neighborhood_name</p>
          <p>In order to validate that LINQ can be used as a canonical data model, it is necessary
to define a certain set of queries that covers the capabilities of the LINQ language. As
an example, consider a LINQ query that contains filter (where clause), join operation,
aggregation functions sum, sub-queries and mathematical operation in select clause:
var demogr = from b in births
join d in deaths on b.year equals d.year
where b.year&lt;=2017
select new {y = b.year, brt = b.sum(n=&gt;n.number),
dth = d.sum(n=&gt;n.number),
diff = b.sum(n=&gt;n.number) - d.sum(n=&gt;n.number),
city = b.city};</p>
          <p>This query should return the annual number of births and deaths from two separated
classes (both classes should be joined) and the difference between births and deaths
(rate of natural increase). The example uses births and deaths classes as data sources.</p>
          <p>This paper considers only a fragment of a global schema that should be used in
analytical queries. A definition of the whole global schema is a future work.</p>
        </sec>
        <sec id="sec-4-1-4">
          <title>Data Sources</title>
          <p>The raw data were extracted from the open data banks or previously developed
databases. Data on events and statistics in Barcelona8 are stored in SQLite relational
database. In Neo4j (graph DBMS) a database with the events and statistics in Madrid9 was
created, the data on Bilbao10 is going to be created in MongoDB (document DBMS).
Data and statistics on Malaga11 are going to be presented in HBase (column store), data
on Seville12 are going to be stored in Accumulo (key-value store).</p>
          <p>As the query from Section 4.2 requires births and deaths entities, the parts of
diagrams from relational and graph databases are illustrated in Fig. 2. The postfix _rel
means that the entity is from relational database. Postfix _gr denotes entities from graph
database.</p>
          <p>On the left side of the Fig. 2 a part of the relational schema is presented: births_rel
and deaths_rel entities. Each entity has a list of attributes that have explicit conducted
data types. On the right side a visualization of the graph database is presented. The blue
nodes are marked with births_gr label and orange nodes are marked with deaths_gr
label. Since Neo4j does not show all labels of the nodes, there were shown only one
label for each node. Other stored data of each label are hidden. In blue nodes the gender
labels are shown, and in orange nodes the age category of deaths is pointed (the age
label). Blue and orange nodes are linked by brt_dth relationships if year, district_name
and neighborhood_name attribute values of births_gr and deaths_gr entities are equal.</p>
        </sec>
      </sec>
      <sec id="sec-4-2">
        <title>8 https://opendata-ajuntament.barcelona.cat/en</title>
        <p>9 https://datos.madrid.es/portal/site/egob/
10 https://www.bilbao.eus/opendata/es/formatos
11 https://datosabiertos.malaga.eu/dataset
12 http://sevilla-idesevilla.opendata.arcgis.com/datasets
The local schema definitions for document, column and key-value models are
planned for the future work.</p>
        <sec id="sec-4-2-1">
          <title>Conceptual Mappings</title>
          <p>
            To define the conceptual mappings, the correspondences of entities and attributes
between local and global schemas should be established first. The examples of
correspondences between local (relational) and global schema elements are illustrated in
Fig. 3.
According to GAV approach [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ], the global schema entities should be represented
as views over the local schema using the canonical data model. The correspondences
can be produced either manually by an expert or automatically based on various
approaches: machine learning approach [
            <xref ref-type="bibr" rid="ref5">5</xref>
            ], linguistic processing [26] etc.
          </p>
          <p>For example, the conceptual mappings between births and deaths entities in global
schema and births_rel and deaths_rel entities in local schema (SQL model) can be
defined in the following way:
var births = from b in births_rel
select new {year = b.Year, district_name = b.District_Name,
neighborhood_name = b.Neighborhood_Name,
gender = b.Gender, num = b.Number, city = “Barcelona”};
var deaths = from d in deaths_rel
select new {year = d.Year, district_name = d.District_Name,
neighborhood_name = d.Neighborhood_Name,
age = d.Age, num = d.Number, city = “Barcelona”};</p>
          <p>City is not the attribute of any local source and its value is generated within views.
The value of city attribute is a constant that identifies the data source – the city to which
the extracted data refer. As it is described earlier, the database based on relational model
stores data on Barcelona.</p>
          <p>Conceptual mappings for the graph database look almost the same, the only
difference is that births_gr and deaths_gr entities are used instead of births_rel and
deaths_rel.</p>
          <p>Conceptual mappings can be constructed manually by an expert or in
semi-automated way. This paper discusses a simple example in which conflict situations do not
arise during construction of conceptual mappings. In general, various types of conflicts
such as data type mismatch or structural conflicts requiring combination of several
attributes of a local schemas into an attribute of the global schema can occur. Dealing
with conceptual mappings in case of conflicts is a future work.</p>
        </sec>
        <sec id="sec-4-2-2">
          <title>Query Rewriting, Transformation and Data Merging</title>
          <p>
            Query Rewriting. First, the query from Section 4.2 should be rewritten. The query
rewriting is processed using the views from Section 4.4 on the basis the GAV approach
[
            <xref ref-type="bibr" rid="ref14">14</xref>
            ]. For instance, the rewritten query to the relational database is formed by replacing
births and deaths by the bodies of views from Section 4.2 as nested queries:
var demogr =
from b in (from b in births_rel
select new {year = b.Year, district_name = b.District_Name,
neighborhood_name = b.Neighborhood_Name,
gender = b.Gender, num = b.Number, city = “Barcelona”})
join d in (from d in deaths_rel
select new {year = d.Year, district_name = d.District_Name,
neighborhood_name = d.Neighborhood_Name,
age = d.Age, num = d.Number, city = “Barcelona”})
on b.year equals d.year
where b.year&lt;=2017
select new {y = b.year, brt = b.sum(n=&gt;n.num),
dth = d.sum(n=&gt;n.num),
diff = b.sum(n=&gt;n.num)- d.sum(n=&gt;n.num),
city = b.city};
          </p>
          <p>The rewritten query for the graph database looks almost the same. The only
difference is that in the rewritten query for the graph database that the value of the city
attribute is “Madrid” instead of “Barcelona”.</p>
          <p>Query Transformation. To extract the data from local sources rewritten queries
should be transformed into the source query languages. For instance, the rewritten
LINQ query should be transformed in relational data model wrapper as follows:
SELECT b.year as y, sum(b.num) as brt, sum(d.num) as dth,</p>
          <p>sum(b.num) - sum(d.num) as diff, b.city
FROM</p>
          <p>(SELECT b.Year as year, b.District_Name as district_name, b.Neighborhood_Name
as neighborhood_name, b.Gender as gender, b.Number as num, “Barcelona” as city
FROM births_rel b) b</p>
          <p>INNER JOIN
(SELECT d.Year as year, d.District_Name as district_name, d.Neighborhood_Name
as neighborhood_name, d.Age as age, d.Number as num, “Barcelona” as city
FROM deaths_rel d) d ON b.year = d.year
WHERE b.year &lt;=2017
GROUP BY b.year, b.city</p>
          <p>Considering that the attribute value city = “Madrid” in the graph data source, the
rewritten LINQ query is transformed into Cypher graph query language (supported by
Neo4j) as follows:</p>
          <p>MATCH (b:births_gr)</p>
          <p>WITH [{year: b.Year, district_name: b.District_Name, neighborhood_name:
b.Neighborhood_Name, gender: b.Gender, num: b.Number, city: "Madrid"}] as b
UNWIND b as b
MATCH (d:deaths_gr)</p>
          <p>WITH [{year: d.Year, district_name: d.District_Name, neighborhood_name:
d.Neighborhood_Name, age: d.Age, num: d.Number, city: "Madrid"}] as d
UNWIND d as d
MATCH (b)--(d)</p>
          <p>RETURN b.year as y, sum(b.num) as brt, sum(d.num) as dth,
sum(b.num)sum(d.num) as diff, b.city
Data Merging. Finally, the results extracted from sources should be merged in data
merging component. For instance, the query to the relational database returns the result
that is shown on Fig. 4(a), the query to the graph database returns the result that is
shown on Fig. 4 (b). The result presented to a user in this case is just a merge of 4(a)
and 4(b) results.
a)
5
b)</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions and Future Work</title>
      <p>This paper presents an approach for validation that Language Integrated Query (LINQ)
is able to serve as a canonical data model for virtual data integration in the world of
SQL and NoSQL databases. The architecture of DIS to validate LINQ as a canonical
model is presented. A use case intended to illustrate key steps of data integration is
provided. The subject domain of the use case is defined, conceptual mappings between
source schemas and the global schema are illustrated as well as query rewriting and
transformation for the relational and Neo4j data models.</p>
      <p>Future work includes development of wrappers for chosen NoSQL models as well
as query rewriting and data merging components of the prototype DIS. Complete use
case description including global and local schemas and their conceptual mappings
accompanied by a set of comprehensive analytical queries and their results is also a future
work.</p>
    </sec>
    <sec id="sec-6">
      <title>Acknowledgements</title>
      <p>This work is supervised by Sergey Stupnikov, lead research scientist at the Federal
Research Center “Computer Science and Control” of Russian Academy of Sciences.
system. In: Chen, Q., Huan, J., Xu, Y., Zhang, T., Wang, L. (eds.) 5th International
Conference on Biomedical Engineering and Informatics (BMEI 2012), pp. 1270–1274. IEEE,
Chongqing, China (2012).
25. Zakharov, V.N., Kalinichenko, L.A., Sokolov, I.A., and Stupnikov, S.A.: Development of
canonical information models for integrated information systems. Informatics and Its
Applications 1 (2), 15–38 (2007).
26. Zhang, Y., Wang, X., Lai, S., He, S., Liu, K., Zhao, J., and Lv, X.: Ontology matching with
word embeddings. In: Chinese Computational Linguistics and Natural Language Processing
Based on Naturally Annotated Big Data, 34–45 (2014).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Amini</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saboohi</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Nematbakhsh</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          :
          <article-title>An RDF-based data integration framework</article-title>
          .
          <source>In: National Electrical Engineering Conference (NEEC)</source>
          <year>2008</year>
          ,
          <string-name>
            <surname>Najafabad</surname>
          </string-name>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Boyd</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kittivoravitkul</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lazanitis</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McBrien</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Rizopoulos</surname>
          </string-name>
          , N.:
          <article-title>AutoMed: a BAV data integration system for heterogeneous data sources</article-title>
          . In: Persson A.,
          <string-name>
            <surname>Stirna</surname>
            <given-names>J</given-names>
          </string-name>
          . (eds)
          <article-title>Advanced Information Systems Engineering</article-title>
          .
          <source>CAiSE 2004. Lecture Notes in Computer Science 3084</source>
          . Springer, Berlin, Heidelberg (
          <year>2004</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Briukhov</surname>
            ,
            <given-names>D.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vovchenko</surname>
            ,
            <given-names>A. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zakharov</surname>
            ,
            <given-names>V.N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhelenkova</surname>
            ,
            <given-names>O.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalinichenko</surname>
            ,
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martynov</surname>
            ,
            <given-names>D.O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skvortsov</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Stupnikov</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          :
          <article-title>The middleware architecture of the subject mediators for problem solving over a set of integrated heterogeneous distributed information resources in the hybrid grid-infrastucture of virtual observatories</article-title>
          .
          <source>Informatics and Applications</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ),
          <fpage>2</fpage>
          -
          <lpage>34</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Briukhov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalinichenko</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Martynov</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Source registration and query rewriting applying LAV/GLAV techniques in a typed subject mediator</article-title>
          .
          <source>In: Proceedings of the 9th Russian Conference on Digital Libraries</source>
          , RCDL'
          <year>2007</year>
          ,
          <fpage>253</fpage>
          -
          <lpage>262</lpage>
          . Pereslavl,
          <string-name>
            <surname>Russia</surname>
          </string-name>
          (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Bulygin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Combining lexical and semantic similarity measures with machine learning approach for ontology and schema matching problem</article-title>
          .
          <source>In: Proceedings of the XX International Conference “Data Analytics</source>
          and
          <article-title>Management in Data Intensive Domains” (DAMDID/RCDL'</article-title>
          <year>2018</year>
          ),
          <fpage>245</fpage>
          -
          <lpage>249</lpage>
          , Moscow (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. European Computer Machinery Association. Standard ECMA-334: C#
          <article-title>Language Specification, 5th edition</article-title>
          ,
          <year>December 2017</year>
          . https://www.ecma-international.org/ publications/files/ECMA-ST/ECMA-334.pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Freitas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Souza</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Salgado</surname>
          </string-name>
          , A.:
          <article-title>conceptual mappings to convert relational into NoSQL Databases</article-title>
          . In: Hammoudi,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Maciaszek</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.A.</given-names>
            ,
            <surname>Missikoff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.M.</given-names>
            ,
            <surname>Camp</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            ,
            <surname>Cordeiro</surname>
          </string-name>
          ,
          <string-name>
            <surname>J</surname>
          </string-name>
          . (eds.) 18th
          <source>International Conference on Enterprise Information Systems (ICEIS</source>
          <year>2016</year>
          ),
          <volume>1</volume>
          ,
          <fpage>174</fpage>
          -
          <lpage>181</lpage>
          . SCITEPRESS, Rome (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Friedman</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Levy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Millstein</surname>
          </string-name>
          , T.D.:
          <article-title>Navigational plans for data integration</article-title>
          .
          <source>In: Proceedings of the National Conference on Artificial Intelligence (AAAI)</source>
          ,
          <fpage>67</fpage>
          -
          <lpage>73</lpage>
          . AAAI Press/The MIT Press (
          <year>1999</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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>
          :
          <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>
          (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Hai</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Quix</surname>
            , and
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhou</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Query rewriting for heterogeneous data lakes</article-title>
          . In: Benczúr A.,
          <string-name>
            <surname>Thalheim</surname>
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Horváth</surname>
            <given-names>T</given-names>
          </string-name>
          . (eds) Advances
          <source>in Databases and Information Systems. DBIS 2018. Lecture Notes in Computer Science</source>
          <volume>11019</volume>
          ,
          <fpage>35</fpage>
          -
          <lpage>49</lpage>
          . Springer, Cham (
          <year>2018</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Kalinichenko</surname>
            ,
            <given-names>L.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stupnikov</surname>
            ,
            <given-names>S.A.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Martynov</surname>
            ,
            <given-names>D.O.</given-names>
          </string-name>
          :
          <article-title>SYNTHESIS: A language for canonical information modeling and mediator definition for problem solving in heterogeneous information resource environments</article-title>
          .
          <source>IPI RAN</source>
          , Moscow (
          <year>2007</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Khine</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Data lake: a new ideology in big data era</article-title>
          . In: Guchi,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Chen</surname>
          </string-name>
          , T. (eds.)
          <source>2017 4th Annual International Conference on Wireless Communication and Sensor Network (WCSN</source>
          <year>2017</year>
          )
          <volume>17</volume>
          ,
          <string-name>
            <surname>Wuhan</surname>
          </string-name>
          (
          <year>2017</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Kimball</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Ross</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Data Warehouse Toolkit. 3nd edn</article-title>
          . John Wiley &amp; Sons, Inc., Indianapolis, IN (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Data integration: a theoretical perspective</article-title>
          .
          <source>In: Proceedings of the 21st ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems</source>
          ,
          <volume>233</volume>
          -
          <fpage>246</fpage>
          . Madison, Wisconsin, USA (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Manolescu</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Florescu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kossmann</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xhumari</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Olteanu</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Agora: living with XML and relational</article-title>
          . In: El Abbadi,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Brodie</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Chakravarthy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Dayal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Kamel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Schlageter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Whang</surname>
          </string-name>
          , K.-Y. (eds.):
          <source>Proceedings of 26th International Conference on Very Large Data Bases (VLDB</source>
          <year>2000</year>
          ),
          <fpage>623</fpage>
          -
          <lpage>626</lpage>
          .
          <string-name>
            <surname>Cairo</surname>
          </string-name>
          (
          <year>2000</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Meijer</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bierman</surname>
          </string-name>
          , G.:
          <article-title>A co-Relational Model of Data for Large Shared Data Banks</article-title>
          .
          <source>Microsoft Research. ACMqueue</source>
          <volume>3</volume>
          (
          <issue>9</issue>
          ),
          <fpage>1</fpage>
          -
          <lpage>19</lpage>
          (
          <year>2011</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Ong</surname>
            ,
            <given-names>K. W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papakonstantinou</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vernoux</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>The SQL++ Unifying Semi-structured Query Language, and an Expressiveness Benchmark of SQL-on-Hadoop, NoSQL</article-title>
          and NewSQL Databases. CoRR, abs/1405.3631 (
          <year>2014</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Rodríguez-Muro</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kontchakov</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Zakharyaschev</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Ontology-Based Data Access: Ontop of Databases</article-title>
          . In: Alani H. et al. (eds):
          <source>The Semantic Web - ISWC 2013. ISWC 2013. Lecture Notes in Computer Science</source>
          <volume>8218</volume>
          ,
          <fpage>558</fpage>
          -
          <lpage>573</lpage>
          . Springer, Berlin, Heidelberg (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Skvortsov</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          :
          <article-title>Mapping of RDF Data Model into the Canonical Model of Subject Mediators</article-title>
          . In: Smirnov,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Stupnikov</surname>
          </string-name>
          ,
          <source>S. Proceedings of the 15th All-Russian Scientific Conference “Digital Libraries: Advanced Methods and Technologies, Digital Collections” (RCDL</source>
          <year>2013</year>
          ),
          <fpage>95</fpage>
          -
          <lpage>101</lpage>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Stupnikov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Kalinichenko</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Extensible Unifying Data Model Design for Data Integration in FAIR Data Infrastructures</article-title>
          . In: Manolopoulos Y.,
          <string-name>
            <surname>Stupnikov</surname>
            <given-names>S</given-names>
          </string-name>
          . (eds)
          <article-title>: Data Analytics and Management in Data Intensive Domains (DAMDID/RCDL 2018)</article-title>
          .
          <source>Communications in Computer and Information Science</source>
          <volume>1003</volume>
          ,
          <fpage>17</fpage>
          -
          <lpage>36</lpage>
          . Springer, Cham (
          <year>2019</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Stupnikov</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Unification of an array data model for the integration of heterogeneous information resources</article-title>
          . In: Znamenskij,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Kogalovsky</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>Proceedings of the 14th All-Russian Scientific Conference "Digital libraries: Advanced Methods and Technologies, Digital Collections"</article-title>
          (RCDL
          <year>2012</year>
          ),
          <fpage>42</fpage>
          -
          <lpage>52</lpage>
          . Pereslavl-Zalessky (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madnick</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Context mediation in the Semantic Web: handling OWL Ontology and Data Disparity Through Context Interchange</article-title>
          . In: Bussler,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Tannen</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Fundulaki</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          <source>2nd international workshop on semantic web and databases</source>
          <year>2004</year>
          , LNCS
          <volume>3372</volume>
          ,
          <fpage>140</fpage>
          -
          <lpage>154</lpage>
          . Springer, Berlin, Heidelberg (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Theodoratos</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Semantic integration and querying of heterogeneous data sources using a hypergraph data model</article-title>
          .
          <source>In: 19th British National Conference on Databases (BNCOD)</source>
          ,
          <fpage>166</fpage>
          -
          <lpage>182</lpage>
          . Springer, Heidelberg (
          <year>2002</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Vcelak</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kratochvil</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleckova</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , and
          <string-name>
            <surname>Rohan</surname>
          </string-name>
          , V.:
          <article-title>MetaMed - Medical meta data extraction and manipulation tool used in the semantically interoperable research information</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>