Keywords

1 Introduction

The development of Internet of Things technologies has fostered the creation of live data streams in multiple domains. Specifically in the public domain, examples of such data streams can be found as sensor observations about air quality, noise level, street occupancy, vacant parking spaces, temperature, river water level, wind speed, state of public lighting systems, traffic lights, among others. Furthermore, in Europe thanks to the European Public Sector Information directiveFootnote 1, public authorities are required to publish such data in an open fashion on the Web. This raises new challenges for data publishers as they cannot anticipate the amount of users or type of queries required on the Web, and might not be able to afford expensive infrastructures, required to maintain availability and scalability.

Studying the trade-offs introduced by Linked Data Fragments [5] to publish data streams on the Web, helps to understand possible ways to reduce server costs by transferring query answering related tasks to clients. This requires clients to implement the logic to answer a given query, increasing their complexity and the time required to process the data on the client side. Anticipating this, data publishers may provide multidimensional interfaces [3] containing pre-processed data, relevant for answering common queries and offer them as a service that could benefit clients by reducing query response times and implementation complexity, without limiting query flexibility. The type of interfaces to offer depend directly on the type of data and the related use-cases. Such an approach may help to create revenue sources for data publishers while contributing to the sustainability of the Open Data streams on the Web.

In this demo paper we present an overview of possible multidimensional interfaces, containing query answering features, that may be implemented and offered as a service on different Open Stream data use cases. Furthermore, we introduce the initial developments of a Live Time Series server that support the creation of such interfaces through an extensible modular architecture.

2 Related Work

rdf Stream Processing (rsp) [1] defines a framework for continuous query answering over data streams. rsp engines can take into account one or more rdf streams to answer queries which results will be computed at several time instants to consider new available data on the streams. Triple Pattern Fragments Query Streamer (tpf-qs) [4] was introduced as an alternative to server-side rsp engines. with the goal of making rdf stream server-side publishing possible at a low cost, with a client-side rsp engine. In this approach, several time-annotation techniques were investigated, of which annotation using named graphs caused the least overhead. The results however showed that this approach has scalability issues when querying historic data.

The work presented in [2] raises the fundamental question of the sustainability of the Web of data and introduces a marketplace for federated query answering, giving clients the option to decide from which sources do they want to retrieve the data needed to answer a certain query and who will process the data to obtain that answer. The cost of the answer(s) of a given query can be derived from the cost of hosting the related data. However determining what is the cost of computing such answer(s) is still an open issue. In this direction, benchmarking mechanisms could be used to determine it in terms of computational costs. For instance, the solution proposed in the hobbit project which provides a generic platform for benchmarking question/answering processes centered around the challenges of data heterogeneity and scalability could be used to determine the costs associated to answering a certain query.

3 Multidimensional Interfaces

Multidimensional Interfaces [3] were introduced for generically fragmenting data with a specific order and publishing these fragments in an interface-level index. These interfaces can make multidimensional ordinal data automatically discoverable and consumable by clients using hypermedia controls. The goal of these interfaces is to raise the server expressivity while maintaining low server costs. A vocabularyFootnote 2 to formally describe multidimensional interfaces was introduced. It defines the concepts of Range Fragments and Range Gates. A Range Fragment is a Linked Data Fragment that specifies an ordinal interval for a predefined fragmentation strategy. A Range Gate is a Linked Data interface which exposes a set of Range Fragments. Using these concepts it is possible to define different fragmentation strategies that can be exposed as multidimensional interfaces.

In a general sense, for live time series originated from sensor observations it is possible to define ranges as follows:

 

Time Ranges.:

Time constrained intervals can be used to create Range Fragments or summaries that compute statistical variables. For example to expose average values of measurements at hour, day, week, month and year level.

Geospatial Ranges.:

Sensors locations can be used to create Range Fragments that comprises predefined geographical areas. For example, street occupation can be given on a neighborhood, city or country level.

Depending on the type of data and the specific use case other type of fragmentations and even combinations of them can be further defined.

4 Live Time Series Server

The Live Time Series Server is an ongoing implementation that aims on providing a cost efficient interface for Open Stream data publishing. Through an extensible modular architecture we allow data publishers to define multidimensional interfaces to provide query answering functionalities on top of their data. The code is available in a Github repositoryFootnote 3, along with the instructions of how to test it.

Fig. 1.
figure 1

Modular architecture of the Live Time Series server.

As shown in Fig. 1, the server is composed by three main modules:

 

Data Event Manager.:

This module receives RDF stream updates and fires an event to notify the availability of new data.

Communications Manager.:

Handle the communication between the Multidimensional Interfaces and the clients. It can expose the data as Range Fragments, created by each interface through http endpoints or by Websocket channels for publish/subscribe communication.

Multidimensional Interfaces.:

The interfaces expose the data stream according to its predefined logic. Each interface subscribes to a data event with the Data Event Manager and performs a new calculation with each update with the exception of the Raw Interface, which exposes the data as it is received. The data can be exposed as Range Fragments through http or pushed to subscribed clients through Websocket channels.

5 Conclusion and Future Work

We introduced Live Time Series server which provides a Linked Data fragments based interface for publishing live time series on the Web. By integrating the concept of multidimensional interfaces data publishers can define modules that perform predefined calculations over the data that suit a given use case. This increases the expressivity of the server while keeping its costs low. It also reduces clients implementation complexity and data processing time to obtain a query answer. Allowing features to be turned off and on on the time series server, helps data owners to define what features they want to support and make the trade-off with their budget. Data reusers may still implement some of these features as a third party, yet then a revenue model should be thought of [2].

In future work we plan to extend this approach by defining a mechanism that allows to calculate computational cost of multidimensional interfaces through benchmarking processes, in order to help determining their economical cost. Integrating mapping capabilities in order to work with non RDF data streams constitutes yet another future work line.