Comunica SPARQL jQuery Widget
Try the Comunica SPARQL jQuery Widget online.
This jQuery widget is a browser-based user interface to the Comunica SPARQL client. It allows users to execute SPARQL queries over one or multiple heterogeneous interfaces, such as Triple Pattern Fragments interfaces.
Using the code
yarn installto fetch dependencies and build the browser version of the client code.
yarn run startto run a local Web server.
- Edit datasources in
settings.jsonand queries in the
queriesfolder, and run
queries-to-jsonto compile both of them in a single JSON file.
yarn run productionto generate a production version in the
How the browser client works
The original Comunica SPARQL engine is written for the Node.js environment. The Webpack library makes it compatible with browsers.
The query engine itself runs in a background thread using Web Workers. The user interface (
ldf-client-ui.js) instructs the worker (
ldf-client-worker.js) to evaluate queries by sending messages, and the worker sends results back.
Running in a Docker container
Configure your widget by editing the settings.json file.
Next, edit the queries directory in which you should insert the queries that will be present by default in the widget.
Build the Docker container as follows:
docker build -t comunica-sparql-widget .
After that, you can run your newly created container by mounting your current folder to the Docker container:
docker run -p 3000:80 -it --rm comunica-sparql-widget
Settings and queries can be passed at runtime by mounting your custom
queries.json to the Docker container:
# Compile queries.json from settings.json and the files in the queries folder ./queries-to-json # Provide the compiled queries.json at runtime docker run -v $(pwd)/queries.json:/usr/share/nginx/html/queries.json -p 3000:80 -it --rm comunica-sparql-widget
Access on http://localhost:3000
The Linked Data Fragments jQuery Widget was originally written by Ruben Verborgh and ported for Comunica SPARQL by Ruben Taelman.
This code is copyrighted by Ghent University – imec and released under the MIT license.