@rdfc/sds-storage-writer-ts
Version:
An RDF-Connect processor to write SDS streams into a given storage system
33 lines (32 loc) • 1.87 kB
TypeScript
import { Repository } from "./Repository.js";
import { AnyBulkWriteOperation, Db, MongoClient } from "mongodb";
import { Lock } from "async-await-mutex-lock";
import { Member } from "@treecg/types";
import { TREEFragment } from "../fragmentHelper.js";
import { DataRecord } from "../index.js";
import { Bucket, Record, Relation } from "../extractor.js";
export declare class MongoDBRepository implements Repository {
protected url: string;
protected metadata: string;
protected data: string;
protected index: string;
protected client: MongoClient;
protected db: Db;
protected logger: import("winston").Logger;
protected lock: Lock<unknown>;
constructor(url: string, metadata: string, data: string, index: string);
open(): Promise<void>;
close(): Promise<void>;
ingestMetadata(type: string, id: string, value: string): Promise<void>;
findMetadataFragmentations(): Promise<Member[]>;
createIndices(): Promise<void>;
prepareDataBulk(): AnyBulkWriteOperation<DataRecord>[];
ingestDataBulk(bulk: AnyBulkWriteOperation<DataRecord>[]): Promise<void>;
handleRecord(record: Record, data: string, bulk: AnyBulkWriteOperation<DataRecord>[]): Promise<void>;
prepareIndexBulk(): AnyBulkWriteOperation<TREEFragment>[];
ingestIndexBulk(bulk: AnyBulkWriteOperation<TREEFragment>[]): Promise<void>;
handleMember(record: Record, bucket: string, bulk: AnyBulkWriteOperation<TREEFragment>[]): Promise<void>;
handleBucket(bucket: Bucket, bulk: AnyBulkWriteOperation<TREEFragment>[]): Promise<void>;
handleRelation(relation: Relation, path: string | undefined, value: string | undefined, bulk: AnyBulkWriteOperation<TREEFragment>[]): Promise<void>;
removeRelation(relation: Relation, path: string | undefined, value: string | undefined, bulk: AnyBulkWriteOperation<TREEFragment>[]): Promise<void>;
}