@openhps/rdf 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/cjs/service/SPARQLDataDriver.d.ts +4 -10
  2. package/dist/cjs/service/SPARQLDataDriver.js +2 -78
  3. package/dist/cjs/service/SPARQLDataDriver.js.map +1 -1
  4. package/dist/cjs/service/SPARQLDriverBase.d.ts +20 -0
  5. package/dist/cjs/service/SPARQLDriverBase.js +90 -0
  6. package/dist/cjs/service/SPARQLDriverBase.js.map +1 -0
  7. package/dist/cjs/service/SPARQLGenerator.js +15 -1
  8. package/dist/cjs/service/SPARQLGenerator.js.map +1 -1
  9. package/dist/cjs/service/index.d.ts +1 -0
  10. package/dist/cjs/service/index.js +1 -0
  11. package/dist/cjs/service/index.js.map +1 -1
  12. package/dist/esm/service/SPARQLDataDriver.d.ts +4 -10
  13. package/dist/esm/service/SPARQLDataDriver.js +3 -79
  14. package/dist/esm/service/SPARQLDataDriver.js.map +1 -1
  15. package/dist/esm/service/SPARQLDriverBase.d.ts +20 -0
  16. package/dist/esm/service/SPARQLDriverBase.js +86 -0
  17. package/dist/esm/service/SPARQLDriverBase.js.map +1 -0
  18. package/dist/esm/service/SPARQLGenerator.js +15 -1
  19. package/dist/esm/service/SPARQLGenerator.js.map +1 -1
  20. package/dist/esm/service/index.d.ts +1 -0
  21. package/dist/esm/service/index.js +1 -0
  22. package/dist/esm/service/index.js.map +1 -1
  23. package/dist/types/service/SPARQLDataDriver.d.ts +4 -10
  24. package/dist/types/service/SPARQLDriverBase.d.ts +20 -0
  25. package/dist/types/service/index.d.ts +1 -0
  26. package/dist/web/openhps-rdf.all.es.js +115 -72
  27. package/dist/web/openhps-rdf.all.es.js.map +1 -1
  28. package/dist/web/openhps-rdf.all.es.min.js +1 -1
  29. package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
  30. package/dist/web/openhps-rdf.all.js +115 -72
  31. package/dist/web/openhps-rdf.all.js.map +1 -1
  32. package/dist/web/openhps-rdf.all.min.js +1 -1
  33. package/dist/web/openhps-rdf.all.min.js.map +1 -1
  34. package/dist/web/openhps-rdf.sparql.es.js +114 -72
  35. package/dist/web/openhps-rdf.sparql.es.js.map +1 -1
  36. package/dist/web/openhps-rdf.sparql.es.min.js +1 -1
  37. package/dist/web/openhps-rdf.sparql.es.min.js.map +1 -1
  38. package/dist/web/openhps-rdf.sparql.js +114 -72
  39. package/dist/web/openhps-rdf.sparql.js.map +1 -1
  40. package/dist/web/openhps-rdf.sparql.min.js +1 -1
  41. package/dist/web/openhps-rdf.sparql.min.js.map +1 -1
  42. package/package.json +1 -1
  43. package/src/service/SPARQLDataDriver.ts +6 -95
  44. package/src/service/SPARQLDriverBase.ts +112 -0
  45. package/src/service/SPARQLGenerator.ts +15 -1
  46. package/src/service/index.ts +1 -0
@@ -47,6 +47,7 @@ const xsd = {
47
47
  __webpack_require__.r(__webpack_exports__);
48
48
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
49
49
  /* harmony export */ "SPARQLDataDriver": () => (/* reexport safe */ _service__WEBPACK_IMPORTED_MODULE_0__.SPARQLDataDriver),
50
+ /* harmony export */ "SPARQLDriverBase": () => (/* reexport safe */ _service__WEBPACK_IMPORTED_MODULE_0__.SPARQLDriverBase),
50
51
  /* harmony export */ "SPARQLGenerator": () => (/* reexport safe */ _service__WEBPACK_IMPORTED_MODULE_0__.SPARQLGenerator)
51
52
  /* harmony export */ });
