@comunica/query-sparql-hdt v4.0.2
Comunica SPARQL HDT
Comunica SPARQL Solid is a SPARQL query engine for JavaScript that can query over HDT files, which are highly compressed files for storing large RDF datasets.
This package can only be used within Node.js, and it does NOT work within browser environments.
This module is part of the Comunica framework. Click here to learn more about Comunica and HDT.
Install
$ yarn add @comunica/query-sparql-hdtor
$ npm install -g @comunica/query-sparql-hdtUsage
Show 100 triples from the HDT file stored at datasets/dataset-100M.hdt:
$ comunica-sparql-hdt hdt@datasets/dataset-100M.hdt "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"Show the help with all options:
$ comunica-sparql-hdt --helpJust 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 QueryEngine = require('@comunica/query-sparql-hdt').QueryEngine;
const bindingsStream = await myEngine.queryBindings(`
  SELECT ?s ?p ?o WHERE {
    ?s ?p ?o
  } LIMIT 100`, {
  sources: [ { type: 'hdt', value: 'datasets/dataset-100M.hdt' } ],
});
// Consume results as a stream (best performance)
bindingsStream.on('data', (binding) => {
  console.log(binding.toString());
});
bindingsStream.on('end', () => {
  // The data-listener will not be called anymore once we get here.
});
bindingsStream.on('error', (error) => {
  console.error(error);
});Read more about querying an application.
Usage as a SPARQL endpoint
$ comunica-sparql-hdt-http hdt@datasets/dataset-100M.hdtShow the help with all options:
$ comunica-sparql-hdt-http --helpThe 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 Comunica monorepo development environment.