rdf-dataset-fragmenter
Version:
Fragments an RDF dataset into multiple parts
28 lines • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.QuadTransformerBlankToNamed = void 0;
const rdf_data_factory_1 = require("rdf-data-factory");
const QuadTransformerTerms_1 = require("./QuadTransformerTerms");
const DF = new rdf_data_factory_1.DataFactory();
/**
* A quad transformer that replaces BlankNodes by NamedNodes if the node-value changes when performing
* search/ replacement.
*/
class QuadTransformerBlankToNamed extends QuadTransformerTerms_1.QuadTransformerTerms {
constructor(searchRegex, replacementString) {
super();
this.search = new RegExp(searchRegex, 'u');
this.replacement = replacementString;
}
transformTerm(term) {
if (term.termType === 'BlankNode') {
const value = term.value.replace(this.search, this.replacement);
if (value !== term.value) {
return DF.namedNode(value);
}
}
return term;
}
}
exports.QuadTransformerBlankToNamed = QuadTransformerBlankToNamed;
//# sourceMappingURL=QuadTransformerBlankToNamed.js.map