@comunica/actor-query-source-identify-hypermedia
Version:
A hypermedia query-source-identify actor
26 lines (25 loc) • 1.95 kB
TypeScript
import type { MediatorRdfMetadataAccumulate } from '@comunica/bus-rdf-metadata-accumulate';
import type { MediatorRdfResolveHypermediaLinks } from '@comunica/bus-rdf-resolve-hypermedia-links';
import type { MediatorRdfResolveHypermediaLinksQueue } from '@comunica/bus-rdf-resolve-hypermedia-links-queue';
import type { IActionContext, IQueryBindingsOptions, MetadataBindings, ILink, ILinkQueue } from '@comunica/types';
import type { Algebra } from '@comunica/utils-algebra';
import type { SourceStateGetter, ISourceState } from './LinkedRdfSourcesAsyncRdfIterator';
import { LinkedRdfSourcesAsyncRdfIterator } from './LinkedRdfSourcesAsyncRdfIterator';
/**
* A quad iterator that can iterate over consecutive RDF sources
* that are determined using the rdf-resolve-hypermedia-links bus.
*
* @see LinkedRdfSourcesAsyncRdfIterator
*/
export declare class MediatedLinkedRdfSourcesAsyncRdfIterator extends LinkedRdfSourcesAsyncRdfIterator {
private readonly mediatorMetadataAccumulate;
private readonly mediatorRdfResolveHypermediaLinks;
private readonly mediatorRdfResolveHypermediaLinksQueue;
private readonly handledUrls;
private linkQueue;
constructor(operation: Algebra.Operation, queryBindingsOptions: IQueryBindingsOptions | undefined, context: IActionContext, firstLink: ILink, maxIterators: number, sourceStateGetter: SourceStateGetter, mediatorMetadataAccumulate: MediatorRdfMetadataAccumulate, mediatorRdfResolveHypermediaLinks: MediatorRdfResolveHypermediaLinks, mediatorRdfResolveHypermediaLinksQueue: MediatorRdfResolveHypermediaLinksQueue);
protected isCloseable(linkQueue: ILinkQueue, requireQueueEmpty: boolean): boolean;
getLinkQueue(): Promise<ILinkQueue>;
protected getSourceLinks(metadata: Record<string, any>, startSource: ISourceState): Promise<ILink[]>;
accumulateMetadata(accumulatedMetadata: MetadataBindings, appendingMetadata: MetadataBindings): Promise<MetadataBindings>;
}