UNPKG

rdf-stores

Version:

A TypeScript/JavaScript implementation of the RDF/JS store interface with support for quoted triples.

29 lines (28 loc) 1.68 kB
import type { ITermDictionary } from '../dictionary/ITermDictionary'; import type { IRdfStoreOptions } from '../IRdfStoreOptions'; import type { QuadPatternTerms, QuadTerms, EncodedQuadTerms } from '../PatternTerm'; import type { IRdfStoreIndex } from './IRdfStoreIndex'; /** * An RDF store index that is implemented using nested records. */ export declare class RdfStoreIndexNestedRecord<E extends number, V> implements IRdfStoreIndex<E, V> { protected readonly dictionary: ITermDictionary<E>; protected readonly nestedRecords: NestedRecordActual<E>; readonly features: { quotedTripleFiltering: boolean; }; constructor(options: IRdfStoreOptions<E>); set(terms: EncodedQuadTerms<E>, value: V): boolean; remove(terms: EncodedQuadTerms<E>): boolean; get(key: QuadTerms): V | undefined; getEncoded(ids: EncodedQuadTerms<E>): V | undefined; find(terms: QuadPatternTerms): IterableIterator<QuadTerms>; findEncoded(ids: EncodedQuadTerms<E | undefined>, terms: QuadPatternTerms): IterableIterator<EncodedQuadTerms<E>>; protected findTermsInner(depth: number, map: NestedRecordActual<E>, matchTerms: boolean[], partialResult: E[]): IterableIterator<E[]>; findTerms(matchTerms: boolean[]): IterableIterator<E[]>; count(terms: QuadPatternTerms): number; protected countTermsInner(depth: number, map: NestedRecordActual<E>, matchTerms: boolean[]): number; countTerms(matchTerms: boolean[]): number; } export type NestedRecord<E extends string | number | symbol> = NestedRecordActual<E> | true; export type NestedRecordActual<E extends string | number | symbol> = Record<E, Record<E, Record<E, Record<E, any>>>>;