UNPKG

@jahed/sparql-engine

Version:

SPARQL query engine for servers and web browsers.

27 lines (26 loc) 1.32 kB
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>;