meta-log-db
Version:
Native database package for Meta-Log (ProLog, DataLog, R5RS)
107 lines • 2.66 kB
TypeScript
import { MetaLogDbConfig, Fact } from './types/index.js';
import { ChainComplex, HomologyResult } from './extensions/homology/index.js';
/**
* Meta-Log Database - Main class
*/
export declare class MetaLogDb {
private prolog?;
private datalog?;
private r5rs?;
private jsonl;
private rdf?;
private shacl?;
private config;
constructor(config?: MetaLogDbConfig);
/**
* Load R5RS engine from file
*/
loadR5RSEngine(path: string): Promise<void>;
/**
* Load canvas file (JSONL or CanvasL)
*/
loadCanvas(path: string): Promise<void>;
/**
* Parse JSONL canvas
*/
parseJsonlCanvas(path: string): Promise<any>;
/**
* Parse CanvasL file
*/
parseCanvasL(path: string): Promise<any>;
/**
* Extract facts from canvas
*/
extractFactsFromCanvas(canvas: any): Fact[];
/**
* Extract facts
*/
extractFacts(): Fact[];
/**
* Convert JSONL facts to RDF
*/
jsonlToRdf(facts?: Fact[]): any[];
/**
* Execute ProLog query
*/
prologQuery(query: string): Promise<any>;
/**
* Build ProLog database from facts
*/
buildPrologDb(facts: Fact[]): void;
/**
* Add ProLog rule
*/
addPrologRule(rule: string): void;
/**
* Execute DataLog query
*/
datalogQuery(query: string, program?: any): Promise<any>;
/**
* Build DataLog program
*/
buildDatalogProgram(rules: string[]): any;
/**
* Execute SPARQL query
*/
sparqlQuery(query: string): Promise<any>;
/**
* Store RDF triples
*/
storeTriples(triples: any[]): void;
/**
* RDFS entailment
*/
rdfsEntailment(triples: any[]): any[];
/**
* Load SHACL shapes
*/
loadShaclShapes(path: string): Promise<any>;
/**
* Validate SHACL
*/
validateShacl(shapes?: any, triples?: any): Promise<any>;
/**
* Execute R5RS function
*/
executeR5RS(functionName: string, args: any[]): Promise<any>;
/**
* Register R5RS function
*/
registerR5RSFunction(name: string, fn: Function): void;
/**
* Get configuration
*/
getConfig(): MetaLogDbConfig;
/**
* Validate homology of chain complex
* Requires enableHomology: true in config
*/
validateHomology(complex: ChainComplex): HomologyResult;
/**
* Compute Betti number for dimension n
* Requires enableHomology: true in config
*/
computeBetti(complex: ChainComplex, n: number): number;
}
export type { MetaLogDbConfig } from './types/index.js';
//# sourceMappingURL=database.d.ts.map