<!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>
      <journal-title-group>
        <journal-title>M. Grassi);</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Pipelines with Chimera</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Marco Grassi</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario Scrocca</string-name>
          <email>mario.scrocca@cefriel.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alessio Carenini</string-name>
          <email>alessio.carenini@cefriel.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Comerio</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Irene Celino</string-name>
          <email>irene.celino@cefriel.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Cefriel - Politecnico di Milano</institution>
          ,
          <addr-line>Milan</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>KGCW'23: 4th International Workshop on Knowledge Graph Construction</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2023</year>
      </pub-date>
      <volume>000</volume>
      <fpage>0</fpage>
      <lpage>0002</lpage>
      <abstract>
        <p>In a multi-stakeholder ecosystem, data exchange is not suficient and semantic interoperability should be achieved to ensure diferent information systems can communicate without loss of meaning. A semantic conversion procedure relying on a reference ontology can enable an eficient conversion between data formats sharing common semantics, whilst generating an integrated and interoperable knowledge graph. The Chimera framework proposes a flexible and configurable solution to address diferent requirements for the integration of semantic converters across heterogeneous systems. Chimera minimises the efort required to specify custom semantic data transformation pipelines, ofering diferent ready-to-use components to integrate heterogeneous data sources, manipulate knowledge graphs, and execute declarative mapping rules for their construction and exploitation. We present the Chimera framework as a resource for the Semantic Web community and we demonstrate its usage considering a challenging use case in the transportation domain.</p>
      </abstract>
      <kwd-group>
        <kwd>Semantic conversion</kwd>
        <kwd>Declarative mappings</kwd>
        <kwd>Data interoperability</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>
        The issue of data interoperability is a significant concern when operating within a
multistakeholder ecosystem where diverse actors employ heterogeneous data formats, specifications,
and semantics. The ability to exchange data without any loss of meaning among communicating
parties is an essential objective, but it is notoriously challenging to achieve also due to diferent
requirements for the integration of heterogeneous information systems. Chimera1, is an
opensource framework for the definition of composable semantic data transformation pipelines.
The proposed solution addresses data interoperability issues by leveraging Semantic Web
technologies to extract and harmonise the intended semantics of heterogeneous data sources
by means of transformation procedures. The framework is designed as an extendable set of
building blocks to simplify the configuration of semantic data transformations and to provide
lfexibility in addressing diverse scenarios and requirements. Chimera, originally designed to
support the conversion use case presented in [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], has been completely refactored to address
CEUR
Workshop
Proceedings
more generic requirements and to facilitate its extensibility and reusability. In this paper, we
discuss the main concepts behind Chimera, how it can be reused for diferent use cases, and we
demonstrate its application to support a challenging scenario in the transportation domain. The
remainder of the paper is organised as follows: Section 2 provides an analysis of the challenges
associated with the semantic data transformation process, Section 3 presents the Chimera
framework and describes the resources available, Section 4 exemplifies the usage of Chimera,
Section 5 compares Chimera with existing alternative solutions, Section 6 presents conclusions
and future work.
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Problem description</title>
      <p>The challenge addressed by Chimera is twofold and concerns how to support data
interoperability between diferent actors relying on diferent data formats (Challenge 1) and heterogeneous
information systems with diferent functional requirements for data exchange (Challenge 2). In
this section, we explain the two challenges and we exemplify them in a concrete and complex
usage scenario.</p>
      <sec id="sec-2-1">
        <title>2.1. Challenge 1: diferent data formats</title>
        <p>The commonly arising challenge is about how to deal with heterogeneous data formats with
varying semantic interpretations employed by multiple actors within the same domain. This
phenomenon may arise due to several factors that make the establishment of standards dificult,
for example, the persistence of legacy applications or the usage of proprietary data formats.</p>
        <p>
          To address this first challenge, Chimera adopts a semantic any-to-one centralized mapping
