# @comunica/actor-query-source-identify-hypermedia-sparql

> A sparql query-source-identify-hypermedia actor

Latest version **5.4.0** (published 2026-09-14) · MIT license · 0 weekly downloads

## Install

```sh
npm install @comunica/actor-query-source-identify-hypermedia-sparql
pnpm add @comunica/actor-query-source-identify-hypermedia-sparql
yarn add @comunica/actor-query-source-identify-hypermedia-sparql
bun add @comunica/actor-query-source-identify-hypermedia-sparql
```

## Health

**Score 60/100 (C)** — status: active.

Positive: has types; no vulnerabilities; recently updated; high maintenance score.

Warnings: low downloads; no esm support.

## Facts

| | |
|---|---|
| Version | 5.4.0 |
| Published | 2026-09-14 |
| First published | 2024-02-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 16 |
| Unpacked size | 152.6 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 583 |
| Maintainers | joachimvh, rubensworks, rubenverborgh, dexagod, jeswr |
| Keywords | comunica, actor, query-source-identify-hypermedia, sparql |

## Links

- npm: https://www.npmjs.com/package/@comunica/actor-query-source-identify-hypermedia-sparql
- Repository: https://github.com/comunica/comunica
- Homepage: https://comunica.dev/
- Issues: https://github.com/comunica/comunica/issues
- Funding: https://opencollective.com/comunica-association
- npm.io page: https://npm.io/package/@comunica/actor-query-source-identify-hypermedia-sparql

## Dependencies (16)

