<!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>Towards a Semantic Message-driven Microservice Platform for Geospatial and Sensor Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Matthias Wauer</string-name>
          <email>wauer@informatik.uni-leipzig.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Axel-Cyrille Ngonga Ngomo</string-name>
          <email>axel.ngonga@upb.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Universit t Leipzig, AKSW Group Augustusplatz 10</institution>
          ,
          <addr-line>04109 Leipzig</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universit t Paderborn, Data Science Group Warburger Stra e 100</institution>
          ,
          <addr-line>33098 Paderborn</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2018</year>
      </pub-date>
      <fpage>47</fpage>
      <lpage>58</lpage>
      <abstract>
        <p>Many applications of cyberphysical systems rely on the largescale integration of geospatial data and sensor data. These types of data are both characterised by their heterogeneous structure, di erent formats for their representation, and their enormous volume. In recent years, the Semantic Web community has developed vocabularies and standards for representing and querying geospatial and sensor data. In this paper, we present an ongoing research project addressing the need for a exible and scalable platform of services handling such data. The platform comprises services for the extraction, transformation, interlinking, fusion, quality assurance, and delivery of smart data. In contrast to related work, we pursue a message-driven approach for a exible and scalable integration of microservices. We further discuss several use cases which motivate the design of our system architecture.</p>
      </abstract>
      <kwd-group>
        <kwd>service platform</kwd>
        <kwd>message-driven</kwd>
        <kwd>geospatial data</kwd>
        <kwd>sensor data</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>An increasing number of applications depend on the exible integration of live
data, such as sensor data. Most sensor data is inherently related to geospatial
data, e.g., the location of a certain measurement or place references in metadata.
Other sources, like social media feeds, can contain place names that are valuable
for real-time applications.</p>
      <p>Despite the advances in research and technologies for the semantic integration
of geospatial data, it is still challenging to build respective applications. It is
particularly di cult to utilise live streams of data with geospatial aspects, such
as sensor data, in real-time applications.</p>
      <p>The di culty is mostly caused by three aspects. First, components for
translating data into RDF, analysis, interlinking and enrichment have to work with
typically small but frequent payloads of data streams. Second, the
communication between these components needs to be exible and reliable. Third, the
entire system has to scale dynamically according to a changing load of messages,
which typically requires a distributed implementation.</p>
      <p>Examples of respective applications include routing, geomarketing, and all
sorts of analytics, such as business intelligence and predictive maintenance.
Internal case studies for the use cases discussed in Section 2.1 indicate that these
can be seen as a work ow based on reusable components for di erent process
phases. Various data streams are provided as input. The data of interest is
extracted and transformed into a common format, interlinked and fused with
related data. The output might be examined with quality metrics before it gets
stored and visualised.</p>
      <p>There are many tools available already for handling these general tasks with
Semantic Web technologies. However, hardly any of them support the speci c
needs of real-time geospatial data streams. Also, there is no framework that
provides a runtime environment for the integration of such tools and addressing
additional requirements.</p>
      <p>In this paper, we present an ongoing research project focusing on the following
primary research question: How to design a platform for exible integration of
di erent geospatial and sensor data (Section 2)? We propose a
microservicebased message-driven approach, validate it (Section 3) and contrast it to related
work (Section 4).
2</p>
    </sec>
    <sec id="sec-2">
      <title>The GEISER Project</title>
      <p>Based on a range of use cases and corresponding requirements, we derive
objectives and an architecture for the GEISER project. Then, we describe the current
implementation of the GEISER platform.
2.1</p>
      <p>Use Cases
We develop and evaluate the GEISER platform along the following three primary
use cases.</p>
      <p>Data-driven geomarketing. With more than 500 billion euros in retail
revenue in Germany alone, 3 local retail and catering are important employers and
taxpayers. To be successful in a competitive market, regional companies have
to adapt their products, services, marketing strategy, opening hours and special
o ers to their audience. Data-driven geomarketing would already be possible
today using all available sources: the Web, social media and news, message boards,
mobility and cellular network data, open data, their own customer data, etc.
However, these sources are monolithic and lack explicit geospatial references.</p>
      <p>In GEISER, we want to build a geomarketing assistant application which
informs companies in near real-time considering all relevant information. For
3 Source: https://de.statista.com/themen/136/einzelhandel-in-deutschland/</p>
      <sec id="sec-2-1">
        <title>Copyright held by the author(s). 48 GeoLD 2018</title>
        <p>example, a local restaurant would be alerted about a band playing nearby,
