UNPKG

rdf-dataset-fragmenter

Version:
25 lines (24 loc) 1.12 kB
import type * as RDF from '@rdfjs/types'; import type { IQuadSink } from '../io/IQuadSink'; import type { IDatasetSummary } from '../summary/DatasetSummary'; import { FragmentationStrategyStreamAdapter } from './FragmentationStrategyStreamAdapter'; /** * Fragmentation strategy that collects dataset summaries per dataset. */ export declare abstract class FragmentationStrategyDatasetSummary<T extends IDatasetSummary> extends FragmentationStrategyStreamAdapter { protected readonly summaries: Map<string, T>; protected readonly datasetPatterns: RegExp[]; private readonly blankNodeQuads; private readonly blankNodeDatasets; constructor(options: IFragmentationStrategyDatasetSummaryOptions); protected abstract createSummary(dataset: string): T; protected subjectToDatasets(subject: string): Set<string>; protected handleQuad(quad: RDF.Quad): Promise<void>; protected flush(quadSink: IQuadSink): Promise<void>; } export interface IFragmentationStrategyDatasetSummaryOptions { /** * Regular expressions used to map subjects to datasets. */ datasetPatterns: string[]; }