@comunica/actor-init-sparql-link-traversal v0.0.2-alpha.e75a15a.0
Comunica SPARQL Link Traversal Init Actor
Comunica SPARQL Link Traversal is a SPARQL query engine for JavaScript that follows links to detect new sources.
Warning: due to the uncontrolled nature of the Web, it is recommended to always enable lenient mode when doing link traversal.
This module is part of the Comunica framework.
Install
$ yarn add @comunica/actor-init-sparql-link-traversal
or
$ npm install -g @comunica/actor-init-sparql-link-traversal
Usage
Show 100 triples from http://fragments.dbpedia.org/2015-10/en:
$ comunica-sparql-link-traversal https://www.rubensworks.net/ \
"SELECT DISTINCT * WHERE {
<https://www.rubensworks.net/#me> <http://xmlns.com/foaf/0.1/knows> ?p.
<https://ruben.verborgh.org/profile/#me> <http://xmlns.com/foaf/0.1/knows> ?p.
?p <http://xmlns.com/foaf/0.1/name> ?name.
}" --lenient
Show the help with all options:
$ comunica-sparql-link-traversal --help
Just like Comunica SPARQL,
a dynamic variant (comunica-dynamic-sparql-link-traversal
) 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-link-traversal').newEngine;
const myEngine = newEngine();
const result = await myEngine.query(`
SELECT DISTINCT * WHERE {
<https://www.rubensworks.net/#me> <http://xmlns.com/foaf/0.1/knows> ?p.
<https://ruben.verborgh.org/profile/#me> <http://xmlns.com/foaf/0.1/knows> ?p.
?p <http://xmlns.com/foaf/0.1/name> ?name.
}`, {
sources: ['https://www.rubensworks.net/'],
lenient: true,
});
// Consume results as a stream (best performance)
result.bindingsStream.on('data', (binding) => {
console.log(binding.get('?s').value);
console.log(binding.get('?s').termType);
console.log(binding.get('?p').value);
console.log(binding.get('?o').value);
});
// Consume results as an array (easier)
const bindings = await result.bindings();
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 https://www.rubensworks.net/ via the SPARQL protocol, i.e., a SPARQL endpoint.
$ comunica-sparql-link-traversal-http https://www.rubensworks.net/ --lenient
Show the help with all options:
$ comunica-sparql-link-traversal-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.
2 years ago
3 years ago