approach [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] relying on a global conceptual model, in which each stakeholder only needs to
define mappings to/from the global conceptual model. The reasons for adopting such a solution
and its advantages are explained in detail in other works, including [
          <xref ref-type="bibr" rid="ref1 ref3">1, 3</xref>
          ].
        </p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2. Challenge 2: heterogeneous systems</title>
        <p>
          The problem of interconnecting heterogeneous information systems (which also employ
different data formats) is usually addressed by defining custom solutions (e.g., ad-hoc software
components), which are hard to maintain and can show scalability issues. The second challenge
deals with the fact that there is no single interoperability problem and, therefore, it is not
possible to define a single interoperability solution [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ].
        </p>
        <p>A flexible and configurable set of specialized tools is needed to cope with diferent functional
requirements to implement data interoperability across heterogeneous information systems.
While a semantic conversion process can ofer a valid solution to define transformations across
data formats, the integration of such processes considering diferent data sources and sinks is
something that requires a case-by-case analysis (e.g., protocols adopted and interfaces exposed).
Additional requirements, that are not strictly related to the conversion process may be defined,
such as the validation of the produced data or their processing by external systems.</p>
        <p>To address this second challenge, Chimera is built on top of a well-known open-source
integration framework, which was already conceived to easily configure the integration of
various systems consuming or producing data according to heterogeneous requirements.</p>
      </sec>
      <sec id="sec-2-3">
        <title>2.3. Example scenario: multimodal trafic management</title>
        <p>As an example, we consider in this paper a use case emerging from the European H2020
TANGENT project2 in which Chimera is used to define a solution for data harmonisation and
fusion in the context of multimodal trafic management.</p>
        <p>In this scenario, the objective is to implement a real-time integrated dashboard for city and
transport authorities that could enable intelligent incident detection and thus facilitate prompt
intervention. To this end, real-time data from multiple data sources such as semaphores, parking
sensors and trafic sensors need to be collected and integrated. Additionally, data related to
planned events, such as concerts or sporting events need to be taken into account because they
have a large and predictable efect on trafic conditions.</p>
        <p>The definition of a semantic conversion process should consider the following requirements:
data from sensors and devices are collected through a Kafka 3 deployment but are represented
using heterogeneous data formats; additional data on planned events are stored as datasets in a
data catalogue and should be accessed through its REST API; harmonised data should be stored
for additional processing by other systems (e.g., for the training of machine learning models on
historical data); a monitoring platform is used to track relevant events about the process; the
dashboard receives data through a WebSocket expecting a specific JSON format.</p>
        <p>The presented scenario for multimodal trafic management highlights the need for data
interoperability considering diferent data formats (Challenge 1) and a good number of custom
requirements that can be elicited for enabling data interoperability across heterogeneous systems
(Challenge 2). After presenting in detail the Chimera framework, we will explain how Chimera
can successfully address and solve the requirements from this scenario.</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3. Chimera</title>
      <p>The Chimera framework aims at addressing the two mentioned challenges by (i) providing
an eficient set of software components to implement an any-to-one centralized mapping
approach through Semantic Web technologies, and (ii) integrating these components in a broader
ecosystem facilitating the implementation and deployment of semantic data transformation
pipelines among heterogeneous systems. The design of the Chimera framework follows a
modular and low-code approach to minimise the efort required to specify and configure a
pipeline for diferent scenarios.</p>
      <sec id="sec-3-1">
        <title>3.1. Building Blocks for a Semantic Data Transformation Pipeline</title>
        <p>
          The decision of the modular approach is based on the assumption that a semantic data
