A Comunica engine for SPARQL query evaluation over HDT files


011.8.09 months ago3 years agoMinified + gzip package size for @comunica/actor-init-sparql-hdt in KB


Comunica SPARQL HDT Init Actor

Build Status npm version

A comunica SPARQL HDT Init Actor.

This module is part of the Comunica framework.

Click here to learn more about querying HDT files with Comunica.


HDT requires GCC 4.9 or higher to be available.

$ yarn global add @comunica/actor-init-sparql-hdt


$ npm install -g @comunica/actor-init-sparql-hdt

Usage from the command line

Show 100 triples from a HDT file:

$ comunica-sparql-hdt hdtFile@myfile.hdt "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"

Show the help with all options:

$ comunica-sparql-hdt --help

Just like Comunica SPARQL, a dynamic variant (comunica-dynamic-sparql-hdt) also exists.

Read more about querying from the command line.

Usage within application

This engine can be used in JavaScript/TypeScript applications as follows:

const newEngine = require('@comunica/actor-init-sparql-hdt').newEngine;
const myEngine = newEngine();

const result = await myEngine.query(`
  SELECT ?s ?p ?o WHERE {
    ?s ?p <http://dbpedia.org/resource/Belgium>.
    ?s ?p ?o
  } LIMIT 100`, {
  sources: ['http://fragments.dbpedia.org/2015/en'],

// Consume results as a stream (best performance)
result.bindingsStream.on('data', (binding) => {



// Consume results as an array (easier)
const bindings = await result.bindings();

Read more about querying an application.

Usage as a SPARQL endpoint

Start a webservice exposing http://fragments.dbpedia.org/2015-10/en via the SPARQL protocol, i.e., a SPARQL endpoint.

$ comunica-sparql-hdt-http hdtFile@/path/to/my/file.hdt

Show the help with all options:

$ comunica-sparql-hdt-http --help

The SPARQL endpoint can only be started dynamically. An alternative config file can be passed via the COMUNICA_CONFIG environment variable.

Use bin/http.js when running in the GitHub repo.

Read more about setting up a SPARQL endpoint.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.