comunica / comunica-actor-init-sparql-hdt

📬 A Comunica engine for SPARQL query evaluation over HDT files
https://comunica.dev/docs/query/advanced/hdt/
Other
0 stars 2 forks source link

Deprecated in favor of https://github.com/comunica/comunica-feature-hdt

Comunica SPARQL HDT Init Actor

Build Status npm version

A comunica SPARQL HDT Init Actor.

This module is part of the Comunica framework.

Click here to learn more about querying HDT files with Comunica.

Install

HDT requires GCC 4.9 or higher to be available.

$ yarn global add @comunica/actor-init-sparql-hdt

or

$ npm install -g @comunica/actor-init-sparql-hdt

Usage from the command line

Show 100 triples from a HDT file:

$ comunica-sparql-hdt hdtFile@myfile.hdt "CONSTRUCT WHERE { ?s ?p ?o } LIMIT 100"

Show the help with all options:

$ comunica-sparql-hdt --help

Just like Comunica SPARQL, a dynamic variant (comunica-dynamic-sparql-hdt) 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-hdt').newEngine;
const myEngine = newEngine();

const result = await myEngine.query(`
  SELECT ?s ?p ?o WHERE {
    ?s ?p <http://dbpedia.org/resource/Belgium>.
    ?s ?p ?o
  } LIMIT 100`, {
  sources: ['http://fragments.dbpedia.org/2015/en'],
});

// 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-hdt-http hdtFile@/path/to/my/file.hdt

Show the help with all options:

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

_Read more about setting up a SPARQL endpoint._