UNPKG

data-pipeline-information-system-sparql

Version:

Sparql function to query/update RDF through SPARQL 1.1

50 lines 1.95 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var sparqljs_1 = __importDefault(require("sparqljs")); var prefixes = {}; function generateBody(definition) { prefixes = {}; var out_query = _generateBody(definition); var generator = new sparqljs_1.default.Generator(prefixes); console.log(out_query); return generator.stringify(out_query); } exports.generateBody = generateBody; function _generateBody(definition) { var coreQuery = definition.query; prefixes = __assign({}, prefixes, definition.query.prefixes); definition.query.prefixes = {}; Object.keys(definition.subQuery).forEach(function (refAttribute) { var subDefinition = definition.subQuery[refAttribute]; var subQuery = subDefinition.query; var parser = new sparqljs_1.default.Parser(); var _res = parser.parse("\n SELECT (?" + subDefinition.primaryKey + " AS ?" + refAttribute + "_pKey) WHERE {\n ?uri a ?thing\n }"); (subQuery.variables).push(_res.variables[0]); subQuery.variables[0].variable = ('?' + refAttribute); _generateBody(subDefinition); var addGroup = { type: 'group', patterns: [ subQuery ] }; coreQuery.where.push(addGroup); }); return coreQuery; } exports.default = generateBody; //# sourceMappingURL=generateBody.js.map