UNPKG

@comunica/actor-query-operation-service

Version:

A service query-operation actor

54 lines (53 loc) 2.64 kB
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; }