extracted from social media and event data (e.g., Twitter), so it could provide
special o ers to their fans. Further requirements include predictions based on
weather warnings and forecasts (data from DWD.de and openweathermap.org)
and public transport (via data.deutschebahn.com).</p>
        <p>Intelligent parking. Roadside parking is challenging in crowded city centres.
While personal navigation assistants (PNA) can guide users to a certain
destination, they are not aware of available parking spaces on that road. Existing
solutions to that problem require infrastructure support, so they only work in
locations where sensors installed in the road already identify cars.</p>
        <p>In GEISER, the messages of connected PNA are used to detect where cars
have started and nished their journeys. Based on that data, it is possible to
determine the probability for nding a free parking space on a given section of a
road at a certain time. Instead of driving to a destination with a low chance of
nding a parking space, the PNA would provide approximate guidance through
nearby roads with a higher probability.</p>
        <p>This probabilistic routing can be enhanced with more detailed information
on how many people frequent a region at a certain point in time, and why
they do so. Therefore, we need to interlink and interpret di erent data sources,
including the weather data discussed above, local events (from Twitter) as well
as oating car data and tra c incidents from TomTom. We build an extended
parking search service based on the GEISER platform and On Street Parking. 4
Predictive maintenance and industrial service. Industrial service is
becoming increasingly important. Sensor networks in industrial appliances generate
huge amounts of data that can be used to predict a device failure based on
historical information. Thus, industrial service can be planned and executed even
before a failure occurs, reducing the cost of a halted manufacturing process.</p>
        <p>In GEISER, we plan to link the predictive maintenance with service
technician scheduling and spare part logistics. For an optimal service coverage, many
other data sources with geospatial aspects have to be linked to industrial sensor
data. Goals include a less unnecessary travelling and improved industrial service
quality. Requirements include the integration of service technician deployment
planning5 with weather and tra c data sources discussed in the other use cases.
2.2</p>
        <p>Goal and Objective
As shown in the use cases above, there are many applications that require exible
processing of data streams from di erent sources with geospatial or temporal
references. However, these relations are rarely inherent to the data or otherwise
available in a machine-processable way.
4 https://developer.tomtom.com/on-street-parking/documentation
5 Data coming from the STEP project: https://www.projekt-step.de/en/</p>
      </sec>
      <sec id="sec-2-2">
        <title>Copyright held by the author(s). 49 GeoLD 2018</title>
        <sec id="sec-2-2-1">
          <title>Unified GEISER REST API</title>
          <p>GEISER
Services</p>
          <p>Compatible Tooling
(loosely coupled)
e
c
n
a
n
e
t
n
i
a
M
&amp;
t
n
e
m
y
o
l
p
e
D
trcy
i
u
e
S
&amp;
n
toi
a
c
tni
e
h
t
u
A
n
toi
a
r
u
fgni
o
C
e
c
i
rv
e
S
&amp;
m
r
o
tf
a
l
P</p>
          <p>K
D
S
&amp;
s
e
c
ti
rc
a
P
ts
e
B
.
v
e
D</p>
          <p>Application Services (only samples included, use case specific)</p>
          <p>Generic Services,GeGe.gne.neLreIirMcicSEeSSre,vrDivcEiecEseRs, FOX, AGDISTIS
Data Services (querGyGeinnegne,remirciacSneSiprevurivlcaiectiseosn, geospatial, etc.)</p>
          <p>GEISER Platform</p>
          <p>A
M
Q
P
B
U</p>
          <p>S</p>
          <p>Private or public cloud
(Semantic Databases, SPARK ecosystem, SANSA …)</p>
          <p>Therefore, it is the primary goal of the GEISER platform to enable mass
processing of geospatial and sensor data with the following aspects:
1. Data extraction recognising the references between data and known entities
2. Semantic technologies for adding these references to the data
3. Flexible microservice architecture and asynchronous messaging for a scalable
foundation of di erent applications</p>
          <p>The GEISER platform is comprised of several horizontal and vertical layers,
as shown in Figure 1.</p>
          <p>Three horizontal layers divide the lower and higher level services available in