transformation pipeline could be broken down into a set of smaller, composable and reusable building
2https://tangent-h2020.eu/
3https://kafka.apache.org/
blocks. Moreover, the aim is to facilitate the extensibility of the framework to integrate
additional blocks. We defined four types of building blocks for a semantic data transformation
pipeline (shown in Figure 1):
1. Graph Construction. Data from heterogeneous sources is converted to RDF according
to a reference ontology. The conversion process from a specific data format to RDF, also
known as lifting, can be handled by employing diferent approaches for knowledge graph
construction [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
2. Graph Transformation. An RDF knowledge graph can be augmented by means of
graph operations such as: adding RDF triples to the graph, generating a new graph
through SPARQL Construct queries, and applying inference considering the reference
ontology.
3. Graph Validation. The validation of the graph (e.g., by using SHACL [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] shapes) can be
useful and necessary to validate the correctness of the implemented procedure and/or of
the ingested data.
4. Graph Exploitation. The information in an RDF knowledge graph is extracted and
converted to a specific target data format through a lowering process.
        </p>
        <p>Despite being presented in a specific order, each operation is independent from the others and
can be used to support diferent pipelines. For example, the result of the pipeline can be an
RDF graph constructed and then transformed (thus omitting a validation and an exploitation
step), or a pipeline can be implemented only to validate the RDF graph exchanged between two
systems.</p>
        <p>
          We implemented Chimera on top of Apache Camel4, a Java integration framework to facilitate
the integration with various systems consuming or producing data. We chose Camel to inherit
its features and advantages: not only it is a completely open-source, configurable and extensible
solution, but it also implements best practices and patterns to solve the most common integration
problems, including the Enterprise Integration Patterns (EIP) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]. Finally, being a robust and
stable project, Camel supports out-of-the-box several components, runtimes and formats to
access and integrate a large set of existing systems and environments.
        </p>
        <p>Apache Camel relies on the basic concept of Route defining a certain logic to load, extract,
integrate, transform and output data. Each Route is a pipeline composed of a set of components
that are applied in a specific sequence to a certain Exchange, i.e., an entity going through a
Route. The Exchange is identified by an identifier and it is similar to an envelope, it contains the
messages (e.g., the data being processed) but also a set of properties that can be used to carry
an additional state during the Route execution.</p>
        <p>The basic idea of Chimera is to define additional components 5 for Apache Camel supporting
operations on an RDF graph that is passed along the Camel Route within an Exchange. All
Chimera components use the RDF4J library6 to process and handle RDF graphs. The RDF Graph
in Chimera pipelines is an abstraction that can refer to a local knowledge graph (in-memory,
iflesystem), or a remote graph stored in a triplestore or accessible through a SPARQL endpoint.
Chimera components can be used also in conjunction with already available and established
components from the Apache Camel framework7 and/or custom components defined by the
user (e.g., for a custom pre-processing). Moreover, the definition of additional components for
each graph operation is possible (e.g., the integration of an additional solution for knowledge
graph construction) by simply leveraging the RDF Graph abstraction.</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2. Chimera components</title>
        <p>At the time of writing, Chimera provides the following set of components to enable the graph
building blocks described above:
Graph Component: The component implements the Graph Transformation and Graph
Validation building blocks and allows for the following operations:</p>
        <sec id="sec-3-2-1">
          <title>Graph Get: accesses an existing RDF Graph to be used in the pipeline.</title>
          <p>Graph Add: adds RDF triples from one or more resources to the RDF Graph.
Graph Construct: applies a SPARQL Construct query to the RDF Graph giving the user
the possibility of adding the generated triples to the previous RDF Graph or to a
new RDF Graph.</p>
          <p>
            Graph Inference: enables inference on the RDF Graph considering a given ontology
(currently RDFS [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] is supported).
          </p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Graph SHACL: validates the RDF Graph using a (set of) SHACL shape(s).</title>
          <p>Graph Detach: clears the RDF Graph and/or closes the pending connections.
Graph Dump: writes the RDF Graph to a file in a user-specified format, e.g. Turtle, N3
and others.
5https://camel.apache.org/manual/writing-components.html
6https://rdf4j.org/
7https://camel.apache.org/components/3.20.x/index.html</p>
          <p>All the operations implemented by the graph component support the execution
considering specific named graphs.</p>
          <p>
            RML Component: The component implements the Graph Construction building block and
