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.
Check out the SLURP Demo here.
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/
The frontend is realized as a React.js web application.
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.
Implements a simple worker using Celery. A worker can execute a query plan provided to the API of the backend.
Source code for the query engine. The code is based on CROP and nLDE and has been adjusted for the purpose of this demonstration.
This project is licensed under the MIT License.