UNPKG

rdf-test-suite

Version:
43 lines (42 loc) 1.33 kB
import type * as RDF from '@rdfjs/types'; /** * A query engine handler. */ export interface IQueryEngine { parse: (queryString: string, options: Record<string, any>) => Promise<void>; query: (data: RDF.Quad[], queryString: string, options: Record<string, any>) => Promise<IQueryResult>; queryResultFormat?: (data: RDF.Quad[], queryString: string, mediaType: string, options: Record<string, any>) => Promise<NodeJS.ReadableStream>; } /** * Super type for all query result types. */ export type IQueryResult = IQueryResultBoolean | IQueryResultQuads | IQueryResultBindings; /** * Holds a boolean query result. */ export interface IQueryResultBoolean { type: 'boolean'; value: boolean; equals: (that: IQueryResult, laxCardinality?: boolean) => boolean; toString: () => string; } /** * Holds quad-based query results. */ export interface IQueryResultQuads { type: 'quads'; value: RDF.Quad[]; equals: (that: IQueryResult, laxCardinality?: boolean) => boolean; toString: () => string; } /** * Holds bindings-based query results. */ export interface IQueryResultBindings { type: 'bindings'; variables: string[]; value: Record<string, RDF.Term>[]; checkOrder: boolean; equals: (that: IQueryResult, laxCardinality?: boolean) => boolean; toString: () => string; }