UNPKG

@rdfc/sds-storage-writer-ts

Version:

An RDF-Connect processor to write SDS streams into a given storage system

25 lines (24 loc) 1.52 kB
import { DataRecord, DBConfig } from "../index.js"; import { Member } from "@treecg/types"; import { AnyBulkWriteOperation } from "mongodb"; import { TREEFragment } from "../fragmentHelper.js"; import { Bucket, Record, Relation } from "../extractor.js"; export type DataBulkOperations = AnyBulkWriteOperation<DataRecord>[] | Promise<string | null>[]; export type IndexBulkOperations = AnyBulkWriteOperation<TREEFragment>[] | Promise<string | number | null>[]; export interface Repository { open(): Promise<void>; close(): Promise<void>; ingestMetadata(type: string, id: string, value: string): Promise<void>; findMetadataFragmentations(): Promise<Member[]>; createIndices(): Promise<void>; prepareDataBulk(): DataBulkOperations; ingestDataBulk(bulk: DataBulkOperations): Promise<void>; handleRecord(record: Record, data: string, bulk: DataBulkOperations): Promise<void>; prepareIndexBulk(): IndexBulkOperations; ingestIndexBulk(bulk: IndexBulkOperations): Promise<void>; handleMember(record: Record, bucket: string, bulk: IndexBulkOperations): Promise<void>; handleBucket(bucket: Bucket, bulk: IndexBulkOperations): Promise<void>; handleRelation(relation: Relation, path: string | undefined, value: string | undefined, bulk: IndexBulkOperations): Promise<void>; removeRelation(relation: Relation, path: string | undefined, value: string | undefined, bulk: IndexBulkOperations): Promise<void>; } export declare function getRepository(dbConfig: DBConfig): Repository;