data-pipeline-information-system-sparql
Version:
Sparql function to query/update RDF through SPARQL 1.1
26 lines • 1.29 kB
JavaScript
;
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 SparqlTask_1 = __importDefault(require("../Core/SparqlTask"));
var _select_1 = require("./_select");
var DefinitionPattern_1 = __importDefault(require("./DefinitionPattern"));
function generate(reference) {
var _this = this;
var model = SparqlTask_1.default.sparqlObjects[reference];
var parser = new sparqljs_1.default.Parser(model.prefixes);
var _parsed = parser.parse("SELECT " + _select_1.jsonRepresentation(reference, reference, [], true) + " WHERE { " + model.coreDefinition + " } GROUP BY " + _select_1.groupBy(reference));
this.query = _parsed;
model.attributes.filter(function (attribute) { return attribute.reference; })
.forEach(function (attribute) {
var subDef = new DefinitionPattern_1.default(attribute.reference);
_this.subQuery[attribute.name] = subDef;
});
this.primaryKey = model.primaryKey;
this.query.prefixes = model.prefixes || {};
}
exports.generate = generate;
exports.default = generate;
//# sourceMappingURL=generate.js.map