consists of a lifting block enabling the execution of RML [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ] mappings for knowledge
graph construction from heterogeneous data sources. The component integrates the
r m l m a p p e r - c e f r i e l 8, a fork of the r m l m a p p e r library9.
          </p>
          <p>Mapping Template Component: The mapping template component implements both the
Graph Construction and Graph Exploitation building blocks and supports both lifting
and lowering operations; it is based on Apache Velocity10 to implement a template-based
solution to query the input data, process the result set and generate the output in the
desired format. The component integrates the r d f - t e m p l a t e library11.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3. Using Chimera in practice</title>
        <p>The Chimera framework is available on GitHub12 and is released under the Apache 2.0 license.
The repository contains the three components discussed that can be integrated into any Apache
Camel project through the definition of a proper Route.</p>
        <p>A Camel Route can be defined by simply providing a configuration file through one of the
available DSL languages13, without the need of writing additional code. Figure 2 shows an
example Chimera pipeline configured using the YAML DSL of Apache Camel.</p>
        <p>In the example route: (i) an RDF dataset is accessed via HTTP and integrated into an RDF
Graph, (ii) a lifting operation is executed on the incoming message considering an RML
declarative mapping file from the local filesystem and the result is added to the RDF Graph, (iii)
8Repository: https://github.com/cefriel/rmlmapper-cefriel
9https://github.com/RMLio/rmlmapper-java
10https://velocity.apache.org/
11Repository: https://github.com/cefriel/rdf-template, can be used as a library or as a standalone tool
12https://github.com/cefriel/chimera
13https://camel.apache.org/manual/dsl.html
the result is sent to a separate route (e.g., writing the output to a specific data sink). Thanks
to the huge set of Camel’s predefined components, Chimera can fulfil diferent integration
requirements by leveraging multiple input and output channels. For example, input data from
this route can be acquired by polling directories or FTP servers, or by exposing REST services,
Web APIs and SOAP services, by using diferent publish-subscribe technologies such as JMS or
AMQP.</p>
      </sec>
      <sec id="sec-3-4">
        <title>3.4. Learning to use Chimera</title>
        <p>A tutorial showing an example project to construct semantic data transformation pipelines is
also available on GitHub14. The tutorial aims at introducing each Chimera component and
showing how to configure them through the Apache Camel Spring XML DSL. For demonstrative
purposes, a sample GTFS15 feed is considered as input and the Linked-GTFS ontology16 is used
as the reference ontology. Multiple pipelines that make use of the Chimera components are
presented and described in detail. Each pipeline is exposed as an HTTP endpoint, showing
also the integration with the HTTP Apache Camel components. The tutorial also exemplifies
diferent deployment options for Chimera pipelines, such as standalone JAR and/or
containerbased execution. Notably, in the proposed approach the defined Chimera pipelines can be
modified through the XML file without requiring a new build process.</p>
      </sec>
      <sec id="sec-3-5">
        <title>3.5. Improvements of Chimera w.r.t. previous work</title>
        <p>
          In our previous In-Use paper [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], the initial release of Chimera is discussed on a practical
