semantic-ds-toolkit
Version:
Performance-first semantic layer for modern data stacks - Stable Column Anchors & intelligent inference
29 lines • 1.67 kB
TypeScript
import { StableColumnAnchor, ColumnFingerprint, ColumnStatistics, AnchorReconciliationResult, AnchorMatchScore, FingerprintConfig, ReconciliationOptions, ColumnData, DataType } from '../types/anchor.types';
export declare class StableColumnAnchorSystem {
private config;
private compiledPatterns;
constructor(config?: Partial<FingerprintConfig>);
generateAnchorId(): string;
computeColumnStatistics(column: ColumnData): ColumnStatistics;
detectRegexPatterns(columnName: string, sampleValues: string[]): string[];
private compilePatterns;
private extractTokens;
private tokenMatchWithTokens;
private splitCamelCase;
private tokenizeName;
private jaccardSimilarityFromTokens;
inferDataType(values: any[]): DataType;
generateFingerprint(column: ColumnData): ColumnFingerprint;
fingerprintToString(fingerprint: ColumnFingerprint): string;
createAnchor(dataset: string, column: ColumnData, mappedCid?: string, confidence?: number): StableColumnAnchor;
calculateMatchScore(columnFingerprint: ColumnFingerprint, anchor: StableColumnAnchor, columnName: string, driftTolerance?: number): AnchorMatchScore;
private parseFingerprintString;
private calculateCardinalitySimilarity;
private calculateRegexSimilarity;
private calculateStatisticalSimilarity;
private calculateNameSimilarity;
reconcileAnchors(dataset: string, columns: ColumnData[], existingAnchors: StableColumnAnchor[], options?: ReconciliationOptions): AnchorReconciliationResult;
private getMatchReasons;
updateAnchorLastSeen(anchor: StableColumnAnchor): StableColumnAnchor;
}
//# sourceMappingURL=anchors.d.ts.map