QLever (pronounced "Clever") is a SPARQL engine that can efficiently index and query very large knowledge graphs with up to 100 billion triples on a single standard PC or server. In particular, QLever is fast for queries that involve large intermediate or final results, which are notoriously hard for engines like Blazegraph or Virtuoso. QLever also supports search in text associated with the knowledge base, as well as SPARQL autocompletion. Here are demos of QLever on a variety of large knowledge graphs, including the complete Wikidata and OpenStreetMap. Those demos also feature QLever's context-sensitiv autocompletion, which makes SPARQL query construction so much easier.
QLever was first described and evaluated in this CIKM'17 paper. QLever has developed a lot since then. Qlever's autocompletion functionality and some other new features are described and evaluated in this paper. If you use QLever in your work, please cite those papers. QLever supports standard SPARQL 1.1 constructs like: LIMIT, OFFSET, ORDER BY, GROUP BY, HAVING, COUNT, DISTINCT, SAMPLE, GROUP_CONCAT, FILTER, REGEX, LANG, OPTIONAL, UNION, MINUS, VALUES, BIND. Predicate paths and subqueries are also supported. The SERVICE keyword is not yet supported. We aim at full SPARQL 1.1 support and we are almost there (except for SPARQL Update operations, which are a longer-term project).
For easy step-by-step instructions on how to build an index using QLever and then start a SPARQL endpoint using that index, see our Quickstart Guide. This will take you through a simple example dataset (120 Years of Olympics, with 1.8M triples) as well as a very large dataset (the complete Wikidata, with 16 billion triples as of 30.09.2021).
NEW 19.04.2022: There is now a very easy-to-use script qlever
that allows you to control all things QLever does. For example, you can index a dataset, start a server, and launch a UI as simply as qlever index start ui
. The script also provides all kinds of monitoring functions. Check it out on https://github.com/ad-freiburg/qlever-control .
QLever's advanced features are described here . For more in-depth information, see the various other .md
files in this folder. Some of this is outdated. We will gradually put more information on https://github.com/ad-freiburg/qlever/wiki