@rdfdev/delta
Version:
Toolkit for working with linked-deltas
58 lines (54 loc) • 1.95 kB
JavaScript
import rdf from '@ontologies/core';
import { ns } from '@ontologies/ld';
const buildGraph = (graphName) => (graph) => ns(graph === rdf.defaultGraph()
? graphName
: `${graphName}?graph=${encodeURIComponent(graph.value)}`);
const addGraph = buildGraph("add");
const replaceGraph = buildGraph("replace");
const sliceGraph = buildGraph("slice");
const purgeGraph = buildGraph("purge");
const removeGraph = buildGraph("remove");
const supplantGraph = buildGraph("supplant");
const buildQuadCreator = (graphBuilder) => (s, p, o, g = rdf.defaultGraph()) => rdf.quad(s, p, o, graphBuilder(g));
/**
* Create a delta statement adding ({s}, {p}, {o}) to {g} or the default graph
*/
const add = buildQuadCreator(addGraph);
/**
* Create a delta statement replacing ({s}, {p}, {o}) to {g} or the default graph
*/
const replace = buildQuadCreator(replaceGraph);
/**
* Create a delta statement slicing ({s}, {p}, {o}) to {g} or the default graph
*/
const slice = buildQuadCreator(sliceGraph);
/**
* Create a delta statement purging ({s}, {p}, {o}) to {g} or the default graph
*/
const purge = buildQuadCreator(purgeGraph);
/**
* Create a delta statement removing ({s}, {p}, {o}) to {g} or the default graph
*/
const remove = buildQuadCreator(removeGraph);
/**
* Create a delta statement supplanting ({s}, {p}, {o}) to {g} or the default graph
*/
const supplant = buildQuadCreator(supplantGraph);
var delta = /*#__PURE__*/Object.freeze({
__proto__: null,
addGraph: addGraph,
replaceGraph: replaceGraph,
sliceGraph: sliceGraph,
purgeGraph: purgeGraph,
removeGraph: removeGraph,
supplantGraph: supplantGraph,
add: add,
replace: replace,
slice: slice,
purge: purge,
remove: remove,
supplant: supplant
});
export default delta;
export { add, addGraph, purge, purgeGraph, remove, removeGraph, replace, replaceGraph, slice, sliceGraph, supplant, supplantGraph };
//# sourceMappingURL=index.js.map