import { FoundPath } from './Util'; import PredicatePath from '../Paths/PredicatePath'; import * as N3 from 'n3'; import Path from '../Paths/Path'; import ProcessedPattern from './ProcessedPattern'; import VariableBinding from '../Bindings/VariableBinding'; export declare class BGPEvaluator { /** * Extract all paths in the BGP, and convert all path types to the predicate paths they contain. * @param pattern: Array */ static extractPathsFromBGP(pattern: N3.Quad[]): Map; /** * * @param BGPpaths Possible paths in BGP * @param RelationPath Searched path */ static findMatchingBGPPaths(bgpPaths: Map, RelationPath: Path, foundPath?: FoundPath): PredicatePath[]; /** * This function matches a Basic Graph Pattern with a given shacl Path. * The shacl path converted to a parse tree, and this function is called recursively on every node to check for a matching path in the BGP. * @param bpg This object contains the data triples of the basic graph pattern in which we want to match the path parameter of a relation * @param path The path to match for this bgp. * @param subjectId The subject identifier used to match a triple of the BGP. */ static matchBGP(bgpPaths: Map, path: Path, foundPath?: FoundPath | undefined): FoundPath[]; static extractVariableBindingsFromBGP(pattern: N3.Quad[]): VariableBinding[]; /** * This function returns the enpoints of all valid matches in the query with the relation path. * Valid matches consist of IRIs and literals. * @param bgpFoundMatchingPaths * @param BGPPaths */ static checkBGPMatch(bgpFoundMatchingPaths: FoundPath[]): ProcessedPattern | null; static getPath(quad: any): "predicatePath" | "sequencePath" | "alternativePath" | "inversePath" | "oneOrMorePath" | "zeroOrMorePath" | undefined; } //# sourceMappingURL=BGPEvaluator.d.ts.map