rdf-dataset-fragmenter
Version:
Fragments an RDF dataset into multiple parts
35 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QuadTransformerAppendQuad = void 0;
const rdf_data_factory_1 = require("rdf-data-factory");
const DF = new rdf_data_factory_1.DataFactory();
/**
* A quad transformer that appends a quad to matching quads.
*/
class QuadTransformerAppendQuad {
matcher;
subject;
predicate;
object;
graph;
constructor(matcher, subject, predicate, object, graph) {
this.matcher = matcher;
this.subject = subject;
this.predicate = predicate;
this.object = object;
this.graph = graph;
}
transform(quad) {
const quads = [quad];
// Append to applicable quads
if (this.matcher.matches(quad)) {
this.appendQuads(quad, quads);
}
return quads;
}
appendQuads(original, results) {
results.push(DF.quad(this.subject.getTerm(original), this.predicate.getTerm(original), this.object.getTerm(original), this.graph.getTerm(original)));
}
}
exports.QuadTransformerAppendQuad = QuadTransformerAppendQuad;
//# sourceMappingURL=QuadTransformerAppendQuad.js.map