An Optimize Query Operation actor
that converts every quad pattern in the query to a union of quad patterns per source.
It will similarly handle property paths.
It assumes that sources are defined in the KeysQueryOperation.querySources context entry.
If the KeysQueryOperation.serviceSources context entry exists,
SERVICE clauses will be rewritten based on those service sources.
If only a single source is being queried over, it will attempt to assign the whole query operation to the source if the source supports such operations. Otherwise, it will fallback to the union-based approach.
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-optimize-query-operation-assign-sources-exhaustive
After installing, this package can be added to your engine's configuration as follows:
{
"@context": [
...
"https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^1.0.0/components/context.jsonld"
],
"actors": [
...
{
"@id": "urn:comunica:default:optimize-query-operation/actors#assign-sources-exhaustive",
"@type": "ActorOptimizeQueryOperationAssignSourcesExhaustive"
}
]
}