meta-log-db
Version:
Native database package for Meta-Log (ProLog, DataLog, R5RS)
49 lines • 1.1 kB
TypeScript
import { Fact, DatalogQueryResult, DatalogRule, DatalogProgram } from '../types/index.js';
/**
* DataLog Engine for Meta-Log Database
*/
export declare class DatalogEngine {
private facts;
private rules;
/**
* Add facts to the database
*/
addFacts(facts: Fact[]): void;
/**
* Add a rule to the database
*/
addRule(rule: DatalogRule): void;
/**
* Build DataLog program from rules
*/
buildProgram(rules: DatalogRule[]): DatalogProgram;
/**
* Query the database
*/
query(goal: string, program?: DatalogProgram): Promise<DatalogQueryResult>;
/**
* Compute fixed point
*/
fixedPoint(program: DatalogProgram): Fact[];
/**
* Extract facts from canvas objects
*/
extractFacts(objects: any[]): Fact[];
/**
* Parse goal string
*/
private parseGoal;
/**
* Get all facts
*/
getFacts(): Fact[];
/**
* Get all rules
*/
getRules(): DatalogRule[];
/**
* Clear database
*/
clear(): void;
}
//# sourceMappingURL=engine.d.ts.map