the platform. The lower layer consists of data access and handling services, such
as extraction services and triple store access. The middle layer contains generic
platform services for processing semantic data, such as quality assessment,
interlinking, and fusion services. The upper layer contains usually domain-speci c
higher level application services. Examples include the probabilistic routing
service for the parking use case and a target audience estimation service for
geomarketing.</p>
          <p>All of these services can access each other via a message bus. We chose the
RabbitMQ implementation of the AMQP standard. This enables di erent
message exchange patterns, including reliable asynchronous messaging with delivery
guarantee. In addition to the exibility of the message routing, which can easily</p>
        </sec>
      </sec>
      <sec id="sec-2-3">
        <title>Copyright held by the author(s). 50 GeoLD 2018</title>
        <sec id="sec-2-3-1">
          <title>Use Cases &amp;</title>
        </sec>
        <sec id="sec-2-3-2">
          <title>Applications</title>
          <p>Features:
visualization, exploration,
dashboarding, data analytics,
semantic search, etc.</p>
          <p>Examples:
metaphactory, Facete,
mappify, etc.</p>
        </sec>
        <sec id="sec-2-3-3">
          <title>Compute</title>
        </sec>
        <sec id="sec-2-3-4">
          <title>Infrastructure</title>
          <p>
            be modi ed at runtime, this brokered approach was favored to a much more
limited, entirely REST-based implementation. We also favored RabbitMQ over
Apache Kafka, primarily because of simpler consumer implementation, support
for the MQTT protocol supported by many sensors, and wider support for
different messaging patterns such as RPC [
            <xref ref-type="bibr" rid="ref1">1</xref>
            ].
          </p>
          <p>The vertical layers provide the platform support for cross-cutting concerns
like authentication, deployment, and service con guration. Application access
is enabled by a REST API on top of the service layers. This allows external
applications, such as the routing function in a PNA, to invoke services in the
platform and receive results without having to be a message bus endpoint.
Additional tools provide further functionality, including visualisation and semantic
search.
2.4</p>
          <p>Implementation
Since the project is still in an early phase, we have only started to implement
and validate our design decisions.</p>
          <p>In contrast to existing semantic service infrastructures, which typically utilize
HTTP requests for service interactions, we have implemented an asynchronous
messaging approach. An AMQP topic exchange can be applied very exibly to
implement di erent messaging patterns, including publish/subscribe-like
interactions. These can also be modi ed at runtime, enabling ad-hoc changes to the
processing of messages.</p>
          <p>Additionally, GEISER proposes a message passing approach between a
linear chain of services. For each use case, messages ow through a list of
components. In order to specify the respective services, we store their topic identi ers
in an AMQP header eld. This is usually con gured for the service sending
an original event to the message bus. The remaining services are encoded as
service1.service2.{...}.service n in the AMQP routing key. Consequently,
each service is aware of the intended following routing. The following example
shows a JSON-LD message from an interaction in a chain of services. The FOX
service has performed Named Entity Recognition (NER) on the given text and
sends the results to the following service location which annotates the
geocoordinates of the entity.</p>
          <p>Listing 1. Message processed by the entity recognition service fox, to be processed
by further location and store services. Note: lines starting with two slashes are basic
properties of an AMQP message, not part of the JSON-LD message content
// routing key : location . store
// message - id : 2
// correlation - id : 123
// app - id : fox
// reply - to : an not at ion
// content - type : a p p l i c a t i o n / ld + json
// content - encoding : utf -8
// type : L o c a t i o n R e q u e s t
// header :</p>
        </sec>
      </sec>
      <sec id="sec-2-4">
        <title>Copyright held by the author(s). 51 GeoLD 2018</title>
        <p>// [ services : [" annotation ", " fox ", " location ", " store "]]
{
" @context ": " http :// example . org / context / fox . jsonld ",
" text ": " Leipzig is a beautiful city ." ,
" fox :": [{
uri : " http :// dbpedia . org / resource / Leipzig ",
name : " Leipzig "
}]
}
Many services are already available with a REST API, but don’t feature AMQP
support. In order to provide a simple option for integrating them, we have
developed a wrapper approach for translating AMQP messages into REST requests
and vice versa, based on a declarative service description. 6 The current
implementation is based on NodeJS and Go.</p>
        <p>Furthermore, we implemented a small library based on Spring AMQP for