52
53
  /* harmony import */ var _service__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./service */ "./dist/esm/service/index.js");
@@ -778,30 +779,21 @@ function isObject(item) {
778
779
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
779
780
  /* harmony export */ "SPARQLDataDriver": () => (/* binding */ SPARQLDataDriver)
780
781
  /* harmony export */ });
781
- /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openhps/core */ "@openhps/core");
782
- /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openhps_core__WEBPACK_IMPORTED_MODULE_0__);
783
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
784
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
785
- /* harmony import */ var _rdf__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rdf */ "./dist/esm/rdf/RDFSerializer.js");
786
- /* harmony import */ var sparql_http_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sparql-http-client */ "./node_modules/sparql-http-client/index.js");
787
- /* harmony import */ var sparql_http_client__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(sparql_http_client__WEBPACK_IMPORTED_MODULE_1__);
788
- /* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
789
- /* harmony import */ var _SPARQLGenerator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SPARQLGenerator */ "./dist/esm/service/SPARQLGenerator.js");
790
-
791
-
792
-
782
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
783
+ /* harmony import */ var sparql_http_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! sparql-http-client */ "./node_modules/sparql-http-client/index.js");
784
+ /* harmony import */ var sparql_http_client__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(sparql_http_client__WEBPACK_IMPORTED_MODULE_0__);
785
+ /* harmony import */ var _SPARQLDriverBase__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SPARQLDriverBase */ "./dist/esm/service/SPARQLDriverBase.js");
793
786
 
794
787
 
795
788
 
