UNPKG

rdf-dataset-fragmenter

Version:
30 lines 1.72 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.QuadTransformerAppendResourceScl = void 0; const rdf_data_factory_1 = require("rdf-data-factory"); const QuadTransformerAppendResourceAdapter_1 = require("./QuadTransformerAppendResourceAdapter"); const DF = new rdf_data_factory_1.DataFactory(); /** * A quad transformer that appends SCL policies to resources of the given type. */ class QuadTransformerAppendResourceScl extends QuadTransformerAppendResourceAdapter_1.QuadTransformerAppendResourceAdapter { /* eslint-disable ts/naming-convention */ static PREFIX_SCL = 'https://w3id.org/scl/vocab#'; static IRI_SCL_APPLIES_TO = DF.namedNode(`${QuadTransformerAppendResourceScl.PREFIX_SCL}appliesTo`); static IRI_SCL_SCOPE = DF.namedNode(`${QuadTransformerAppendResourceScl.PREFIX_SCL}scope`); static IRI_SCL_TYPE = DF.namedNode(`${QuadTransformerAppendResourceScl.PREFIX_SCL}SCL`); /* eslint-enable ts/naming-convention */ identifierSuffix; sclPolicy; constructor(typeRegex, identifierSuffix, sclPolicy) { super(typeRegex); this.identifierSuffix = identifierSuffix; this.sclPolicy = sclPolicy; } appendQuads(original, results) { const policyId = DF.namedNode(original.subject.value + this.identifierSuffix); results.push(DF.quad(policyId, QuadTransformerAppendResourceScl.IRI_SCL_APPLIES_TO, original.subject), DF.quad(policyId, QuadTransformerAppendResourceScl.IRI_SCL_SCOPE, DF.literal(this.sclPolicy, QuadTransformerAppendResourceScl.IRI_SCL_TYPE))); } } exports.QuadTransformerAppendResourceScl = QuadTransformerAppendResourceScl; //# sourceMappingURL=QuadTransformerAppendResourceScl.js.map