@openhps/rdf 0.1.10 → 0.1.13

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 (53) hide show
  1. package/.eslintrc.js +39 -0
  2. package/.prettierrc.js +8 -0
  3. package/commitlint.config.js +1 -0
  4. package/dist/cjs/rdf/RDFSerializer.d.ts +2 -1
  5. package/dist/cjs/rdf/RDFSerializer.js +47 -0
  6. package/dist/cjs/rdf/RDFSerializer.js.map +1 -1
  7. package/dist/cjs/rdf/SerializableNamedNode.d.ts +0 -2
  8. package/dist/cjs/rdf/SerializableNamedNode.js +1 -8
  9. package/dist/cjs/rdf/SerializableNamedNode.js.map +1 -1
  10. package/dist/cjs/rdf/types.d.ts +10 -0
  11. package/dist/esm/rdf/RDFSerializer.d.ts +2 -1
  12. package/dist/esm/rdf/RDFSerializer.js +47 -0
  13. package/dist/esm/rdf/RDFSerializer.js.map +1 -1
  14. package/dist/esm/rdf/SerializableNamedNode.d.ts +0 -2
  15. package/dist/esm/rdf/SerializableNamedNode.js +1 -8
  16. package/dist/esm/rdf/SerializableNamedNode.js.map +1 -1
  17. package/dist/esm/rdf/types.d.ts +10 -0
  18. package/dist/types/rdf/RDFSerializer.d.ts +2 -1
  19. package/dist/types/rdf/SerializableNamedNode.d.ts +0 -2
  20. package/dist/types/rdf/types.d.ts +10 -0
  21. package/dist/web/openhps-rdf.all.es.js +57 -17
  22. package/dist/web/openhps-rdf.all.es.js.map +1 -1
  23. package/dist/web/openhps-rdf.all.es.min.js +1 -1
  24. package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
  25. package/dist/web/openhps-rdf.all.js +57 -17
  26. package/dist/web/openhps-rdf.all.js.map +1 -1
  27. package/dist/web/openhps-rdf.all.min.js +1 -1
  28. package/dist/web/openhps-rdf.all.min.js.map +1 -1
  29. package/dist/web/openhps-rdf.serialization.es.js +60 -18
  30. package/dist/web/openhps-rdf.serialization.es.js.map +1 -1
  31. package/dist/web/openhps-rdf.serialization.es.min.js +1 -1
  32. package/dist/web/openhps-rdf.serialization.es.min.js.map +1 -1
  33. package/dist/web/openhps-rdf.serialization.js +60 -18
  34. package/dist/web/openhps-rdf.serialization.js.map +1 -1
  35. package/dist/web/openhps-rdf.serialization.min.js +1 -1
  36. package/dist/web/openhps-rdf.serialization.min.js.map +1 -1
  37. package/dist/web/openhps-rdf.sparql.es.js +56 -9
  38. package/dist/web/openhps-rdf.sparql.es.js.map +1 -1
  39. package/dist/web/openhps-rdf.sparql.es.min.js +1 -1
  40. package/dist/web/openhps-rdf.sparql.es.min.js.map +1 -1
  41. package/dist/web/openhps-rdf.sparql.js +56 -9
  42. package/dist/web/openhps-rdf.sparql.js.map +1 -1
  43. package/dist/web/openhps-rdf.sparql.min.js +1 -1
  44. package/dist/web/openhps-rdf.sparql.min.js.map +1 -1
  45. package/package.json +4 -2
  46. package/serialization.d.ts +1 -0
  47. package/serialization.js +1 -0
  48. package/src/rdf/RDFSerializer.ts +53 -1
  49. package/src/rdf/SerializableNamedNode.ts +3 -7
  50. package/src/rdf/types.ts +13 -0
  51. package/vocab.d.ts +1 -0
  52. package/vocab.js +1 -0
  53. package/webpack.config.js +87 -0
@@ -440,8 +440,8 @@ class InternalRDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.S
440
440
  /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openhps/core */ "@openhps/core");
441
441
  /* harmony import */ var _InternalRDFSerializer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InternalRDFSerializer */ "./dist/esm/rdf/InternalRDFSerializer.js");
442
442
  /* harmony import */ var _InternalRDFDeserializer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InternalRDFDeserializer */ "./dist/esm/rdf/InternalRDFDeserializer.js");
443
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
444
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
443
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
444
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
445
445
  /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Writer.js");
446
446
  /* harmony import */ var _namespaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../namespaces */ "./dist/esm/namespaces.js");