796
- class SPARQLDataDriver extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataServiceDriver {
789
+ class SPARQLDataDriver extends _SPARQLDriverBase__WEBPACK_IMPORTED_MODULE_1__.SPARQLDriverBase {
797
790
  constructor(dataType, options) {
798
791
  super(dataType, options);
799
- this.generator = new _SPARQLGenerator__WEBPACK_IMPORTED_MODULE_2__.SPARQLGenerator(this.dataType, this.options.baseUri);
800
792
  this.once('build', this._onBuild.bind(this));
801
793
  }
802
794
  _onBuild() {
803
795
  return new Promise((resolve) => {
804
- this.client = new (sparql_http_client__WEBPACK_IMPORTED_MODULE_1___default())({
796
+ this.client = new (sparql_http_client__WEBPACK_IMPORTED_MODULE_0___default())({
805
797
  endpointUrl: this.options.endpointUrl,
806
798
  storeUrl: this.options.storeUrl,
807
799
  updateUrl: this.options.updateUrl,
@@ -811,9 +803,91 @@ class SPARQLDataDriver extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSe
811
803
  resolve();
812
804
  });
813
805
  }
806
+ findAllSerialized(query) {
807
+ return new Promise((resolve, reject) => {
808
+ this.client.query
809
+ .construct(this.generator.createFindAll(query))
810
+ .then((stream) => {
811
+ const store = new n3__WEBPACK_IMPORTED_MODULE_2__["default"]();
812
+ stream.on('data', (row) => {
813
+ store.addQuad(row);
814
+ });
815
+ stream.on('end', () => {
816
+ resolve(store);
817
+ });
818
+ })
819
+ .catch(reject);
820
+ });
821
+ }
822
+ insert(_, object) {
823
+ return new Promise((resolve, reject) => {
824
+ this.client.query
825
+ .update(this.generator.createInsert(object), {
826
+ headers: this.options.headers,
827
+ operation: this.options.operation,
828
+ })
829
+ .then(() => {
830
+ resolve(object);
831
+ })
832
+ .catch(reject);
833
+ });
834
+ }
835
+ delete(id) {
836
+ return new Promise((resolve, reject) => {
837
+ this.client.query
838
+ .update(this.generator.createDelete(id), {
839
+ headers: this.options.headers,
840
+ operation: this.options.operation,
841
+ })
842
+ .then(resolve)
843
+ .catch(reject);
844
+ });
845
+ }
846
+ deleteAll(query) {
847
+ return new Promise((resolve, reject) => {
848
+ this.client.query
849
+ .update(this.generator.createDeleteAll(query), {
850
+ headers: this.options.headers,
851
+ operation: this.options.operation,
852
+ })
853
+ .then(resolve)
854
+ .catch(reject);
855
+ });
856
+ }
857
+ }
858
+ //# sourceMappingURL=SPARQLDataDriver.js.map
859
+
860
+ /***/ }),
861
+
862
+ /***/ "./dist/esm/service/SPARQLDriverBase.js":
863
+ /*!**********************************************!*\
864
+ !*** ./dist/esm/service/SPARQLDriverBase.js ***!
865
+ \**********************************************/
866
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
867
+
868
+ "use strict";
869
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
870
+ /* harmony export */ "SPARQLDriverBase": () => (/* binding */ SPARQLDriverBase)
871
+ /* harmony export */ });
872
+ /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openhps/core */ "@openhps/core");
873
+ /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openhps_core__WEBPACK_IMPORTED_MODULE_0__);
874
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
875
+ /* harmony import */ var _rdf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../rdf */ "./dist/esm/rdf/RDFSerializer.js");
876
+ /* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
877
+ /* harmony import */ var _SPARQLGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SPARQLGenerator */ "./dist/esm/service/SPARQLGenerator.js");
878
+
879
+
880
+
881
+
882
+
883
+ class SPARQLDriverBase extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataServiceDriver {
884
+ constructor(dataType, options) {
885
+ super(dataType, options);
886
+ this.generator = new _SPARQLGenerator__WEBPACK_IMPORTED_MODULE_1__.SPARQLGenerator(this.dataType, this.options.baseUri);
887
+ }
814
888
  findByUID(id) {
815
889
  return new Promise((resolve, reject) => {
816
- const identifierMember = _rdf__WEBPACK_IMPORTED_MODULE_3__.RDFSerializer.getUriMetadata(this.dataType);
890
+ const identifierMember = _rdf__WEBPACK_IMPORTED_MODULE_2__.RDFSerializer.getUriMetadata(this.dataType);
817
891
  this.findOne({
818
892
  [identifierMember.key]: id,
819
893
  })
@@ -833,22 +907,6 @@ class SPARQLDataDriver extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSe
833
907
  .catch(reject);
834
908
  });
835
909
  }
836
- findAllSerialized(query) {
837
- return new Promise((resolve, reject) => {
838
- this.client.query
839
- .construct(this.generator.createFindAll(query))
840
- .then((stream) => {
841
- const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"]();
842
- stream.on('data', (row) => {
843
- store.addQuad(row);
844
- });
845
- stream.on('end', () => {
846
- resolve(store);
847
- });
848
- })
849
- .catch(reject);
850
- });
851
- }
852
910
  findAll(query, options = {}) {
853
911
  return new Promise((resolve, reject) => {
854
912
  this.findAllSerialized(query)
@@ -857,9 +915,11 @@ class SPARQLDataDriver extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSe
857
915
  return resolve([]);
858
916
  }
859
917
  const subjects = store
860
- .getSubjects(n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(_vocab__WEBPACK_IMPORTED_MODULE_6__.rdf.type), null, null)
918
+ .getSubjects(n3__WEBPACK_IMPORTED_MODULE_3__["default"].namedNode(_vocab__WEBPACK_IMPORTED_MODULE_4__.rdf.type), null, null)
861
919
  .filter((subject) => subject.termType === 'NamedNode');
862
- let data = subjects.map((subject) => _rdf__WEBPACK_IMPORTED_MODULE_3__.RDFSerializer.deserializeFromStore(subject, store));
920
+ let data = subjects
921
+ .map((subject) => _rdf__WEBPACK_IMPORTED_MODULE_2__.RDFSerializer.deserializeFromStore(subject, store))
922
+ .filter((data) => data.constructor.name === this.dataType.name);
863
923
  if (options.sort) {
864
924
  data = data
865
925
  .sort((a, b) => options.sort
@@ -892,50 +952,15 @@ class SPARQLDataDriver extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSe
892
952
  return resolve(0);
893
953
  }
894
954
  const subjects = store
895
- .getSubjects(n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(_vocab__WEBPACK_IMPORTED_MODULE_6__.rdf.type), null, null)
955
+ .getSubjects(n3__WEBPACK_IMPORTED_MODULE_3__["default"].namedNode(_vocab__WEBPACK_IMPORTED_MODULE_4__.rdf.type), null, null)
896
956
  .filter((subject) => subject.termType === 'NamedNode');
897
957
  resolve(subjects.length);
898
958
  })
899
959
  .catch(reject);
900
960
  });
