UNPKG

graphql-to-sparql

Version:
43 lines (42 loc) 2.2 kB
import type { Algebra } from '@traqula/algebra-transformations-1-2'; import type { DocumentNode, FragmentDefinitionNode } from 'graphql/language'; import type { JsonLdContextNormalized, JsonLdContext } from 'jsonld-context-parser'; import type { IConvertOptions } from './IConvertOptions'; import type { IConvertSettings } from './IConvertSettings'; import { Util } from './Util'; /** * Translate GraphQL queries into SPARQL algebra. */ export declare class Converter { private readonly util; constructor(settings?: IConvertSettings); static registerNodeHandlers(util: Util, settings: IConvertSettings): void; static registerNodeValueHandlers(util: Util, settings: IConvertSettings): void; static registerDirectiveNodeHandlers(util: Util, settings: IConvertSettings): void; /** * Translates a GraphQL query into SPARQL algebra. * @param {string | DocumentNode} graphqlQuery A GraphQL query string or node. * @param {IContext} context A JSON-LD context. * @param {IConvertOptions} options An options object. * @return {Promise<Operation>} A promise resolving to an operation. */ graphqlToSparqlAlgebra(graphqlQuery: string | DocumentNode, context: JsonLdContext, options?: IConvertOptions): Promise<Algebra.Operation>; /** * Translates a GraphQL query into SPARQL algebra. * @param {string | DocumentNode} graphqlQuery A GraphQL query string or node. * @param {IContext} context A JSON-LD context. * @param {IConvertOptions} options An options object. * @return {Operation} An operation. */ graphqlToSparqlAlgebraRawContext(graphqlQuery: string | DocumentNode, context: JsonLdContextNormalized, options?: IConvertOptions): Algebra.Operation; /** * Create an index of all fragment definitions in the given document. * * This will assign a new array of definition nodes without fragment definition. * * @param {DocumentNode} document A document node. * @return {{[p: string]: FragmentDefinitionNode}} An index of fragment definition nodes. */ indexFragments(document: DocumentNode): Record<string, FragmentDefinitionNode>; private initializeNodeHandlers; }