An RDF Join actor that inner-joins two streams that are sorted on shared join variables, by reading each side once and advances the side that is behind.
This only works if both join entries have a termOrder in their metadata.
The output stays sorted on the key that was merged on, so merge joins can be chained.
Sources may additionally expose a seek(target) method on the bindings stream they return
(ISeekableBindingsStream), which skips past every remaining binding preceding target in the stream's declared
term order.
This module is part of the Comunica framework, and should only be used by developers that want to build their own query engine.
Click here if you just want to query with Comunica.
$ yarn add @comunica/actor-rdf-join-inner-merge
After installing, this package can be added to your engine's configuration as follows:
{
"@context": [
...
"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-rdf-join-inner-merge/^5.0.0/components/context.jsonld"
],
"actors": [
...
{
"@id": "urn:comunica:default:rdf-join/actors#inner-merge",
"@type": "ActorRdfJoinMerge",
"mediatorJoinSelectivity": { "@id": "urn:comunica:default:rdf-join-selectivity/mediators#main" }
}
]
}
mediatorJoinSelectivity: A mediator over the RDF Join Selectivity bus.