@comunica/query-sparql-ostrich v2.0.1-alpha.1.0
Comunica SPARQL OSTRICH
Comunica SPARQL OSTRICH is a SPARQL query engine for JavaScript that enables versioned querying over OSTRICH archives.
This module is part of the Comunica framework.
Install
$ yarn add @comunica/query-sparql-ostrich
or
$ npm install -g @comunica/query-sparql-ostrich
Install a prerelease
Since this package is still in testing phase, you may want to install a prerelease of this package, which you can do by appending @next
to the package name during installation.
$ yarn add @comunica/query-sparql-ostrich@next
or
$ npm install -g @comunica/query-sparql-ostrich@next
Usage
Show 100 triples from an OSTRICH store at version 1:
$ comunica-sparql-ostrich ostrichFile@dataset.ostrich \
"SELECT * WHERE {
GRAPH <version:1> {
?s ?p ?o
}
} LIMIT 100"
Show the help with all options:
$ comunica-sparql-ostrich --help
Just like Comunica SPARQL,
a dynamic variant (comunica-dynamic-sparql-ostrich
) 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-ostrich').QueryEngine;
const myEngine = new QueryEngine();
const bindingsStream = await myEngine.queryBindings(`
SELECT * WHERE {
GRAPH <version:1> {
?s ?p ?o
}
} LIMIT 100`, {
sources: [{ type: 'ostrichFile', value: 'dataset.ostrich' }],
lenient: true,
});
// Consume results as a stream (best performance)
bindingsStream.on('data', (binding) => {
console.log(binding.toString()); // Quick way to print bindings for testing
console.log(binding.has('s')); // Will be true
// Obtaining values
console.log(binding.get('s').value);
console.log(binding.get('s').termType);
console.log(binding.get('p').value);
console.log(binding.get('o').value);
});
bindingsStream.on('end', () => {
// The data-listener will not be called anymore once we get here.
});
bindingsStream.on('error', (error) => {
console.error(error);
});
// Consume results as an array (easier)
const bindings = await bindingsStream.toArray();
console.log(bindings[0].get('s').value);
console.log(bindings[0].get('s').termType);
Read more about querying an application.
Usage as a SPARQL endpoint
Start a webservice exposing an OSTRICH dataset via the SPARQL protocol, i.e., a SPARQL endpoint.
$ comunica-sparql-ostrich-http ostrichFile@dataset.ostrich
Show the help with all options:
$ comunica-sparql-ostrich-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.
1 year ago