@comunica/query-sparql-file-reasoning
TypeScript icon, indicating that this package has built-in type declarations

0.2.0 • Public • Published

Comunica SPARQL File Reasoning Init Actor

npm version

Comunica is a SPARQL query engine for JavaScript that - this build of the engine, allows data to be enriched with reasoning results.

This module is part of the Comunica framework.

Install

$ yarn add @comunica/query-sparql-file-reasoning

or

$ npm install -g @comunica/query-sparql-file-reasoning

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-file-reasoning@next

or

$ npm install -g @comunica/query-sparql-file-reasoning@next

Usage

To query over a profile and the foaf ontology:

$ comunica-sparql-file-reasoning https://www.rubensworks.net/ \
  http://xmlns.com/foaf/spec/index.rdf \
  -q 'SELECT * WHERE { <https://www.rubensworks.net/#me> a ?o }' \
  -r rdfs

By default, RDFS reasoning is applied if no rules are specified. Alternatively you can specify owl2rl or provide a dereferencable link to another rule source.

Show the help with all options:

$ comunica-sparql-file-reasoning --help

Just like Comunica SPARQL, a dynamic variant (comunica-dynamic-sparql-file-reasoning) 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-link-traversal').QueryEngine;
const myEngine = new QueryEngine();
import { KeysRdfDereferenceConstantHylar } from '@comunica/reasoning-context-entries';

const bindingsStream = await myEngine.queryBindings(`
  SELECT * WHERE { <https://www.rubensworks.net/#me> a ?o }`, {
    sources: [
      'https://www.rubensworks.net/',
      'http://xmlns.com/foaf/spec/index.rdf'
    ],
    rules: KeysRdfDereferenceConstantHylar.rdfs,
});

// 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('o')); // Will be true

    // Obtaining values
    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('o').value);
console.log(bindings[0].get('o').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-file-reasoning-http https://www.rubensworks.net/ http://xmlns.com/foaf/spec/index.rdf

Show the help with all options:

$ comunica-sparql-file-reasoning --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.

Read more about setting up a SPARQL endpoint.

Package Sidebar

Install

npm i @comunica/query-sparql-file-reasoning

Weekly Downloads

0

Version

0.2.0

License

MIT

Unpacked Size

131 kB

Total Files

22

Last publish

Collaborators

  • jeswr
  • joachimvh
  • rubensworks
  • rubenverborgh
  • dexagod