@comunica/query-sparql-hdt v3.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-hdt
or
$ npm install -g @comunica/query-sparql-hdt
Usage
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 --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 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.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 Comunica monorepo development environment.