UNPKG

sparnatural

Version:

Visual client-side SPARQL query builder and knowledge graph exploration tool

65 lines 5.54 kB
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) { if (kind === "m") throw new TypeError("Private method is not writable"); if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it"); return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value; }; var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) { if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter"); if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it"); return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver); }; var _IntersectionBuilder_startClassVar, _IntersectionBuilder_endClassVar, _IntersectionBuilder_valueBuilder, _IntersectionBuilder_objectPropCls; import { DataFactory } from 'rdf-data-factory'; import SparqlFactory from "./SparqlFactory"; const factory = new DataFactory(); export default class IntersectionBuilder { constructor(startClassVar, endClassVar, valueBuilder, objectPropCls, specProvider, settings) { _IntersectionBuilder_startClassVar.set(this, void 0); _IntersectionBuilder_endClassVar.set(this, void 0); _IntersectionBuilder_valueBuilder.set(this, void 0); _IntersectionBuilder_objectPropCls.set(this, void 0); this.resultPtrn = []; __classPrivateFieldSet(this, _IntersectionBuilder_startClassVar, startClassVar, "f"); __classPrivateFieldSet(this, _IntersectionBuilder_endClassVar, endClassVar, "f"); __classPrivateFieldSet(this, _IntersectionBuilder_valueBuilder, valueBuilder, "f"); __classPrivateFieldSet(this, _IntersectionBuilder_objectPropCls, objectPropCls, "f"); this.specProvider = specProvider; this.settings = settings; } build() { // the intersection triple can very well be generated even if no rdf:type triple is generated for the end class. if (__classPrivateFieldGet(this, _IntersectionBuilder_startClassVar, "f") && __classPrivateFieldGet(this, _IntersectionBuilder_endClassVar, "f") && !__classPrivateFieldGet(this, _IntersectionBuilder_valueBuilder, "f")?.isBlockingObjectProp()) { let specProperty = this.specProvider.getProperty(__classPrivateFieldGet(this, _IntersectionBuilder_objectPropCls, "f").getTypeSelected()); if (specProperty.getBeginDateProperty() && specProperty.getEndDateProperty()) { if (specProperty.getBeginDateProperty()) { this.resultPtrn.push(SparqlFactory.buildOptionalPattern([ SparqlFactory.buildBgpPattern([SparqlFactory.buildIntersectionTriple(factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_startClassVar, "f")), specProperty.getBeginDateProperty(), factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_endClassVar, "f") + "_begin"))]) ])); } if (specProperty.getEndDateProperty()) { this.resultPtrn.push(SparqlFactory.buildOptionalPattern([ SparqlFactory.buildBgpPattern([SparqlFactory.buildIntersectionTriple(factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_startClassVar, "f")), specProperty.getEndDateProperty(), factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_endClassVar, "f") + "_end"))]) ])); } if (specProperty.getExactDateProperty()) { this.resultPtrn.push(SparqlFactory.buildOptionalPattern([ SparqlFactory.buildBgpPattern([SparqlFactory.buildIntersectionTriple(factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_startClassVar, "f")), specProperty.getEndDateProperty(), factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_endClassVar, "f") + "_exact"))]) ])); } } else { this.resultPtrn.push(SparqlFactory.buildBgpPattern([SparqlFactory.buildIntersectionTriple(factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_startClassVar, "f")), __classPrivateFieldGet(this, _IntersectionBuilder_objectPropCls, "f").getTypeSelected(), factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_endClassVar, "f")))])); } // add language filter if property is set to be multilingual if (this.specProvider.getProperty(__classPrivateFieldGet(this, _IntersectionBuilder_objectPropCls, "f").getTypeSelected()).isMultilingual()) { this.resultPtrn.push(SparqlFactory.buildFilterLangEquals(factory.variable(__classPrivateFieldGet(this, _IntersectionBuilder_endClassVar, "f")), factory.literal(this.settings.language))); } } } getPattern() { return this.resultPtrn; } } _IntersectionBuilder_startClassVar = new WeakMap(), _IntersectionBuilder_endClassVar = new WeakMap(), _IntersectionBuilder_valueBuilder = new WeakMap(), _IntersectionBuilder_objectPropCls = new WeakMap(); //# sourceMappingURL=IntersectionBuilder.js.map