implementing the message bus interfaces for Java components. The following listing
shows that very little code has to be implemented for a GEISER message
handler. The handleRequest method is invoked with the unmarshalled request and
the original AMQP message. Besides the @RabbitListener annotation specifying
the topic this service is listening to, the library provides request (un-)marshalling
and extracting the next routing key for the response message.</p>
        <p>Listing 2. Stub for implementing a GEISER service interface in Spring Boot
/* imports */
@Component
public class MyService {
public static final String ROUTING_KEY = " myservice - v1 .#";
public static final String QUEUE_NAME = " myservice - v1 ";
public static final String EXCHANGE = " geiser ";
@RabbitListener ( bindings = @QueueBinding ( key =</p>
        <p>ROUTING_KEY , exchange = @Exchange ( type =
ExchangeTypes . TOPIC , value = EXCHANGE , durable =
" true ", autoDelete = " true ") , value =
@Queue ( autoDelete = " true ", value = QUEUE_NAME )))
public void handleRequest ( Request request , @Payload</p>
        <p>Message message ) throws IOException {
/* handle request */
String nextRoutingKey =</p>
        <p>ServiceUtils . nextRoutingKey ( message );
rabbitTemplate . send ( EXCHANGE , nextRoutingKey ,</p>
        <p>MessageBuilder ... build () );
}</p>
        <p>}
6 https://github.com/AKSW/micropipe-proxy</p>
      </sec>
      <sec id="sec-2-5">
        <title>Copyright held by the author(s). 52 GeoLD 2018</title>
        <p>For monitoring an exchange we can listen to all topics of an exchange with a
wildcard and store the messages, e.g., into a triple store. In contrast to storing
the entire message as a literal, we decided to store each AMQP value as separate
properties to be able to e ectively search that log using SPARQL. We realised
that many properties that we had modelled for messages following a requirements
analysis phase are already available as basic properties in AMQP. We only had
to specify the details of respective values, e.g., how services are referenced in the
app-id property representing the origin service of a message. Since to the best
of our knowledge no such thing exists, we created a basic RDF vocabulary 7 for
these AMQP properties.</p>
        <p>For managing the deployment of an application consisting of services we
use Docker and Docker Compose. Each service is dockerized and con gurable,
e.g., using environment variables. The set of services required for an entire
application work ow is con gured in a compose con guration le. 8 The following
listing shows part of such a le for the geomarketing use case. When deployed
using docker-compose up , the Twitter feed service will push new tweet messages
mentioning Leipzig onto the message bus, which will subsequently be translated,
annotated (by FOX) and stored.</p>
        <p>Listing 3. Docker Compose con guration (partially) for a geomarketing use case
services :
geiser - twitter - feed :
image : mwauer / geiser - twitter - feed
links :</p>
        <p>- rabbit : rabbit
depends_on :</p>
        <p>- rabbit
environment :
- keywords = leipzig
- routing = translate . fox . store
[...]
translate :
image : mwauer / geiser - translate - service
links :</p>
        <p>- rabbit : rabbit
depends_on :</p>
        <p>- rabbit
environment :</p>
        <p>- translate_input_attribute = sioc : content \[]\ @value
rabbit :
image : rabbitmq : management
ports :</p>
        <p>- 5672:5672
7 https://github.com/mwauer/geiser/tree/master/messaging-ontology
8 Further schema information: https://docs.docker.com/compose/compose-file/</p>
      </sec>
      <sec id="sec-2-6">
        <title>Copyright held by the author(s). 53 GeoLD 2018</title>
        <p>So far we have implemented a set of generic services for reading and writing
RDF, interlinking (using LIMES), NER and relation extraction (using FOX),
enrichment and fusion (using DEER) and machine translation (using the Yandex
API). Further custom services are being developed for the respective use cases,
e.g., a probabilistic routing service.</p>
        <p>While this implementation appears to be su cient for the presented use cases,
we are currently evaluating whether more complex work ow patterns are
necessary (see Section 3). However, these could easily be achieved with a
microservice inspecting the incoming message and potentially modifying the routing key.
Thus, conditional work ows can be implemented.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Validation</title>
      <p>Due to the early stage of the implementation, we have focused on the functional
evaluation of the platform and performance measurements of the components,
according to the requirements gathered from the use cases. These are primarily
related to data sources (various types of static and real-time data) and required
services for processing and querying data.</p>
      <p>We have successfully run an instance of the service composition shown in
