UNPKG

@rdfc/sparql-ingest-processor-ts

Version:
64 lines (63 loc) 2.05 kB
import { Processor } from "@rdfc/js-runner"; import { Agent } from "undici"; import { RdfStore } from "rdf-stores"; import { Logger } from "winston"; import type { Quad, Term } from "@rdfjs/types"; import type { Reader, Writer } from "@rdfc/js-runner"; export type ChangeSemantics = { changeTypePath: string; createValue: string; updateValue: string; deleteValue: string; }; export type TransactionConfig = { transactionIdPath: string; transactionEndPath: string; }; export type PerformanceConfig = { name: string; outputPath: string; queryTimeout?: number; failureIsFatal?: boolean; }; export declare enum OperationMode { REPLICATION = "Replication", SYNC = "Sync" } export type IngestConfig = { operationMode?: OperationMode; memberBatchSize?: number; memberShape?: string; changeSemantics?: ChangeSemantics; targetNamedGraph?: string; transactionConfig?: TransactionConfig; graphStoreUrl?: string; forVirtuoso?: boolean; accessToken?: string; measurePerformance?: PerformanceConfig; }; type TransactionMember = { memberId: string; transactionId: string; store: RdfStore; }; type SPARQLIngestArgs = { memberStream: Reader; config: IngestConfig; sparqlWriter?: Writer; }; export declare class SPARQLIngest extends Processor<SPARQLIngestArgs> { protected globalDispatcher: Agent; protected transactionMembers: TransactionMember[]; protected memberBatch: Quad[]; protected requestsPerformance: number[]; protected batchCount: number; protected createTransactionQueriesLogger: Logger; protected doSPARQLRequestLogger: Logger; init(this: SPARQLIngestArgs & this): Promise<void>; transform(this: SPARQLIngestArgs & this): Promise<void>; produce(this: SPARQLIngestArgs & this): Promise<void>; verifyTransaction(stores: RdfStore[], transactionIdPath: string, transactionId: Term): void; createTransactionQueries(transactionMembers: TransactionMember[], config: IngestConfig): string; } export {};