Lars-H / slurp

SLURP, an interactive SPARQL query planner for client-side query processing over Triple Pattern Fragment server. SLURP assists Linked Data consumers in visualizing, modifying, executing and analyzing alternative query plans.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

About

Triple Pattern Fragments (TPFs) allow for querying large RDF graphs with high availability by offering triple pattern-based access to the graphs. This limited expressivity of TPFs leads to higher client-side querying cost and the challenge of devising efficient query plans when evaluating SPARQL queries. Different heuristics and cost-model based query planning approaches have been proposed to obtain such efficient query plans. However, we require means to visualize, modify, and execute alternative query plans, to better understand the differences between existing planning approaches and their potential shortcomings.

To this end, we propose SLURP, an interactive SPARQL query planner that assists RDF data consumers to visualize, modify, and compare the performance of different query execution plans over TPFs.

Demo

Check out the SLURP Demo here.

Installation

SLURP is a containerized application that can be deployed using docker and docker-compose.

The docker container are executed by typing the comand

sudo docker-compose build
sudo docker-compose up

Once all docker containers have been build and started, SLURP is available at:

http://localhost:3000/

Components

Frontend

The frontend is realized as a React.js web application.

Backend

The backend is provided by Flask server that exposes an API which allows to interact with the Query Engine, the Celery Task Queue, and the MongoDB database.

Task Queue

Implements a simple worker using Celery. A worker can execute a query plan provided to the API of the backend.

Crop Engine

Source code for the query engine. The code is based on CROP and nLDE and has been adjusted for the purpose of this demonstration.

License

This project is licensed under the MIT License.

About

SLURP, an interactive SPARQL query planner for client-side query processing over Triple Pattern Fragment server. SLURP assists Linked Data consumers in visualizing, modifying, executing and analyzing alternative query plans.

License:MIT License


Languages

Language:Python 77.6%Language:TypeScript 20.2%Language:SCSS 1.1%Language:JavaScript 0.5%Language:HTML 0.3%Language:Dockerfile 0.2%Language:CSS 0.1%Language:Shell 0.0%