Skip to content

calipho-sib/sparql-playground

Repository files navigation

Sparql Playground

Build Status

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/

Installation

  • 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

Docker

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

Predefined RDF scenarios / datasets

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) or start.bat (Windows) script

  • neXtProt helps you understand the neXtProt rdf model, run the start-nextprot.sh (Linux, Mac) or start-nextprot.bat (Windows) script

  • UniProt helps you understand the UniProt rdf model, run the start-uniprot.sh (Linux, Mac) or start-uniprot.bat (Windows) script

Slides of the SPARQL course at SIB Lausanne, 8th of November 2016

Other presentations

Create your own RDF scenario (no programming skills are required)

  • 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 a sesame-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 ...)

Technology in use

  • 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.

License

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.

Contact

For any related questions do not hesitate to contact us.