901
961
  }
902
- insert(_, object) {
903
- return new Promise((resolve, reject) => {
904
- this.client.query
905
- .update(this.generator.createInsert(object), {
906
- headers: this.options.headers,
907
- operation: this.options.operation,
908
- })
909
- .then(() => {
910
- resolve(object);
911
- })
912
- .catch(reject);
913
- });
914
- }
915
- delete(id) {
916
- return new Promise((resolve, reject) => {
917
- this.client.query
918
- .update(this.generator.createDelete(id), {
919
- headers: this.options.headers,
920
- operation: this.options.operation,
921
- })
922
- .then(resolve)
923
- .catch(reject);
924
- });
925
- }
926
- deleteAll(query) {
927
- return new Promise((resolve, reject) => {
928
- this.client.query
929
- .update(this.generator.createDeleteAll(query), {
930
- headers: this.options.headers,
931
- operation: this.options.operation,
932
- })
933
- .then(resolve)
934
- .catch(reject);
935
- });
936
- }
937
962
  }
938
- //# sourceMappingURL=SPARQLDataDriver.js.map
963
+ //# sourceMappingURL=SPARQLDriverBase.js.map
939
964
 
940
965
  /***/ }),
941
966
 
@@ -1397,7 +1422,21 @@ class SPARQLGenerator {
1397
1422
  case '$nin':
1398
1423
  break;
1399
1424
  case '$elemMatch':
1400
- patterns.push(...this.createQuery(subquery[selector], dataType));
1425
+ patterns.push({
1426
+ type: 'group',
1427
+ patterns: [
1428
+ {
1429
+ type: 'bgp',
1430
+ triples: [
1431
+ {
1432
+ subject: n3__WEBPACK_IMPORTED_MODULE_3__["default"].variable('subject'),
1433
+ predicate: n3__WEBPACK_IMPORTED_MODULE_3__["default"].namedNode(predicate),
1434
+ object: n3__WEBPACK_IMPORTED_MODULE_3__["default"].namedNode(this.baseUri + 'dataobject_mvdewync'),
1435
+ },
1436
+ ],
1437
+ },
1438
+ ],
1439
+ });
1401
1440
  break;
1402
1441
  }
1403
1442
  return patterns;
@@ -1425,10 +1464,13 @@ class SPARQLGenerator {
1425
1464
  "use strict";
1426
1465
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1427
1466
  /* harmony export */ "SPARQLDataDriver": () => (/* reexport safe */ _SPARQLDataDriver__WEBPACK_IMPORTED_MODULE_0__.SPARQLDataDriver),
1467
+ /* harmony export */ "SPARQLDriverBase": () => (/* reexport safe */ _SPARQLDriverBase__WEBPACK_IMPORTED_MODULE_2__.SPARQLDriverBase),
1428
1468
  /* harmony export */ "SPARQLGenerator": () => (/* reexport safe */ _SPARQLGenerator__WEBPACK_IMPORTED_MODULE_1__.SPARQLGenerator)
1429
1469
  /* harmony export */ });
1430
1470
  /* harmony import */ var _SPARQLDataDriver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./SPARQLDataDriver */ "./dist/esm/service/SPARQLDataDriver.js");
1431
1471
  /* harmony import */ var _SPARQLGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./SPARQLGenerator */ "./dist/esm/service/SPARQLGenerator.js");
1472
+ /* harmony import */ var _SPARQLDriverBase__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SPARQLDriverBase */ "./dist/esm/service/SPARQLDriverBase.js");
1473
+
1432
1474
 
1433
1475
 
1434
1476
  //# sourceMappingURL=index.js.map