Listing 3, showing the applicability of the approach for a part of data-driven
geomarketing use case described in Section 2.1. Further functional evaluation
depends on the availability of further services speci c to the use cases, which are
currently being developed.</p>
      <p>
        With regards to the extraction of data from unstructured sources, the
evaluation of FOX in the OKE challenge [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] shows that it outperforms comparable
NER implementations. For the semi-automatic extraction of RDF from tables,
TAIPAN [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] shows signi cant improvements compared to the state of the art.
With regards to interlinking and fusion on geospatial data, RADON [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] as part
of the LIMES component was shown to be on average 65 and 834 times faster
than SILK for single-threaded and parallel execution, respectively.
4
4.1
      </p>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        Semantic Service Infrastructures
Since the beginnings of service oriented architectures, the use of explicit
semantics for integrating services has been investigated, e.g., by METEOR-S [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ].
Recent research has identi ed best practices and patterns on top of generally
used methods, such as REST Web services.
      </p>
      <p>
        Semantic Automated Discovery and Integration (SADI) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] de nes such
design patterns in order to enable semantic REST Web service discovery,
messaging, and service description. Among other aspects, it de nes that semantically
interoperable services should provide their service description on an HTTP GET
request and invoke the service with a POST request. The services receive and
send instances of OWL classes. The lightweight approach is a good foundation
      </p>
      <sec id="sec-4-1">
        <title>Copyright held by the author(s). 54 GeoLD 2018</title>
        <p>for simple service discovery and interaction, but it is no replacement for a
directory service and lacks any support for asynchronous messaging or other features
provided by a messaging infrastructure.</p>
        <p>
          The Simple Semantic Web Architecture and Protocol (SSWAP) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] follows
similar principles, but also de nes a protocol to be used for discovery. It applies a
reasoner to generate explicit statements, e.g., of all classes that apply to the input
and output a service advertises. With a shared terminology at transaction time,
this protocol also enables semantic brokerage between otherwise incompatible
clients and servers.
        </p>
        <p>These approaches are relevant to the problem of a exible integration of
services. However, they do not address the issue of asynchronous messaging.</p>
        <p>
          Furthermore, there are approaches for machine-readable service descriptions
