@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
27 lines (26 loc) • 1.32 kB
TypeScript
import type { Pattern } from "sparqljs";
import type { PipelineStage } from "./engine/pipeline/pipeline-engine.ts";
import { Bindings } from "./rdf/bindings.ts";
import type { EngineTriple } from "./types.ts";
/**
* Bound a triple pattern using a set of bindings, i.e., substitute variables in the triple pattern
* using the set of bindings provided
* @param triple - Triple pattern
* @param bindings - Set of bindings
* @return An new, bounded triple pattern
*/
export declare function applyBindings(triple: EngineTriple, bindings: Bindings): EngineTriple;
/**
* Recursively apply bindings to every triple in a SPARQL group pattern
* @param group - SPARQL group pattern to process
* @param bindings - Set of bindings to use
* @return A new SPARQL group pattern with triples bounded
*/
export declare function deepApplyBindings(group: Pattern, bindings: Bindings): Pattern;
/**
* Extends all set of bindings produced by an iterator with another set of bindings
* @param source - Source {@link PipelineStage}
* @param bindings - Bindings added to each set of bindings procuded by the iterator
* @return A {@link PipelineStage} that extends bindins produced by the source iterator
*/
export declare function extendByBindings(source: PipelineStage<Bindings>, bindings: Bindings): PipelineStage<Bindings>;