@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
25 lines (24 loc) • 1 kB
TypeScript
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>;
}