@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
19 lines (18 loc) • 1.06 kB
TypeScript
import ExecutionContext from "../../engine/context/execution-context.ts";
import type { PipelineStage } from "../../engine/pipeline/pipeline-engine.ts";
import BGPStageBuilder from "../../engine/stages/bgp-stage-builder.ts";
import type { Bindings } from "../../rdf/bindings.ts";
import Graph from "../../rdf/graph.ts";
import type { EngineTriple } from "../../types.ts";
/**
* A special operator used to evaluate a UNION query with a RDF Graph,
* and then rewrite bindings generated and performs union with original bindings.
* It is designed to be used in the bound join algorithm
* @private
* @param graph - Graph queried
* @param bgpBucket - List of BGPs to evaluate
* @param rewritingTable - Map <rewriting key -> original bindings>
* @param context - Query execution context
* @return A pipeline stage which evaluates the query.
*/
export default function rewritingOp(graph: Graph, bgpBucket: EngineTriple[][], rewritingTable: Map<number, Bindings>, builder: BGPStageBuilder, context: ExecutionContext): Promise<PipelineStage<Bindings>>;