Skip to content

1) Streamer

Riccardo Tommasini edited this page May 23, 2017 · 11 revisions

Benchmark's data are stored in a relational database, annotated in RDF using R2RML mappings. and streamed using TripleWave. The current implementation consists of two subtiers, the data tier and triplewave:

Data Tier

Run

We suggest deploying Postgress and Sesame together into a single VM. This is possible running:

docker-compose up -d

from the folder /rsplab/streamer/citybench/data

running make datatier

from the main /rsplab/streamer/citybench/

or manually running the docker images. Notably, Sesame MUST be linked to postgres.

Create Sesame Repository

TripleWave

To stream CityBench data we sue a modified version of TripleWave that reads data from Sesame and publish them on the web.

This image is available also on DockeHub as streamreasoning/triplewave:rsplab.

To deploy and undeploy CityBench Stream we provide two bash scripts: start.sh

  • checks if a new version of TripleWave docker image is available;
  • generates configuration properties for the chosen streams to use in TripleWave; Available custom fields are:
    • run.uuid that identifies the current stream run, and
    • stream name that identifies the stream;
  • builds a docker image per stream starting to the base one on DockerHub;
  • runs such images in delayed mode, i.e. the need a REST GET call to their /start endpoint to run;
  • [Optional] -q /path/to/list/of/stream/names can be used to deploy several streams at once
  • [] TODO: making optional the run an instance of to monitor the streams; (now default)
  • [] TODO: making optional the creation of creates dashboards remotely on Grafana for each stream. (now default) ```stop.sh`
  • stops all the running containers
  • delete all the stopped containers
  • delete all the non-base images

AAA Change base_url to the one of your sesame endpoint in streamer/citybench/scripts/build

LSBench

  • Generator
  • Fuseki
  • Triplewave
    • Run
    • Start

Register Mode

How to extend Streamer