- [lru-cache](https://npm.io/package/lru-cache.md) ^11.2.2
- [rdf-terms](https://npm.io/package/rdf-terms.md) ^2.0.0
- [@rdfjs/types](https://npm.io/package/@rdfjs/types.md) *
- [asynciterator](https://npm.io/package/asynciterator.md) ^3.10.0
- [@comunica/core](https://npm.io/package/@comunica/core.md) ^5.4.0
- [@comunica/types](https://npm.io/package/@comunica/types.md) ^5.4.0
- [@comunica/bus-http](https://npm.io/package/@comunica/bus-http.md) ^5.4.0
- [fetch-sparql-endpoint](https://npm.io/package/fetch-sparql-endpoint.md) ^7.2.0
- [@comunica/utils-algebra](https://npm.io/package/@comunica/utils-algebra.md) ^5.4.0
- [@comunica/utils-metadata](https://npm.io/package/@comunica/utils-metadata.md) ^5.4.0
- [@comunica/context-entries](https://npm.io/package/@comunica/context-entries.md) ^5.4.0
- [@comunica/bus-query-serialize](https://npm.io/package/@comunica/bus-query-serialize.md) ^5.4.0
- [@comunica/utils-query-operation](https://npm.io/package/@comunica/utils-query-operation.md) ^5.4.0
- [@comunica/utils-bindings-factory](https://npm.io/package/@comunica/utils-bindings-factory.md) ^5.4.0
- [@comunica/bus-merge-bindings-context](https://npm.io/package/@comunica/bus-merge-bindings-context.md) ^5.4.0
- [@comunica/bus-query-source-identify-hypermedia](https://npm.io/package/@comunica/bus-query-source-identify-hypermedia.md) ^5.4.0

## Alternatives

- [gamedig](https://npm.io/package/gamedig.md) — 29.3K weekly downloads
- [join-monster](https://npm.io/package/join-monster.md) — 12.8K weekly downloads
- [masked](https://npm.io/package/masked.md) — 5.5K weekly downloads
- [@comunica/actor-query-process-explain-logical](https://npm.io/package/@comunica/actor-query-process-explain-logical.md) — 4.7K weekly downloads
- [@veracity/vui](https://npm.io/package/@veracity/vui.md) — 4.6K weekly downloads

## Recent versions

- 5.4.0 (latest) — 2026-09-14
- 4.4.2-alpha.49.0 (next) — 2025-10-22
- 5.3.0 — 2026-07-10
- 5.2.3 — 2026-05-26
- 5.2.2 — 2026-05-03
- 5.2.0 — 2026-04-14
- 5.1.3 — 2026-01-30
- 5.1.2 — 2026-01-21
- 5.1.0 — 2026-01-16
- 5.0.3 — 2026-01-12
- 5.0.2 — 2026-01-12
- 5.0.0 — 2026-01-08
- 4.5.0 — 2025-11-18
- 4.4.1 — 2025-09-25
- 4.4.0 — 2025-09-17
- … 16 more at https://npm.io/package/@comunica/actor-query-source-identify-hypermedia-sparql/versions

## README

# Comunica SPARQL Query Source Identify Hypermedia Actor

[![npm version](https://badge.fury.io/js/%40comunica%2Factor-query-source-identify-hypermedia-sparql.svg)](https://www.npmjs.com/package/@comunica/actor-query-source-identify-hypermedia-sparql)

A [Query Source Identify Hypermedia](https://github.com/comunica/comunica/tree/master/packages/bus-query-source-identify-hypermedia) actor that handles [SPARQL endpoints](https://www.w3.org/TR/sparql11-protocol/).

This module is part of the [Comunica framework](https://github.com/comunica/comunica),
and should only be used by [developers that want to build their own query engine](https://comunica.dev/docs/modify/).

[Click here if you just want to query with Comunica](https://comunica.dev/docs/query/).

## Install

```bash
$ yarn add @comunica/actor-query-source-identify-hypermedia-sparql
```

## Configure

After installing, this package can be added to your engine's configuration as follows:
```text
{
  "@context": [
    ...
    "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-source-identify-hypermedia-sparql/^1.0.0/components/context.jsonld"
  ],
  "actors": [
    ...
    {
      "@id": "urn:comunica:default:query-source-identify-hypermedia/actors#sparql",
      "@type": "ActorQuerySourceIdentifyHypermediaSparql",
      "mediatorHttp": { "@id": "urn:comunica:default:http/mediators#main" },
      "mediatorMergeBindingsContext": { "@id": "urn:comunica:default:merge-bindings-context/mediators#main" },
      "mediatorQuerySerialize": { "@id": "urn:comunica:default:query-serialize/mediators#main" },
      "sparqlServerSoftwarePatterns": ["Virtuoso", "Fuseki"]
    }
  ]
}
```

### Config Parameters

* `mediatorHttp`: A mediator over the [HTTP bus](https://github.com/comunica/comunica/tree/master/packages/bus-http).
* `mediatorMergeBindingsContext`: A mediator over the [Merge Bindings Context bus](https://github.com/comunica/comunica/tree/master/packages/bus-merge-bindings-context).
* `mediatorQuerySerialize`: A mediator over the [Query Serialize bus](https://github.com/comunica/comunica/tree/master/packages/bus-query-serialize).
* `checkUrlSuffix`: If URLs ending with '/sparql' should also be considered SPARQL endpoints, defaults to `true`.
* `forceHttpGet`: If queries should be sent via HTTP GET instead of POST, defaults to `false`.
* `forceSourceType`: Forces all sources provided to be interpreted as SPARQL endpoints, defaults to `false`.
* `cacheSize`: The cache size for COUNT queries, defaults to `1024`.
* `bindMethod`: The query operation for communicating bindings, defaults to `'values'`, alt: `'union'` or `'filter'`.
* `countTimeout`: Timeout in ms of how long count queries are allowed to take. If the timeout is reached, an infinity cardinality is returned. Defaults to `3000`.
* `cardinalityCountQueries`: If count queries should be sent to obtain the cardinality of (sub)queries. If set to false, resulting cardinalities will always be considered infinity. Defaults to `true`
* `cardinalityEstimateConstruction`: If cardinality estimates for larger queries should be constructed locally from (sub)query cardinalities when possible. Defaults to `false`. If set to false, count queries will be sent for every operation at all levels.
* `sparqlServerSoftwarePatterns`: An optional list of regular expressions to match against the `Server` HTTP response header. If a match is found, the source is identified as a SPARQL endpoint.

## Endpoint Server Header Report

The following endpoints have been observed to return the following `Server` headers (at the time of writing):

| Endpoint                                                          | Server Header                                                          |
| ----------------------------------------------------------------- | ---------------------------------------------------------------------- |
| http://lod.sztaki.hu/sparql                                       | `Virtuoso/06.01.3127 (Linux) i686-pc-linux-gnu`                        |
| http://linguistic.linkeddata.es/sparql                            | `Virtuoso/06.01.3127 (Linux) x86_64-pc-linux-gnu`                      |
| http://www.genome.jp/sparql/linkdb                                | `Virtuoso/07.20.3217 (Linux) x86_64-unknown-linux-gnu`                 |
| http://sparql.archives-ouvertes.fr/sparql                         | `Virtuoso/07.20.3229 (Linux) x86_64-pc-linux-gnu`                      |
| http://data.persee.fr/sparql                                      | `Virtuoso/07.20.3230 (Linux) x86_64-generic_glibc25-linux-gnu`         |
| http://linkedgeodata.org/sparql                                   | `Virtuoso/07.20.3233 (Linux) x86_64-pc-linux-gnu`                      |
| http://kaiko.getalp.org/sparql                                    | `Virtuoso/07.20.3240 (Linux) x86_64-pc-linux-gnu`                      |
| http://data.cervantesvirtual.com/openrdf-sesame/repositories/data | `Virtuoso/07.20.3240 (Linux) x86_64-pc-linux-gnu`                      |
| http://sparql.hegroup.org/sparql/                                 | `Virtuoso/07.20.3241 (Linux) x86_64-pc-linux-gnu`                      |
| http://dbpedia.org/sparql                                         | `Virtuoso/08.03.3334 (Linux) x86_64-ubuntu_noble-linux-glibc2.39  VDB` |
| https://lov.linkeddata.es/dataset/lov/sparql                      | `Fuseki (1.1.1)`                                                       |
| http://lov.okfn.org/endpoint/lov                                  | `Fuseki (1.1.1)`                                                       |

---
_Source: https://npm.io/package/@comunica/actor-query-source-identify-hypermedia-sparql · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
