@zazuko/sparql-proxy

2.6.8 • Public • Published

sparql-proxy

This middleware forwards SPARQL queries to a SPARQL endpoint. It supports GET and POST (direct and URL-encoded) query requests and basic authentication.

Usage

The module exports a function to build a middleware. The function must be called with a single options object. The following options are supported:

  • endpointUrl: The URL of the SPARQL endpoint
  • authentication: Credentials for basic authentication (object with user and password property)
  • queryOperation: The query operation which will be used to access the SPARQL endpoint (default: postQueryDirect)
  • fetchOptions: an object that will be merged (and potentially override) with node-fetch options used for the request from the proxy to the SPARQL endpoint. It can be used to override fetch headers: fetchOptions.headers
  • timeout: configure a timeout in milliseconds (default value: 20000)
  • cache: configure the cache with the following fields:
    • url: connection string for the Redis instance (redis://… or rediss://…)
    • ttl: the time a value should be kept in the cache in seconds (default value: 3600, which is one hour)
    • clearAtStartup: set to true to remove all entries in the cache at the start of the proxy (default: false)
    • disabled: set to true to disable the cache (default: false)
    • prefix: set a custom prefix for all entries in Redis (default: default)

Example

// load the module
const sparqlProxy = require('@zazuko/sparql-proxy')

// create a middleware instance and add it to the routing
app.use(sparqlProxy({
  endpointUrl: 'https://dbpedia.org/sparql'
})

Debug

This package uses debug, you can get debug logging via: DEBUG=sparql-proxy. Since Trifid makes heavy use of this package, using DEBUG=trifid:* also enables logging in this package.

Readme

Keywords

none

Package Sidebar

Install

npm i @zazuko/sparql-proxy

Weekly Downloads

34

Version

2.6.8

License

MIT

Unpacked Size

30.1 kB

Total Files

11

Last publish

Collaborators

  • zazuko-bot
  • tpluscode
  • ludovicm67
  • ktk