conversion use case to demonstrate the feasibility and advantages of the proposed approach to
solve challenge 1. The first implementation of Chimera mainly focused on the definition of the
lifting/lowering approaches and their analysis for performance and scalability [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. The current
version of Chimera is the result of a complete refactoring efort over the initial framework and
integrates the feedback collected from several EU research projects (e.g., SPRINT17, RIDE2RAIL18,
TANGENT) and innovation projects with customers. Indeed, the application of Chimera to
diferent use cases highlighted the importance of focusing on the overall framework to improve
the reusability of the components and facilitate the configurability of complex pipelines for
heterogeneous integration requirements. We re-designed and extended the building blocks of
a semantic data transformation pipeline (e.g., adding Graph Validation), and we focused on
addressing the issues discussed in challenge 2 to enable the application of Chimera to complex
integration scenarios such as the one discussed in Section 2.3.
        </p>
        <p>To facilitate the definition of semantic data transformation pipelines, we re-implemented
Chimera as a set Apache Camel Components19 that represent the basic abstraction for the
extension of the Camel framework. As a result, it is easier to define pipelines reusing Chimera
components in combination with existing Camel components and considering EIPs. Moreover,
14https://github.com/cefriel/chimera-tutorial
15https://developers.google.com/transit/gtfs
16https://github.com/OpenTransport/linked-gtfs
17http://sprint-transport.eu/
18https://ride2rail.eu/
19https://camel.apache.org/manual/component.html
we enhanced the decoupling of the diferent components by defining the expected input and
output of each operation implemented. Both aspects also simplify the extensibility of the
Chimera framework, i.e., the definition of additional components implementing one or more
building blocks of a semantic data transformation pipeline. Finally, to facilitate the configuration
of Chimera components we harmonised the set of accepted parameters across components and
we identified the required set of parameters for each operation. As an example, the Chimera
Resource abstraction (used in the Camel Route in Figure 2) has been introduced to generalise
the specification of resources (local or remote) that Chimera components may need for their
configuration.</p>
        <p>The comparison of Camel Routes defined for the first 20 and the latest21 version of the Chimera
tutorial demonstrates the advantages of the implemented changes in the explicit definition of
operations and parameters used for their configuration.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4. Addressing interoperability challenges with Chimera</title>
      <p>To exemplify the potentiality of the Chimera approach for data interoperability across
heterogeneous systems, Figure 3 describes the configuration of a pipeline fulfilling the requirements for
the multimodal trafic management use case presented in Section 2. In the following we explain
how Chimera is able to address both challenge 1 of harmonising data across diferent formats
(i.e., heterogeneous sensor data formats, format of planned events, expected JSON output) and
challenge 2 of integrating heterogeneous information systems (i.e., Kafka deployment, data
catalogue, triplestore, monitoring platform, dashboard).</p>
      <p>The Apache Camel Kafka component 22 is able to ingest data from a Kafka broker and can
20https://github.com/cefriel/chimera-tutorial/blob/36d7eef3a91f03cffa6b1b571df5f56c64fcf274/src/main/resources/
routes/camel-context.xml
21https://github.com/cefriel/chimera-tutorial/blob/main/src/main/resources/routes/chimera-route.xml
22https://camel.apache.org/components/3.20.x/kafka-component.html
be directly incorporated into a Chimera pipeline. The data coming from Kafka may require an
additional data preparation step, in this case, the user can integrate into the pipeline a custom
Apache Camel component defined for the specific use case. The benefit of defining such logic
as a Camel Component is that once it has been defined, then it can be reused in other pipelines.
For the harmonisation of incoming data using a common ontological data model, the Chimera
RML component is integrated into the pipeline and configured to execute RML mappings for
knowledge graph construction. The harmonised RDF data can then be augmented with RDF
triples from external resources, such as the planned events available as an RDF dataset in a data
catalogue, by means of the Graph Add operation. Using the multicast Enterprise Integration
Pattern (EIP) provided by Apache Camel, the result of previous processing can be forwarded in
parallel to multiple destinations. For example, it can be sent to a remote triplestore for storing
but also continue the processing into the pipeline. Through the Mapping Template component,
the knowledge graph is lowered to the target JSON format. The data in the obtained format can
then be forwarded to the relevant components using the Camel-provided Wiretap EIP that allows
to: (i) asynchronously process and send data to the monitoring platform, (ii) synchronously
forward the data to their final destination using the Camel WebSocket component 23.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Related Works</title>
      <p>
        The survey from Van Assche et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] provides an overview of solutions for data transformation
towards RDF graph generation. These approaches can be integrated within Chimera as
implementations of the Graph Construction building block. Whilst only two approaches are currently
implemented in Chimera (i.e, the RML Component and the Mapping Template component) the
framework can be extended by packaging RDF knowledge graph construction tools as Camel
components that are able to generate an RDF Graph. In the literature about RML processors
[
        <xref ref-type="bibr" rid="ref10 ref3">3, 10</xref>
        ], the Chimera RML Component is sometimes referred to as Chimera but represents an
