An RDF Join actor that inner-joins 2 or more streams by picking the one with the lowest cardinality, chunking it according to a certain block size, and joining each chunk with the remaining query by pushing it into the source.
This actor can only work if the (equal) source of remaining join entries accept pushing down joins (selector shape must allow joinBindings
).
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-multi-bind-source
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-multi-bind-source/^1.0.0/components/context.jsonld"
],
"actors": [
...
{
"@id": "urn:comunica:default:rdf-join/actors#inner-multi-bind-source",
"@type": "ActorRdfJoinMultiBindSource",
"mediatorJoinSelectivity": { "@id": "urn:comunica:default:rdf-join-selectivity/mediators#main" },
"mediatorJoinEntriesSort": { "@id": "urn:comunica:default:rdf-join-entries-sort/mediators#main" },
"mediatorQueryOperation": { "@id": "urn:comunica:default:query-operation/mediators#main" }
}
]
}
mediatorJoinSelectivity
: A mediator over the RDF Join Selectivity bus.mediatorJoinEntriesSort
: A mediator over the RDF Join Entries Sort bus.selectivityModifier
: Multiplier for selectivity values. (defaults to 0.0001
)blockSize
: The maximum amount of bindings to send to the source per block. (defaults to 16
)