UNPKG

data-pipeline-information-system-sparql

Version:

Sparql function to query/update RDF through SPARQL 1.1

41 lines 1.94 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var SparqlAttribute_1 = __importDefault(require("../SparqlAttribute/SparqlAttribute")); var stringifier_1 = __importDefault(require("../common/stringifier")); var sparqljs_1 = __importDefault(require("sparqljs")); function bindingAsRegex(str) { return '(?<![a-zA-Z])\\?' + str + '(?=[^a-zA-Z_])'; } function initialisation(configuration) { var _this = this; this.reference = configuration.reference; this.coreDefinition = computeDefinition(configuration); this.prefixes = configuration.prefixes || {}; this.primaryKey = configuration.primaryKey; var out = 'SELECT * WHERE { ' + this.coreDefinition + ' }'; var parser = new sparqljs_1.default.Parser(this.prefixes); this.parsedDefinition = parser.parse(out).where; console.log(this.parsedDefinition); configuration.attributes.forEach(function (configurationAttribute) { var sparqlAttribute = new SparqlAttribute_1.default(_this, configurationAttribute); _this.attributes.push(sparqlAttribute); }); } exports.initialisation = initialisation; function computeDefinition(configuration) { return configuration.attributes.filter(function (attribute) { return (attribute.reference !== null && attribute.reference !== undefined); }) .reduce(function (accDefinition, referencedAttribute) { var _a; console.log(referencedAttribute.reference); return stringifier_1.default(accDefinition, (_a = {}, _a[referencedAttribute.name] = '?' + referencedAttribute.name + '_pKey', _a), { asRegExp: false, keyPrefix: '?', keySuffix: '' }); }, configuration.definition); } exports.default = initialisation; //# sourceMappingURL=_initialisation.js.map