0.2.0 • Published 2 years ago

@comunica/query-sparql-reasoning v0.2.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Comunica SPARQL 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-reasoning

or

$ npm install -g @comunica/query-sparql-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-reasoning@next

or

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

Usage

To query over a profile and the foaf ontology:

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

Just like Comunica SPARQL, a dynamic variant (comunica-dynamic-sparql-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-reasoning-http https://www.rubensworks.net/ http://xmlns.com/foaf/spec/index.rdf

Show the help with all options:

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

@comunica/actor-context-preprocess-reasoning-defaults@comunica/actor-context-preprocess-source-to-destination@comunica/actor-dereference-constant-hylar-owl2rl@comunica/actor-dereference-constant-hylar-rdfs@comunica/actor-dereference-fallback@comunica/actor-dereference-http@comunica/actor-dereference-rdf-parse@comunica/actor-dereference-rule-parse@comunica/actor-hash-bindings-sha1@comunica/actor-http-fetch@comunica/actor-http-proxy@comunica/actor-init-query@comunica/actor-optimize-query-operation-bgp-to-join@comunica/actor-optimize-query-operation-join-bgp@comunica/actor-optimize-query-operation-join-connected@comunica/actor-optimize-rule-pattern-restriction@comunica/actor-optimize-rule-remove-false-conclusion@comunica/actor-query-operation-ask@comunica/actor-query-operation-bgp-join@comunica/actor-query-operation-construct@comunica/actor-query-operation-describe-subject@comunica/actor-query-operation-distinct-hash@comunica/actor-query-operation-extend@comunica/actor-query-operation-filter-sparqlee@comunica/actor-query-operation-from-quad@comunica/actor-query-operation-group@comunica/actor-query-operation-join@comunica/actor-query-operation-leftjoin@comunica/actor-query-operation-minus@comunica/actor-query-operation-nop@comunica/actor-query-operation-orderby-sparqlee@comunica/actor-query-operation-path-alt@comunica/actor-query-operation-path-inv@comunica/actor-query-operation-path-link@comunica/actor-query-operation-path-nps@comunica/actor-query-operation-path-one-or-more@comunica/actor-query-operation-path-seq@comunica/actor-query-operation-path-zero-or-more@comunica/actor-query-operation-path-zero-or-one@comunica/actor-query-operation-project@comunica/actor-query-operation-quadpattern@comunica/actor-query-operation-reduced-hash@comunica/actor-query-operation-service@comunica/actor-query-operation-slice@comunica/actor-query-operation-sparql-endpoint@comunica/actor-query-operation-union@comunica/actor-query-operation-update-add-rewrite@comunica/actor-query-operation-update-clear@comunica/actor-query-operation-update-compositeupdate@comunica/actor-query-operation-update-copy-rewrite@comunica/actor-query-operation-update-create@comunica/actor-query-operation-update-deleteinsert@comunica/actor-query-operation-update-drop@comunica/actor-query-operation-update-load@comunica/actor-query-operation-update-move-rewrite@comunica/actor-query-operation-values@comunica/actor-query-parse-graphql@comunica/actor-query-parse-sparql@comunica/actor-query-result-serialize-json@comunica/actor-query-result-serialize-rdf@comunica/actor-query-result-serialize-simple@comunica/actor-query-result-serialize-sparql-csv@comunica/actor-query-result-serialize-sparql-json@comunica/actor-query-result-serialize-sparql-tsv@comunica/actor-query-result-serialize-sparql-xml@comunica/actor-query-result-serialize-stats@comunica/actor-query-result-serialize-table@comunica/actor-query-result-serialize-tree@comunica/actor-rdf-join-entries-sort-cardinality@comunica/actor-rdf-join-inner-hash@comunica/actor-rdf-join-inner-multi-bind@comunica/actor-rdf-join-inner-multi-empty@comunica/actor-rdf-join-inner-multi-smallest@comunica/actor-rdf-join-inner-nestedloop@comunica/actor-rdf-join-inner-none@comunica/actor-rdf-join-inner-single@comunica/actor-rdf-join-inner-symmetrichash@comunica/actor-rdf-join-minus-hash@comunica/actor-rdf-join-minus-hash-undef@comunica/actor-rdf-join-optional-bind@comunica/actor-rdf-join-optional-nestedloop@comunica/actor-rdf-join-selectivity-variable-counting@comunica/actor-rdf-metadata-all@comunica/actor-rdf-metadata-extract-allow-http-methods@comunica/actor-rdf-metadata-extract-hydra-controls@comunica/actor-rdf-metadata-extract-hydra-count@comunica/actor-rdf-metadata-extract-hydra-pagesize@comunica/actor-rdf-metadata-extract-patch-sparql-update@comunica/actor-rdf-metadata-extract-put-accepted@comunica/actor-rdf-metadata-extract-request-time@comunica/actor-rdf-metadata-extract-sparql-service@comunica/actor-rdf-metadata-primary-topic@comunica/actor-rdf-parse-html@comunica/actor-rdf-parse-html-microdata@comunica/actor-rdf-parse-html-rdfa@comunica/actor-rdf-parse-html-script@comunica/actor-rdf-parse-jsonld@comunica/actor-rdf-parse-n3@comunica/actor-rdf-parse-rdfxml@comunica/actor-rdf-parse-xml-rdfa@comunica/actor-rdf-reason-rule-restriction@comunica/actor-rdf-resolve-hypermedia-links-next@comunica/actor-rdf-resolve-hypermedia-links-queue-fifo@comunica/actor-rdf-resolve-hypermedia-none@comunica/actor-rdf-resolve-hypermedia-qpf@comunica/actor-rdf-resolve-hypermedia-sparql@comunica/actor-rdf-resolve-quad-pattern-federated@comunica/actor-rdf-resolve-quad-pattern-hypermedia@comunica/actor-rdf-resolve-quad-pattern-intercept-reasoned@comunica/actor-rdf-resolve-quad-pattern-rdfjs-source@comunica/actor-rdf-serialize-jsonld@comunica/actor-rdf-serialize-n3@comunica/actor-rdf-update-hypermedia-patch-sparql-update@comunica/actor-rdf-update-hypermedia-put-ldp@comunica/actor-rdf-update-hypermedia-sparql@comunica/actor-rdf-update-quads-hypermedia@comunica/actor-rdf-update-quads-intercept-reasoned@comunica/actor-rdf-update-quads-rdfjs-store@comunica/actor-rule-parse-hylar@comunica/actor-rule-parse-n3@comunica/actor-rule-resolve-hypermedia@comunica/bus-http-invalidate@comunica/bus-query-operation@comunica/context-entries@comunica/core@comunica/logger-void@comunica/mediator-all@comunica/mediator-combine-pipeline@comunica/mediator-combine-union@comunica/mediator-join-coefficients-fixed@comunica/mediator-number@comunica/mediator-race@comunica/reasoning-context-entries@comunica/runner@comunica/runner-clin3
0.1.0

2 years ago

0.0.3

2 years ago

0.2.0

2 years ago

0.0.4

2 years ago

0.0.2-alpha.9.0

2 years ago

0.0.2-alpha.8.0

2 years ago

0.0.2-alpha.7.0

2 years ago