UNPKG

data-pipeline-information-system-sparql

Version:

Sparql function to query/update RDF through SPARQL 1.1

52 lines 1.88 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 common_1 = require("./common"); var getter_1 = __importDefault(require("../SparqlAttribute/getter")); var _bound_1 = require("./_bound"); function look_alike(reference, definition, json_pointers, value) { var incremented_definition = common_1.copy(definition); var _a = __assign({}, getter_1.default(reference, json_pointers)), attribute = _a.attribute, nestedPath = _a.nestedPath; var pointerToDefinition = incremented_definition; nestedPath.forEach(function (path) { pointerToDefinition = pointerToDefinition.subQuery[path]; }); var operation = { type: 'operation', operator: 'regex', args: [{ type: 'operation', operator: 'str', args: ['?' + attribute.name] }, "\"" + value + "\"", '"i"'] }; var look_alike; ; if (attribute.optional) { look_alike = { type: 'filter', expression: _bound_1.prependBound(operation, attribute.name) }; } else { look_alike = { type: 'filter', expression: operation }; } pointerToDefinition.query.where.push(look_alike); return incremented_definition; } exports.look_alike = look_alike; exports.default = look_alike; //# sourceMappingURL=_filter_regex.js.map