import type { Triple, Expression } from 'sparqljs'; import type { Entity } from '../util/Types'; import type { QueryAdapter, FindOneOptions, FindAllOptions, FindOptionsWhere } from './QueryAdapter'; export interface WhereQueryData { triples: Triple[]; filters: Expression[]; } /** * A {@link QueryAdapter} that stores data in a database through a sparql endpoint. */ export declare class SparqlQueryAdapter implements QueryAdapter { private readonly sparqlClient; private readonly sparqlGenerator; constructor(endpointUrl: string); find(options?: FindOneOptions): Promise; private buildPatternsFromQueryData; private createWhereQueryData; findBy(where: FindOptionsWhere): Promise; findAll(options?: FindAllOptions): Promise; findAllBy(where: FindOptionsWhere): Promise; save(entity: Entity): Promise; save(entities: Entity[]): Promise; destroy(entity: Entity): Promise; destroy(entities: Entity[]): Promise; private executeSparqlQueryAndGetData; private valueToLiteral; private buildEqualOperation; private buildTypesAndSuperTypesTriple; private createWhereQueryDataFromKeyValue; private createWhereQueryDataForIdValue; private createWhereQueryDataForType; private createWhereQueryDataForNestedWhere; private createWhereQueryDataForLiteral; }