Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

SPARQL Unlimited

Execute paged SPARQL updates from Mustache templates.


Compile using Leiningen:

lein uberjar

Run from command-line:

java -jar sparql_unlimited.jar --help

You will need to provide a configuration file and a SPARQL update. The configuration in EDN is a map with the following keys:

  • sparql-endpoint: URL of the SPARQL 1.1 Update endpoint, such as http://localhost:8890/sparql-auth.
  • username: Name of a user authorized to run SPARQL updates, such as dba.
  • password: Password of the user, such as dba.
  • page-size (optional, default = 10000): Page size of the number of bindings to process in one update.
  • timeout (optional, default = 3600000): Maximum execution time of the SPARQL operaration in milliseconds.
  • max-attempts (optional, default = 5): Maximum number of attempts of running the update if timeout occurs until an exception is thrown.
  • default-graph (optional): IRI of the default graph to update.
  • params (optional): Map of parameters to use in rendering Mustache template of the SPARQL update.
  • start-from (optional): An offset to start from when restarting a paged update.

The SPARQL update can either be a SPARQL 1.1 Update file or a Mustache template that can render SPARQL 1.1 Update. If an update is to be executed in pages, it needs to be provided in a Mustache template that uses the parameters limit to determine the size of the page to be updated. If an update does not filter out the already processed bindings in its WHERE clause, it must filter these bindings by using an ORDER BY and an increasing OFFSET using the offset variable.


The tool can be used only with Virtuoso. Since there is no standard stopping condition for paged SPARQL updates, the tool uses a Virtuoso-specific one. The stopping condition detects if Virtuoso reports 0 modified triples, so that it can be only used for updates that converge to 0 triples.


Copyright © 2015-2016 Jindřich Mynarz

Distributed under the Eclipse Public License version 1.0.


Execute paged SPARQL updates from Mustache templates








No releases published


No packages published