UNPKG

@jahed/sparql-engine

Version:

SPARQL query engine for servers and web browsers.

25 lines (24 loc) 1 kB
import ExecutionContext from "../engine/context/execution-context.ts"; import type { PipelineInput } from "../engine/pipeline/pipeline-engine.ts"; import type { EngineTriple } from "../types.ts"; import Graph from "./graph.ts"; /** * An UnionGraph represents the dynamic union of several graphs. * Addition only affects the left-most operand, deletion affects all graphs. * Searching for RDF triple smatching a triple pattern in such Graph is equivalent * as the Union of matching RDF triples in all graphs. * @extends Graph */ export default class UnionGraph extends Graph { readonly _graphs: Graph[]; /** * Constructor * @param graphs - Set of RDF graphs */ constructor(graphs: Graph[]); insert(triple: EngineTriple): Promise<void>; delete(triple: EngineTriple): Promise<void>; find(triple: EngineTriple, context: ExecutionContext): PipelineInput<EngineTriple>; clear(): Promise<void>; estimateCardinality(triple: EngineTriple): Promise<number>; }