import type { Variable, NamedNode, Literal } from '@rdfjs/types'; import type { FilterPattern, Pattern, ConstructQuery, Triple, OperationExpression, Ordering } from 'sparqljs'; import type { FindOptionsOrder, FindOptionsRelations, FindOptionsSelect, FindOptionsWhere } from '../FindOptionsTypes'; export interface WhereQueryData { triples: Triple[]; graphTriples: Triple[]; filters: OperationExpression[]; graphFilters: OperationExpression[]; } export interface RelationsQueryData { variables: Variable[]; triples: Triple[]; graphTriples: Triple[]; } export interface OrderQueryData { triples: Triple[]; orders: Ordering[]; variables: Variable[]; } export declare type QueryData = { relationsVariables: Variable[]; filters: OperationExpression[]; triples: Triple[]; optionalTriples: Triple[]; orders: Ordering[]; graphTriples: Triple[]; optionalGraphTriples: Triple[]; graphFilters: OperationExpression[]; }; export interface SelectQueryData { variables: Variable[]; where: Pattern[]; orders: Ordering[]; graphWhere: Pattern[]; } export declare class SparqlQueryBuilder { private readonly variableGenerator; constructor(); buildInFilterForVariables(valuesByVariable: Record): FilterPattern; private filterWithExpression; buildPatternsFromQueryOptions(subject: Variable, where?: FindOptionsWhere, order?: FindOptionsOrder, relations?: FindOptionsRelations): SelectQueryData; private createWherePatternsFromQueryData; private filterPatternFromFilters; private sparqlOptionalWithTriples; private sparqlBasicGraphPattern; buildConstructFromEntitySelectQuery(graphWhere: Pattern[], graphSelectVariables: Variable[], select?: FindOptionsSelect): ConstructQuery; private createSelectPattern; private createGraphSelectsAndTriplePatterns; private sparqlSelectGraph; private sparqlOptionalSelectGraph; private createQueryData; private createWhereQueryData; private createWhereQueryDataForField; private createWhereQueryDataForIdValue; private createWhereQueryDataForType; private createWhereQueryDataFromKeyValue; private inversePropertyPredicate; private createWhereQueryDataForFindOperator; private createWhereQueryDataForNestedWhere; private createWhereQueryDataForValueObject; private valueObjectToTerm; private resolveFindOperatorAsExpressionWithMultipleValues; private resolveFindOperatorAsExpressionForId; private resolveValueToExpression; private buildInOperation; private buildNotInOperation; private buildNotOperationForMultiValued; private buildNotOperationForId; private buildEqualOperation; private buildGtOperation; private buildGteOperation; private buildLtOperation; private buildLteOperation; private buildNotEqualOperation; private buildTypesAndSuperTypesTriple; private resolveValueToTerm; private createOrderQueryData; private createOrderQueryDataForProperty; private createRelationsQueryData; private createVariable; }