Comunica SPARQL Link Traversal Init Actor
Comunica SPARQL Link Traversal is a SPARQL query engine for JavaScript that follows links to detect new sources.
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.
}"
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/'],
});
// 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 http://fragments.dbpedia.org/2015-10/en via the SPARQL protocol, i.e., a SPARQL endpoint.
$ comunica-sparql-link-traversal-http https://www.rubensworks.net/
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.