@comunica/actor-query-operation-service
Version:
A service query-operation actor
54 lines (53 loc) • 2.64 kB
TypeScript
import type { ActorHttpInvalidateListenable, IActionHttpInvalidate } from '@comunica/bus-http-invalidate';
import type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';
import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';
import { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation';
import type { MediatorQuerySourceIdentify } from '@comunica/bus-query-source-identify';
import type { IActorTest, TestResult } from '@comunica/core';
import type { IActionContext, IQueryOperationResult } from '@comunica/types';
import type { Algebra } from 'sparqlalgebrajs';
/**
* A comunica Service Query Operation Actor.
* It unwraps the SERVICE operation and executes it on the given source.
*/
export declare class ActorQueryOperationService extends ActorQueryOperationTypedMediated<Algebra.Service> {
readonly forceSparqlEndpoint: boolean;
readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;
readonly mediatorQuerySourceIdentify: MediatorQuerySourceIdentify;
private readonly cache?;
readonly httpInvalidator: ActorHttpInvalidateListenable;
constructor(args: IActorQueryOperationServiceArgs);
testOperation(operation: Algebra.Service, _context: IActionContext): Promise<TestResult<IActorTest>>;
runOperation(operation: Algebra.Service, context: IActionContext): Promise<IQueryOperationResult>;
/**
* Handles HTTP cache invalidation events.
* @param {IActionHttpInvalidate} action The invalidation action
*/
handleHttpInvalidateEvent(action: IActionHttpInvalidate): void;
}
export interface IActorQueryOperationServiceArgs extends IActorQueryOperationTypedMediatedArgs {
/**
* If the SERVICE target should be assumed to be a SPARQL endpoint.
* @default {false}
*/
forceSparqlEndpoint: boolean;
/**
* A mediator for creating binding context merge handlers
*/
mediatorMergeBindingsContext: MediatorMergeBindingsContext;
/**
* The mediator for identifying query sources.
*/
mediatorQuerySourceIdentify: MediatorQuerySourceIdentify;
/**
* An actor that listens to HTTP invalidation events
* @default {<default_invalidator> a <npmd:@comunica/bus-http-invalidate/^4.0.0/components/ActorHttpInvalidateListenable.jsonld#ActorHttpInvalidateListenable>}
* TODO: make required in next-major.
*/
httpInvalidator?: ActorHttpInvalidateListenable;
/**
* The cache size for sources, to mitigate the overhead of multiple identifications for the same source.
* @default {32}
*/
cacheSize?: number;
}