UNPKG

meta-log-db

Version:

Native database package for Meta-Log (ProLog, DataLog, R5RS)

70 lines 1.68 kB
/** * Enhanced SPARQL Query Parser * Supports: SELECT, DISTINCT, ORDER BY, LIMIT, OFFSET, FILTER, OPTIONAL, UNION */ export interface SparqlQuery { type: 'SELECT' | 'ASK' | 'CONSTRUCT' | 'DESCRIBE'; distinct?: boolean; variables: string[]; where: SparqlPattern[]; optional?: SparqlPattern[]; filters?: SparqlFilter[]; orderBy?: SparqlOrderBy[]; limit?: number; offset?: number; union?: SparqlQuery[]; } export interface SparqlPattern { subject: string; predicate: string; object: string; optional?: boolean; } export interface SparqlFilter { expression: string; type: 'equals' | 'notEquals' | 'greaterThan' | 'lessThan' | 'regex' | 'lang' | 'bound' | 'custom'; left: string; right?: string; } export interface SparqlOrderBy { variable: string; direction: 'ASC' | 'DESC'; } /** * Parse SPARQL query string into structured query object */ export declare class SparqlParser { /** * Parse SPARQL query */ static parse(query: string): SparqlQuery; /** * Normalize query string */ private static normalizeQuery; /** * Parse query type */ private static parseQueryType; /** * Parse variables from SELECT clause */ private static parseVariables; /** * Parse triple patterns from WHERE clause */ private static parsePatterns; /** * Parse OPTIONAL patterns */ private static parseOptional; /** * Parse FILTER expressions */ private static parseFilters; /** * Parse ORDER BY clause */ private static parseOrderBy; } //# sourceMappingURL=sparql-parser.d.ts.map