@dasch-swiss/dsp-js
Version:
TypeScript client library for DSP-API
43 lines • 1.89 kB
TypeScript
import { Observable } from 'rxjs';
import { V2Endpoint } from '../../api/v2/v2-endpoint';
import { KnoraApiConfig } from '../../knora-api-config';
import { ReadOntology } from '../../models/v2/ontologies/read/read-ontology';
import { GenericCache } from '../GenericCache';
import { ResourceClassAndPropertyDefinitions } from './resource-class-and-property-definitions';
/**
* Caches ontologies obtained from Knora and handles direct dependencies between ontologies.
*/
export declare class OntologyCache extends GenericCache<ReadOntology> {
private knoraApiConfig;
private v2Endpoint;
constructor(knoraApiConfig: KnoraApiConfig, v2Endpoint: V2Endpoint);
/**
* Gets an ontology from the cache including its direct dependencies.
*
* The ontology Iris are the keys of the resulting Map.
*
* @param ontologyIri the Iri of the ontology.
* @returns the requested ontology and its direct dependencies.
*/
getOntology(ontologyIri: string): Observable<Map<string, ReadOntology>>;
/**
* Gets a resource class definition including the property definitions
* the resource class has cardinalities for.
*
* This method does not return third party ontology entities, e.g., rdfs.
*
* @param resourceClassIri
*/
getResourceClassDefinition(resourceClassIri: string): Observable<ResourceClassAndPropertyDefinitions>;
/**
* Public method to access the reloadItem method
*
* @param key the id of the information to be returned.
* @return the item
*/
reloadCachedItem(key: string): Observable<ReadOntology>;
protected requestItemFromKnora(key: string, isDependency: boolean): Observable<ReadOntology[]>;
protected getKeyOfItem(item: ReadOntology): string;
protected getDependenciesOfItem(item: ReadOntology): string[];
}
//# sourceMappingURL=OntologyCache.d.ts.map