implementation of one of the building blocks in the overall Chimera framework.
      </p>
      <p>Considering the lowering, a limited set of standardised solutions exists in the literature.
Potential approaches were proposed in [11], by querying RML lifting mappings to recreate a
target CSV format, and in [12], by relying on SPARQL to define RDF transformation rules. In our
work, we adopt a declarative approach to implement lowering, relying on SPARQL for querying
data and on a template engine to eficiently serialise data according to the target format. Any
approach that allows specifying a transformation from an RDF graph to a target format can be
integrated as a Chimera component implementing the Graph Exploitation building block.</p>
      <p>
        An evaluation of the performances of the RML Component in comparison with other RML
processors is available in [
        <xref ref-type="bibr" rid="ref10">10, 13</xref>
        ]. A performance and scalability evaluation of the lifting and
lowering approaches integrated into Chimera is discussed in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
      </p>
      <p>The paper from Van Assche et al. [14] highlights the importance of defining sources and
targets of the RDF graph generation process and proposes a solution based on the extension of RML.
The Apache Camel DSL allows users to declaratively specify how to access data sources/sinks in
a Chimera pipeline through Camel components. The RML-based definition of source and targets
23https://camel.apache.org/components/3.20.x/websocket-component.html
can be possibly automatically translated as a portion of a Chimera pipeline, thus avoiding the
integration of additional libraries and functionalities within a Graph Construction component.</p>
      <p>Finally, we cite similar works in the literature defining semantic-based ETL (“Extract,
Transform and Load”) pipelines. Talend4SW24, similarly to the approach of Chimera with Apache
Camel, leverages an existing tool (Talend) and ofers additional components to interact with RDF
data. UnifiedViews [ 15], LinkedPipes [16] and Barnard5925 exploit Semantic Web principles to
feed and curate RDF knowledge bases, thus focusing on the graph construction,
transformation and validation. Each of mentioned approaches has its advantages for specific use cases,
Chimera focuses on the definition of pipelines for data integration and interoperability among
heterogeneous systems.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Conclusions and future work</title>
      <p>In this paper, we presented the Chimera framework that addresses the problem of data
interoperability in a multi-stakeholder ecosystem through the definition of semantic data transformation
pipelines. The Chimera framework has been implemented by extending Apache Camel to
ofer a flexible and configurable solution for integrating semantic data transformation pipelines
considering diferent data formats across heterogeneous systems. Chimera specifically defines
Camel components to address four building blocks: graph construction, graph transformation,
graph validation and graph exploitation. The framework reduces the efort required to define
custom integration solutions by providing configurable components that can be integrated into
the overall production-ready ecosystem of Camel components. We compared Chimera with
existing tools and we highlighted how we advanced the framework with respect to its initial
implementation, in particular, to facilitate its reusability and extensibility by the community.
Finally, the successful usage of Chimera was exemplified through a multimodal trafic
management use case that shows both data format and information system heterogeneity in a scenario
of data exchange between diferent and independent stakeholders. The Chimera framework
is open-source, actively developed and maintained on GitHub under an Apache-2.0 license. A
complete tutorial is available documenting the expected usage of the diferent components and
exemplifying the definition of Chimera pipelines.</p>
      <p>In future work, we would like to explore the integration of Chimera into existing graphical
