UNPKG

data-pipeline-information-system-sparql

Version:

Sparql function to query/update RDF through SPARQL 1.1

40 lines 1.56 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); var common_1 = require("./common"); var getter_1 = __importDefault(require("../SparqlAttribute/getter")); function values(rootReference, definition, json_pointers, values) { if (values.some(function (n_uplet) { return n_uplet.length !== json_pointers.length; })) { throw 'At least one N-uplet doesn\'t match the bindings[] length'; } var incremented_definition = common_1.copy(definition); var variableBindings = json_pointers.map(function (pointer) { var attribute = getter_1.default(rootReference, pointer).attribute; return '?' + attribute.name; }); var dictArray = []; values.forEach(function (tupleValues) { var element = {}; tupleValues.forEach(function (value, index) { element[variableBindings[index]] = value; }); dictArray.push(element); }); var _values = { type: 'values', values: dictArray }; var nestedPath = getter_1.default(rootReference, json_pointers[0]).nestedPath; var pointerToDefinition = incremented_definition; nestedPath.forEach(function (path) { pointerToDefinition = pointerToDefinition.subQuery[path]; }); pointerToDefinition.query.where.push(_values); return incremented_definition; } exports.default = values; //# sourceMappingURL=_values.js.map