UNPKG

rdf-dataset-fragmenter

Version:
27 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 { 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; /* eslint-disable ts/naming-convention */ QuadTransformerAppendResourceScl.PREFIX_SCL = 'https://w3id.org/scl/vocab#'; QuadTransformerAppendResourceScl.IRI_SCL_APPLIES_TO = DF.namedNode(`${QuadTransformerAppendResourceScl.PREFIX_SCL}appliesTo`); QuadTransformerAppendResourceScl.IRI_SCL_SCOPE = DF.namedNode(`${QuadTransformerAppendResourceScl.PREFIX_SCL}scope`); QuadTransformerAppendResourceScl.IRI_SCL_TYPE = DF.namedNode(`${QuadTransformerAppendResourceScl.PREFIX_SCL}SCL`); //# sourceMappingURL=QuadTransformerAppendResourceScl.js.map