tools for the construction and visualization of Apache Camel pipelines, e.g., Apache Karavan26.
Such integration would simplify the definition of semantic data transformation pipelines also by
suggesting the set of available parameters and configurations for each component. Moreover,
within the SmartEdge27 project we will investigate the adoption of the presented approach
on the edge (resource-constrained devices) and on the cloud (to ofer high scalability), e.g., by
investigating the ecosystem of deployment runtimes supported by Apache Camel and/or by
defining new Chimera components. Finally, to facilitate the adoption of Chimera components
within Apache Camel projects, we plan to release Chimera to the Maven Central28 repository.
24Talend4SW, cf. https://github.com/fbelleau/talend4sw.
25https://github.com/zazuko/barnard59
26https://github.com/apache/camel-karavan
27https://www.smart-edge.eu/
28https://search.maven.org/</p>
    </sec>
    <sec id="sec-7">
      <title>Acknowledgments</title>
      <p>The presented research was partially supported by the TANGENT project (Grant Agreement
no. 881825), co-funded by the European Commission under the Horizon 2020 Framework
Programme, and the SmartEdge project, co-funded under the Horizon Europe Framework
Programme (Grant Agreement no. 101092908).
Online, June 6, 2021, volume 2873 of CEUR Workshop Proceedings, CEUR-WS.org, 2021.</p>
      <p>URL: http://ceur-ws.org/Vol-2873/paper11.pdf.
[11] C. Allocca, A. Gougousis, A preliminary investigation of reversing rml: From an rdf dataset
to its column-based data source, Biodiversity data journal 3 (2015) e5464. doi:1 0 . 3 8 9 7 / B D J .
3 . e 5 4 6 4 .
[12] O. Corby, C. F. Zucker, F. Gandon, SPARQL template: a transformation language for RDF,</p>
      <p>Ph.D. thesis, Inria, 2014.