447
447
  /* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
@@ -518,23 +518,70 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
518
518
  const thing = quadsToThing(subject, store);
519
519
  return this.deserialize(thing);
520
520
  }
521
+ static serializeToSubjects(data, baseUri) {
522
+ const quads = RDFSerializer.serializeToQuads(data, baseUri);
523
+ const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
524
+ const quadSubjects = store.getSubjects(null, null, null);
525
+ function serializePredicates(quadSubject) {
526
+ const quadPredicates = store.getPredicates(quadSubject, null, null);
527
+ return quadPredicates
528
+ .map((quadPredicate) => {
529
+ const quadObjects = store.getObjects(quadSubject, quadPredicate, null);
530
+ const literals = quadObjects
531
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
532
+ .filter((obj) => obj.language === '')
533
+ .map((obj) => ({ [obj.datatype.value]: [obj.value] }))
534
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
535
+ const langStrings = quadObjects
536
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
537
+ .filter((obj) => obj.language !== '')
538
+ .map((obj) => ({ [obj.language]: [obj.value] }))
539
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
540
+ const namedNodes = quadObjects
541
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
542
+ .map((obj) => obj.value);
543
+ const blankNodes = quadObjects
544
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.BlankNode)
545
+ .map((obj) => serializePredicates(n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(obj.value)));
546
+ return {
547
+ [quadPredicate.value]: {
548
+ namedNodes,
549
+ blankNodes,
550
+ literals,
551
+ langStrings,
552
+ },
553
+ };
554
+ })
555
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
556
+ }
557
+ const subjects = quadSubjects
558
+ .filter((quadSubject) => quadSubject instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
559
+ .map((quadSubject) => {
560
+ return {
561
+ type: 'Subject',
562
+ url: quadSubject.value,
563
+ predicates: serializePredicates(quadSubject),
564
+ };
565
+ });
566
+ return subjects;
567
+ }
521
568
  static serializeToQuads(data, baseUri) {
522
569
  const thing = data['predicates'] !== undefined ? data : this.serialize(data, baseUri);
523
570
  const subject = thing.termType === 'BlankNode'
524
- ? n3__WEBPACK_IMPORTED_MODULE_4__["default"].blankNode(thing.value)
525
- : n3__WEBPACK_IMPORTED_MODULE_4__["default"].namedNode(thing.value);
571
+ ? n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(thing.value)
572
+ : n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(thing.value);
526
573
  return Object.keys(thing.predicates)
527
574
  .map((predicateIri) => {
528
- const predicate = n3__WEBPACK_IMPORTED_MODULE_4__["default"].namedNode(predicateIri);
575
+ const predicate = n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(predicateIri);
529
576
  return thing.predicates[predicateIri].map((object) => {
530
577
  if (object['predicates'] !== undefined) {
531
578
  return [
532
- n3__WEBPACK_IMPORTED_MODULE_4__["default"].quad(subject, predicate, object),
579
+ n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object),
533
580
  ...this.serializeToQuads(object),
534
581
  ];
535
582
  }
536
583
  else {
537
- return [n3__WEBPACK_IMPORTED_MODULE_4__["default"].quad(subject, predicate, object)];
584
+ return [n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object)];
538
585
  }
539
586
  });
540
587
  })
@@ -545,7 +592,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
545
592
  return __awaiter(this, void 0, void 0, function* () {
546
593
  return new Promise((resolve, reject) => {
547
594
  const quads = this.serializeToQuads(thing, options.baseUri);
548
- const store = new n3__WEBPACK_IMPORTED_MODULE_5__["default"](quads);
595
+ const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
549
596
  const prefixes = Object.assign({ xsd: 'http://www.w3.org/2001/XMLSchema#' }, _namespaces__WEBPACK_IMPORTED_MODULE_6__.namespaces);
550
597
  const ns = Object.keys(prefixes)
551
598
  .map((k) => {
@@ -668,7 +715,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
668
715
  if (identifierMember) {
669
716
  const rdfOptions = identifierMember.options.rdf;
670
717
  uri = rdfOptions.serializer ? rdfOptions.serializer(identifier, dataType) : identifier;
671
- uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_4__["default"].blankNode(uri).value;
718
+ uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(uri).value;
672
719
  }
673
720
  else {
674
721
  return baseUri;
@@ -711,16 +758,10 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
711
758
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
712
759
  return c > 3 && r && Object.defineProperty(target, key, r), r;
713
760
  };
714
- var __metadata = (undefined && undefined.__metadata) || function (k, v) {
715
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
716
- };
717
761
  var SerializableNamedNode_1;
718
762
 
719
763
 
720
764
  let SerializableNamedNode = SerializableNamedNode_1 = class SerializableNamedNode extends n3__WEBPACK_IMPORTED_MODULE_1__.NamedNode {
721
- constructor(uri) {
722
- super(uri);
723
- }
724
765
  };
725
766
  SerializableNamedNode = SerializableNamedNode_1 = __decorate([
726
767
  (0,_openhps_core__WEBPACK_IMPORTED_MODULE_0__.SerializableObject)({
@@ -734,8 +775,7 @@ SerializableNamedNode = SerializableNamedNode_1 = __decorate([
734
775
  return new SerializableNamedNode_1(thing.value);
735
776
  },
736
777
  },
737
- }),
738
- __metadata("design:paramtypes", [String])
778
+ })
739
779
  ], SerializableNamedNode);
740
780
 
741
781
  //# sourceMappingURL=SerializableNamedNode.js.map
@@ -15219,13 +15259,15 @@ const RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
15219
15259
  /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
15220
15260
 
15221
15261
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15262
+ /* harmony export */ "BlankNode": () => (/* binding */ BlankNode),
15263
+ /* harmony export */ "Literal": () => (/* binding */ Literal),
15222
15264
  /* harmony export */ "NamedNode": () => (/* binding */ NamedNode),
15223
15265
  /* harmony export */ "Term": () => (/* binding */ Term),
15224
15266
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
15225
15267
  /* harmony export */ "termFromId": () => (/* binding */ termFromId),
15226
15268
  /* harmony export */ "termToId": () => (/* binding */ termToId)
15227
15269
  /* harmony export */ });
15228
- /* unused harmony exports Literal, BlankNode, Variable, DefaultGraph, Quad, Triple, escapeQuotes, unescapeQuotes */
15270
+ /* unused harmony exports Variable, DefaultGraph, Quad, Triple, escapeQuotes, unescapeQuotes */
15229
15271
  /* harmony import */ var _IRIs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IRIs */ "./node_modules/n3/src/IRIs.js");
15230
15272
  /* harmony import */ var _N3Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./N3Util */ "./node_modules/n3/src/N3Util.js");
15231
15273
  // N3.js implementations of the RDF/JS core data types