for REST APIs, such as MicroWSMO and hRESTS [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. While these are limited to
HTTP-based service interfaces, we might consider following a similar approach,
perhaps using WSMO-lite [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], to describe and annotate microservices on an
AMQP message bus. For example, instead of using URI templates for addresses
we might de ne the routing keys of a topic exchange to deliver a message to the
service.
4.2
        </p>
        <p>Semantic Data Processing
In contrast to the above section, this part focuses on research on processing data
which is described semantically, i.e., data that is represented in an RDF-related
format.</p>
        <p>
          LinkedPipes ETL 9 (formerly Uni edViews [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]) is an ETL (extract, transform,
load) processing environment for semantic data, built in the COMSODE project.
It allows to execute tools for di erent RDF processing tasks using small wrappers
called data processing units (DPU). Tools can be chained together to build
work ows, which can be debugged by inspecting the data that is passed through
the di erent components step by step. Uni edViews is exible enough to support
reasonable processes and relatively easy to extend. However, it lacks support for
context or more complex data units (the general interface between the tools is
an RDF triple), real-time data, and geospatial aspects.
        </p>
        <p>
          The GeoKnow project focused on semantic processing tools for geospatial
data. The GeoKnow Generator [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] contains various tools along the Linked Data
lifecycle that have been developed for processing geospatial data. With the
GeoKnow Generator Workbench [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ], users can con gure and invoke the tools in a
Web interface, including the execution and monitoring of long-running tasks as
a batch process. In the project, several tools, such as the interlinking framework
LIMES [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ], have been extended to provide support and optimized processing of
geospatial information. While this research provides important fundamentals on
which GEISER can build upon, it lacks any support for automated work ows
with multiple tools and data streams as input.
9 https://etl.linkedpipes.com/
        </p>
      </sec>
      <sec id="sec-4-2">
        <title>Copyright held by the author(s). 55 GeoLD 2018</title>
        <p>
          In addition to these relatively generic projects and frameworks, there are
ongoing research e orts relevant to the presented use cases. For instance, the
EW-Shopp [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] project targets marketing services which incorporate contextual
data, such as weather conditions and events such as holidays. While this is
similar to the data-driven geomarketing use case, GEISER focuses on providing
respective insights to local businesses.
5
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In this paper we described the motivation and architecture of the GEISER
platform. In comparison to related work, it will enable the scalable processing of
geospatial and sensor data with semantic technologies.</p>
      <p>Services for each Linked Data lifecycle phase, as well as lower-level generic
infrastructure services and high-level use case speci c ones are connected via a
message bus. The platform will also provide features for vertical concerns, such
as non-functional requirements.</p>
      <p>
        In future work, we plan to implement the use cases in detail using the
platform services. We will evaluate the exibility of the platform interfaces and
the scalability of the messaging middleware by benchmarking the system in the
HOBBIT platform [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], comparing the currently chosen AMQP implementation
against alternatives such as ZeroMQ. Further extensions are planned w.r.t. the
components for extracting, storing, interlinking and querying data. For example,
to the best of our knowledge, so far there are no interlinking frameworks with
explicit support for data streams.
      </p>
      <p>Acknowledgement
The authors would like to thank Michael Schmidt from metaphacts for creating
the GEISER architecture gure.</p>
      <p>The research and development project that forms the basis for this report
is funded under project No. 01MD16014E (GEISER) within the scope of the
Smart Services World technology programme run by the Federal Ministry for
Economic A airs and Energy and is managed by the project management agency
at the German Aerospace Center (DLR-PT). The authors are responsible for the
contents of this publication.</p>
      <sec id="sec-5-1">
        <title>Copyright held by the author(s). 56 GeoLD 2018</title>
        <p>Bibliography</p>
      </sec>
      <sec id="sec-5-2">
        <title>Copyright held by the author(s). 57 GeoLD 2018</title>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>Dobbelaere</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Esmaili</surname>
            ,
            <given-names>K.S.:</given-names>
          </string-name>
          <article-title>Kafka versus rabbitmq: A comparative study of two industry reference publish/subscribe implementations: Industry paper</article-title>
          .
          <source>In: Proceedings of the 11th ACM International Conference on Distributed and Event-based Systems</source>
          . pp.
          <fpage>227</fpage>
          <lpage>238</lpage>
          . DEBS '17,
          <string-name>
            <surname>ACM</surname>
          </string-name>
          , New York, NY, USA (
          <year>2017</year>
          ), http://doi.acm.
          <source>org/10</source>
          .1145/3093742.3093908
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Ermilov</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Ngonga</given-names>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.C.</surname>
          </string-name>
          : Taipan:
          <article-title>Automatic property mapping for tabular data</article-title>
          .
          <source>In: Proceedings of 20th International Conference on Knowledge Engineering</source>
          and
          <article-title>Knowledge Management (EKAW'</article-title>
          <year>2016</year>
          ) (
          <year>2016</year>
          ), http://svn.aksw.org/papers/2016/EKAW_Taipan/public.pdf
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <surname>Garcia-Rojas</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hladky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wauer</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Isele</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stadler</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The geoknow generator workbench: An integration platform for geospatial data</article-title>
          .
          <source>In: Proceedings of the 3rd International Workshop on Semantic Web Enterprise Adoption and Best Practice</source>
          (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>Gessler</surname>
            ,
            <given-names>D.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schiltz</surname>
            ,
            <given-names>G.S.</given-names>
          </string-name>
          , May,
          <string-name>
            <given-names>G.D.</given-names>
            ,
            <surname>Avraham</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Town</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.D.</given-names>
            ,
            <surname>Grant</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Nelson</surname>
          </string-name>
          , R.T.:
          <article-title>Sswap: A simple semantic web architecture and protocol for semantic web services</article-title>
          .
          <source>BMC bioinformatics 10(1)</source>
          ,
          <volume>309</volume>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <surname>Grange</surname>
            ,
            <given-names>J.J.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lehmann</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Athanasiou</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rojas</surname>
            ,
            <given-names>A.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Giannopoulos</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hladky</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Isele</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>Ngonga</given-names>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.C.</given-names>
            ,
            <surname>Sherif</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.A.</given-names>
            ,
            <surname>Stadler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Wauer</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>The geoknow generator: Managing geospatial data in the linked data web</article-title>
          .
          <source>In: Proceedings of the Linking Geospatial Data Workshop</source>
          (
          <year>2014</year>
          ), http://jens-lehmann.org/files/2014/lgd_geoknow_generator.pdf
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <surname>Knap</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kukhar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>MachÆc</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Skoda</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tomes</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vojt</surname>
          </string-name>
          , J.:
          <article-title>Uni edviews: An etl framework for sustainable rdf data processing</article-title>
          . In: Presutti,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Blomqvist</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E.</given-names>
            ,
            <surname>Troncy</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Sack</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Papadakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Tordai</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>ESWC (Satellite Events). Lecture Notes in Computer Science</source>
          , vol.
          <volume>8798</volume>
          , pp.
          <fpage>379</fpage>
          <lpage>383</lpage>
          . Springer (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Maleshkova</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pedrinaci</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Domingue</surname>
          </string-name>
          , J.:
          <article-title>Supporting the creation of semantic restful service descriptions</article-title>
          . In: In workshop: Service Matchmaking and
          <article-title>Resource Retrieval in the Semanti Web (SMR2) at</article-title>
          8th International Semantic Web Conference (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Ngonga</given-names>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.C.</given-names>
            ,
            <surname>Auer</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
          :
          <article-title>Limes - a time-e cient approach for largescale link discovery on the web of data</article-title>
          .
          <source>In: Proceedings of IJCAI</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Ngonga</given-names>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.C.</surname>
          </string-name>
          , R der, M.: HOBBIT:
          <article-title>Holistic benchmarking for big linked data</article-title>
          .
          <source>In: ESWC, EU networking session</source>
          (
          <year>2016</year>
          ), http://svn.aksw. org/papers/2016/ESWC_HOBBIT_EUNetworking/public.pdf
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <surname>Palmonari</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grobelnik</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Marguglio</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Paoli</surname>
            ,
            <given-names>F.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nokolov</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kosmerlj</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gallina</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Supporting event and weatherbased data analytics and marketing along the shopper journey</article-title>
          .
          <source>In: Extended Semantic Web Conference</source>
          <year>2017</year>
          . Portoroz, Slovenia (May 28- June 1
          <year>2017</year>
          ), http://www.ew-shopp.eu/wp-content/uploads/2017/07/ EW-Shopp-ESWC2017_Poster.pdf
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>Sherif</surname>
            ,
            <given-names>M.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dre</surname>
            <given-names>ler</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            ,
            <surname>Smeros</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Ngonga</surname>
          </string-name>
          <string-name>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.C.</surname>
          </string-name>
          :
          <article-title>RADON - Rapid Discovery of Topological Relations</article-title>
          .
          <source>In: Proceedings of The ThirtyFirst AAAI Conference on Arti cial Intelligence (AAAI-17)</source>
          (
          <year>2017</year>
          ), https: //svn.aksw.org/papers/2017/AAAI_RADON/public.pdf
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gomadam</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ranabahu</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Semantics enhanced services: Meteor-s, sawsdl and sa-rest</article-title>
          .
          <source>IEEE Data Eng. Bull</source>
          .
          <volume>31</volume>
          (
          <issue>3</issue>
          ),
          <fpage>8</fpage>
          <lpage>12</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Speck</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          , R der,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Oramas</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Espinosa-Anke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Ngonga</surname>
          </string-name>
          <string-name>
            <surname>Ngomo</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.C.</surname>
          </string-name>
          :
          <article-title>Open knowledge extraction challenge 2017</article-title>
          .
          <article-title>In: Semantic Web Evaluation Challenge</article-title>
          . pp.
          <fpage>35</fpage>
          <lpage>48</lpage>
          . Springer International Publishing (
          <year>2017</year>
          ), https:// svn.aksw.org/papers/2017/ESWC_Challenge_OKE/public.pdf
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>Vitvar</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopecky</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Viskova</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Wsmo-lite annotations for web services</article-title>
          . In: Hauswirth,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Koubarakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Bechhofer</surname>
          </string-name>
          , S. (eds.)
          <source>Proceedings of the 5th European Semantic Web Conference. LNCS</source>
          , Springer Verlag, Berlin, Heidelberg (
          <year>June 2008</year>
          ), http://data.semanticweb.org/ conference/eswc/2008/papers/281
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>Wilkinson</surname>
            ,
            <given-names>M.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vandervalk</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>McCarthy</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>The semantic automated discovery and integration (sadi) web service design-pattern, api and reference implementation</article-title>
          .
          <source>Journal of biomedical semantics 2(1)</source>
          ,
          <volume>8</volume>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>