SPARQL playground is a standalone multi-platform web application used to learn SPARQL (implemented in Java Spring Boot and AngularJS).
It uses Eclipse RDF4j Native as SPARQL Engine.
It is beeing developed at the SIB Swiss Institute of Bioinformatics.
See the poster to have a quick overview of the tool.
Or see a live demo directly here: https://sparql-playground.sib.swiss/
You can also see a live version of nextprot samples here: http://sparql-playground.nextprot.org/
- Download the latest release
- Unzip the folder and run the start script (start.bat for windows users or start.sh for unix users) (it requires java 1.9 or higher)
- Once the application started you should open your browser on: http://localhost:8888
- Select the examples and click on the GO button
You can also use docker by building the image and running it with the
docker build -t sparql-playground .
docker run -p 8888:8888 -v `PWD`/default:/app/default sparql-playground
There are some scenarios predefined:
-
Default scenario comes with less than 100 triplets and does not require any domain knowledge (persons and their pets), run the
start.sh
(Linux, Mac) orstart.bat
(Windows) script -
neXtProt helps you understand the neXtProt rdf model, run the
start-nextprot.sh
(Linux, Mac) orstart-nextprot.bat
(Windows) script -
UniProt helps you understand the UniProt rdf model, run the
start-uniprot.sh
(Linux, Mac) orstart-uniprot.bat
(Windows) script
- Introduction to RDF and SPARQL
- RDF and SPARQL within neXtProt
- UniProt data model and federated queries
- You can create your own scenario by giving a directory as argument:
java -jar sparql-playgroud.war your-directory-name
Your directory should follow this convention:
- ttl-data: a folder containing turtle file(s)
- queries: a folder containing the example queries showed in the first page
- prefixes.ttl: a file containing the default prefixes to be added to queries
- pages: pages with markdown files for the Documentation tab
Notes:
-
If your dataset is reasonably large that can't be fit in memory (> 50'000 triples) you may want to add the property
-Drepository.type=native
. This will create a native repository (instead of a in memory datastore). The database will be persisted in asesame-db
folder. The first time it will take some time to create the structure, but once the application is restarted it will be instantaneous. -
For development purposes you may want to set the java property
-Dspring.profiles.active=nocache
so the cache is not enabled (example queries, page, images, faqs ...)
- The SPARQL engine is Eclipse RDF4j
- The backend uses Spring Boot
- The frontend is build with angularJS 1.3 and bootstrap 3
- Requires Java 1.9 or higher
For details see the pom file.
The project is opensource and free under the GNU GPL v2 License. The sources are available on GitHub.
This project was forked from the neXtProt snorql interface.
For any related questions do not hesitate to contact us.