[13] J. Arenas-Guerrero, D. Chaves-Fraga, J. Toledo, M. S. Pérez, O. Corcho, Morph-KGC:
Scalable knowledge graph materialization with mapping partitions, Semantic Web Preprint
(2022) 1–20. doi:1 0 . 3 2 3 3 / S W - 2 2 3 1 3 5 , publisher: IOS Press.
[14] D. Van Assche, G. Haesendonck, G. De Mulder, T. Delva, P. Heyvaert, B. De Meester, A.
Dimou, Leveraging web of things w3c recommendations for knowledge graphs generation,
in: M. Brambilla, R. Chbeir, F. Frasincar, I. Manolescu (Eds.), Web Engineering, Springer
International Publishing, Cham, 2021, pp. 337–352.
[15] T. Knap, M. Kukhar, B. Macháč, P. Škoda, J. Tomeš, J. Vojt, Unifiedviews: An etl framework
for sustainable rdf data processing, in: European Semantic Web Conference, Springer,
2014, pp. 379–383.
[16] J. Klímek, P. Škoda, M. Nečaskỳ , Linkedpipes etl: Evolved linked data preparation, in:
European Semantic Web Conference, Springer, 2016, pp. 95–100.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>M.</given-names>
            <surname>Scrocca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Comerio</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Carenini</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Celino</surname>
          </string-name>
          ,
          <article-title>Turning transport data to comply with EU standards while enabling a multimodal transport knowledge graph</article-title>
          ,
          <source>in: Proceedings of the 19th International Semantic Web Conference</source>
          , volume
          <volume>12507</volume>
          , Springer,
          <year>2020</year>
          , pp.
          <fpage>411</fpage>
          -
          <lpage>429</lpage>
          .
          <source>doi:1 0 . 1 0</source>
          <volume>0 7 / 9 7 8 - 3 - 0 3 0 - 6 2 4 6 6 - 8</volume>
          \ _ 2
          <fpage>6</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>G.</given-names>
            <surname>Vetere</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Lenzerini</surname>
          </string-name>
          ,
          <article-title>Models for semantic interoperability in service-oriented architectures</article-title>
          ,
          <source>IBM Systems Journal</source>
          <volume>44</volume>
          (
          <year>2005</year>
          )
          <fpage>887</fpage>
          -
          <lpage>903</lpage>
          .
          <source>doi:1 0 . 1 1 4 7 / s j . 4 4 4 . 0 8</source>
          <volume>8 7 .</volume>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>D.</given-names>
            <surname>Van Assche</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Delva</surname>
          </string-name>
          , G. Haesendonck,
          <string-name>
            <given-names>P.</given-names>
            <surname>Heyvaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>De Meester</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <article-title>Declarative rdf graph generation from heterogeneous (semi-)structured data: A systematic literature review</article-title>
          ,
          <source>Journal of Web Semantics</source>
          (
          <year>2022</year>
          )
          <fpage>100753</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sadeghi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Buchníček</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Carenini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Corcho</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Gogos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rossi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Santoro</surname>
          </string-name>
          , et al.,
          <article-title>SPRINT: Semantics for PerfoRmant and scalable INteroperability of multimodal Transport</article-title>
          ,
          <source>in: 8th Transport Research Arena TRA</source>
          <year>2020</year>
          ,
          <year>2020</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>10</lpage>
          . URL: http://hdl.handle.net/ 11311/1132635.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>Shapes</given-names>
            <surname>Constraint Language (SHACL)</surname>
          </string-name>
          ,
          <year>2017</year>
          . URL: https://www.w3.org/TR/shacl/.
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>G.</given-names>
            <surname>Hohpe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Woolf</surname>
          </string-name>
          ,
          <article-title>Enterprise integration patterns: Designing, building, and deploying messaging solutions</article-title>
          ,
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brickley</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. V.</given-names>
            <surname>Guha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>McBride</surname>
          </string-name>
          ,
          <source>Rdf schema 1.1, W3C recommendation 25</source>
          (
          <year>2014</year>
          )
          <fpage>2004</fpage>
          -
          <lpage>2014</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
            <surname>Dimou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. V.</given-names>
            <surname>Sande</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Colpaert</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Verborgh</surname>
          </string-name>
          , E. Mannens, R. V. de Walle,
          <article-title>RML: A generic language for integrated RDF mappings of heterogeneous data</article-title>
          ,
          <source>in: Proceedings of the Workshop on Linked Data on the Web co-located with the 23rd International World Wide Web Conference (WWW</source>
          <year>2014</year>
          ), volume
          <volume>1184</volume>
          , CEUR-WS.org,
          <year>2014</year>
          . URL: http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1184</volume>
          /ldow2014_paper_01.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>M.</given-names>
            <surname>Scrocca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Carenini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Comerio</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Celino</surname>
          </string-name>
          ,
          <article-title>Semantic Conversion of Transport Data Adopting Declarative Mappings: An Evaluation of Performance and Scalability</article-title>
          , in: D.
          <string-name>
            <surname>Chaves-Fraga</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Colpaert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Sadeghi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Scrocca</surname>
          </string-name>
          , M. Comerio (Eds.),
          <source>Proceedings of the 3rd International Workshop Semantics And The Web For Transport</source>
          , volume
          <volume>2939</volume>
          <source>of CEUR Workshop Proceedings</source>
          , CEUR, Online, September,
          <year>2021</year>
          . URL: https://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>2939</volume>
          /#paper2, iSSN:
          <fpage>1613</fpage>
          -
          <lpage>0073</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J.</given-names>
            <surname>Arenas-Guerrero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Scrocca</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Iglesias-Molina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Toledo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Pozo-Gilo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Doña</surname>
          </string-name>
          , Ó. Corcho,
          <string-name>
            <given-names>D.</given-names>
            <surname>Chaves-Fraga</surname>
          </string-name>
          ,
          <article-title>Knowledge graph construction with R2RML and RML: an ETL system-based overview</article-title>
          , in: D.
          <string-name>
            <surname>Chaves-Fraga</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Dimou</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Heyvaert</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          <string-name>
            <surname>Priyatna</surname>
            ,
            <given-names>J. F.</given-names>
          </string-name>
          <string-name>
            <surname>Sequeda</surname>
          </string-name>
          (Eds.),
          <source>Proceedings of the 2nd International Workshop on Knowledge Graph Construction co-located with 18th Extended Semantic Web Conference (ESWC</source>
          <year>2021</year>
          ),
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>