# @comunica/actor-rdf-join-optional-hash

> A optional-hash rdf-join actor

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

## Install

```sh
npm install @comunica/actor-rdf-join-optional-hash
pnpm add @comunica/actor-rdf-join-optional-hash
yarn add @comunica/actor-rdf-join-optional-hash
bun add @comunica/actor-rdf-join-optional-hash
```

## 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-07-05 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 9 |
| Unpacked size | 41.1 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 591 |
| Maintainers | joachimvh, rubensworks, rubenverborgh, dexagod, jeswr |
| Keywords | comunica, actor, rdf-join, optional-hash |

## Links

- npm: https://www.npmjs.com/package/@comunica/actor-rdf-join-optional-hash
- 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-rdf-join-optional-hash

## Dependencies (9)

- [rdf-string](https://npm.io/package/rdf-string.md) ^2.0.1
- [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-rdf-join](https://npm.io/package/@comunica/bus-rdf-join.md) ^5.4.0
- [@comunica/utils-iterator](https://npm.io/package/@comunica/utils-iterator.md) ^5.0.0
- [@comunica/utils-bindings-index](https://npm.io/package/@comunica/utils-bindings-index.md) ^5.4.0
- [@comunica/utils-bindings-factory](https://npm.io/package/@comunica/utils-bindings-factory.md) ^5.4.0
- [@comunica/mediatortype-join-coefficients](https://npm.io/package/@comunica/mediatortype-join-coefficients.md) ^5.4.0

## Alternatives

- [@gemini-wallet/core](https://npm.io/package/@gemini-wallet/core.md) — 515.6K weekly downloads
- [utility](https://npm.io/package/utility.md) — 416.6K weekly downloads
- [@primno/dpapi](https://npm.io/package/@primno/dpapi.md) — 7.2K weekly downloads
- [pi-readseek](https://npm.io/package/pi-readseek.md) — 3.7K weekly downloads
- [@emilia-protocol/verify](https://npm.io/package/@emilia-protocol/verify.md) — 1.1K 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.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
- 4.2.0 — 2025-04-29
- … 9 more at https://npm.io/package/@comunica/actor-rdf-join-optional-hash/versions

## README

# Comunica Optional Hash RDF Join Actor

[![npm version](https://badge.fury.io/js/%40comunica%2Factor-rdf-join-optional-hash.svg)](https://www.npmjs.com/package/@comunica/actor-rdf-join-optional-hash)

An [RDF Join](https://github.com/comunica/comunica/tree/master/packages/bus-rdf-join) actor that uses hash joins and can handle optional patterns.
A comunica Optional Hash RDF Join Actor.

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-rdf-join-optional-hash
```

## Configure

After installing, this package can be added to your engine's configuration as follows:
```text
{
  "@context": [
    ...
    "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-rdf-join-optional-hash/^1.0.0/components/context.jsonld"
  ],
  "actors": [
    ...
    {
      "@id": "urn:comunica:default:rdf-join/actors#optional-hash",
      "@type": "ActorRdfJoinOptionalHash",
      "mediatorJoinSelectivity": { "@id": "urn:comunica:default:rdf-join-selectivity/mediators#main" },
      "canHandleUndefs": true,
      "blocking": true
    }
  ]
}
```

### Config Parameters

* `mediatorJoinSelectivity`: A mediator over the [RDF Join Selectivity bus](https://github.com/comunica/comunica/tree/master/packages/bus-rdf-join-selectivity).
* `canHandleUndefs`: If this actor can handle undefined values. If false, performance will be slightly better.
* `blocking`: If the join will block when collecting the optional stream. If true, performance will be better.

---
_Source: https://npm.io/package/@comunica/actor-rdf-join-optional-hash · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
