@jahed/sparql-engine
Version:
SPARQL query engine for servers and web browsers.
16 lines (15 loc) • 964 B
TypeScript
import ExecutionContext from "../engine/context/execution-context.ts";
import type { PipelineStage } from "../engine/pipeline/pipeline-engine.ts";
import { PlanBuilder } from "../engine/plan-builder.ts";
import { Bindings } from "../rdf/bindings.ts";
/**
* Evaluates a SPARQL FILTER (NOT) EXISTS clause
* TODO this function could be simplified using a filterMap like operator, we should check if Rxjs offers that filterMap
* @param source - Source {@link PipelineStage}
* @param groups - Content of the FILTER clause
* @param builder - Plan builder used to evaluate subqueries
* @param notexists - True if the filter is NOT EXISTS, False otherwise
* @param context - Execution context
* @return A {@link PipelineStage} which evaluate the FILTER (NOT) EXISTS operation
*/
export default function exists(source: PipelineStage<Bindings>, groups: any[], builder: PlanBuilder, notexists: boolean, context: ExecutionContext): PipelineStage<Bindings>;