/** * Triple Builder Implementation * * 统一的三元组构建器,处理所有列类型 */ import type { PodColumnBase, PodTable } from '../schema'; import type { UriResolver } from '../uri'; import type { TripleBuilder, Triple, BuildResult } from './types'; /** * 三元组构建器实现 */ export declare class TripleBuilderImpl implements TripleBuilder { /** 表注册表:rdfClass -> tables[](同一 class 可能对应多个表) */ private tableRegistry?; /** 表名注册表:tableName -> table(用于明确指定表名时查找) */ private tableNameRegistry?; /** 基础 URI */ private baseUri?; /** URI 解析器 */ private uriResolver; constructor(uriResolver?: UriResolver); /** * 设置表注册表(用于 URI 引用自动补全) * @param classRegistry rdfClass -> tables[] 的映射 * @param nameRegistry tableName -> table 的映射 */ setTableRegistry(classRegistry: Map, nameRegistry: Map): void; /** * 设置基础 URI */ setBaseUri(uri: string): void; /** * 构建上下文 */ private createContext; /** * 构建插入三元组 */ buildInsert(subject: string, column: PodColumnBase, value: unknown, table: PodTable): BuildResult; /** * 构建删除三元组 (使用变量匹配) */ buildDelete(subject: string, column: PodColumnBase, table: PodTable, varSuffix?: string): BuildResult; /** * 构建内联对象的删除三元组 */ private buildInlineDeleteTriples; /** * 构建类型三元组 */ buildTypeTriple(subject: string, rdfClass: string): Triple; /** * 转换三元组为 N3 字符串格式 */ toN3Strings(triples: Triple[]): string[]; /** * RDF Term 转 N3 字符串 */ private termToN3; /** * 构建 N3 Patch 请求体 */ buildN3Patch(deleteTriples: string[], insertTriples: string[], wherePatterns?: string[]): string; /** * 获取列的谓词 URI */ getPredicateUri(column: PodColumnBase, table: PodTable): string; /** * 格式化值 (供外部使用) */ formatValue(value: unknown, column?: PodColumnBase): string | string[]; /** * 根据值类型推断格式化 */ private formatValueByInference; /** * 生成内联子对象 URI */ private resolveInlineChildUri; /** * 获取表的命名空间 URI */ private getNamespaceUri; } export declare const tripleBuilder: TripleBuilderImpl; //# sourceMappingURL=builder.d.ts.map