@openhps/rdf 0.1.10 → 0.1.11

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 (45) hide show
  1. package/dist/cjs/rdf/RDFSerializer.d.ts +2 -1
  2. package/dist/cjs/rdf/RDFSerializer.js +47 -0
  3. package/dist/cjs/rdf/RDFSerializer.js.map +1 -1
  4. package/dist/cjs/rdf/SerializableNamedNode.d.ts +0 -2
  5. package/dist/cjs/rdf/SerializableNamedNode.js +1 -8
  6. package/dist/cjs/rdf/SerializableNamedNode.js.map +1 -1
  7. package/dist/cjs/rdf/types.d.ts +10 -0
  8. package/dist/esm/rdf/RDFSerializer.d.ts +2 -1
  9. package/dist/esm/rdf/RDFSerializer.js +47 -0
  10. package/dist/esm/rdf/RDFSerializer.js.map +1 -1
  11. package/dist/esm/rdf/SerializableNamedNode.d.ts +0 -2
  12. package/dist/esm/rdf/SerializableNamedNode.js +1 -8
  13. package/dist/esm/rdf/SerializableNamedNode.js.map +1 -1
  14. package/dist/esm/rdf/types.d.ts +10 -0
  15. package/dist/types/rdf/RDFSerializer.d.ts +2 -1
  16. package/dist/types/rdf/SerializableNamedNode.d.ts +0 -2
  17. package/dist/types/rdf/types.d.ts +10 -0
  18. package/dist/web/openhps-rdf.all.es.js +57 -17
  19. package/dist/web/openhps-rdf.all.es.js.map +1 -1
  20. package/dist/web/openhps-rdf.all.es.min.js +1 -1
  21. package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
  22. package/dist/web/openhps-rdf.all.js +57 -17
  23. package/dist/web/openhps-rdf.all.js.map +1 -1
  24. package/dist/web/openhps-rdf.all.min.js +1 -1
  25. package/dist/web/openhps-rdf.all.min.js.map +1 -1
  26. package/dist/web/openhps-rdf.serialization.es.js +60 -18
  27. package/dist/web/openhps-rdf.serialization.es.js.map +1 -1
  28. package/dist/web/openhps-rdf.serialization.es.min.js +1 -1
  29. package/dist/web/openhps-rdf.serialization.es.min.js.map +1 -1
  30. package/dist/web/openhps-rdf.serialization.js +60 -18
  31. package/dist/web/openhps-rdf.serialization.js.map +1 -1
  32. package/dist/web/openhps-rdf.serialization.min.js +1 -1
  33. package/dist/web/openhps-rdf.serialization.min.js.map +1 -1
  34. package/dist/web/openhps-rdf.sparql.es.js +56 -9
  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 +56 -9
  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/rdf/RDFSerializer.ts +53 -1
  44. package/src/rdf/SerializableNamedNode.ts +3 -7
  45. package/src/rdf/types.ts +13 -0
@@ -458,8 +458,8 @@ class InternalRDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.S
458
458
  /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openhps_core__WEBPACK_IMPORTED_MODULE_0__);
459
459
  /* harmony import */ var _InternalRDFSerializer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InternalRDFSerializer */ "./dist/esm/rdf/InternalRDFSerializer.js");
460
460
  /* harmony import */ var _InternalRDFDeserializer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InternalRDFDeserializer */ "./dist/esm/rdf/InternalRDFDeserializer.js");
461
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
462
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
461
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
462
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
463
463
  /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Writer.js");
464
464
  /* harmony import */ var _namespaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../namespaces */ "./dist/esm/namespaces.js");
465
465
  /* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
@@ -536,23 +536,70 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
536
536
  const thing = quadsToThing(subject, store);
537
537
  return this.deserialize(thing);
538
538
  }
539
+ static serializeToSubjects(data, baseUri) {
540
+ const quads = RDFSerializer.serializeToQuads(data, baseUri);
541
+ const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
542
+ const quadSubjects = store.getSubjects(null, null, null);
543
+ function serializePredicates(quadSubject) {
544
+ const quadPredicates = store.getPredicates(quadSubject, null, null);
545
+ return quadPredicates
546
+ .map((quadPredicate) => {
547
+ const quadObjects = store.getObjects(quadSubject, quadPredicate, null);
548
+ const literals = quadObjects
549
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
550
+ .filter((obj) => obj.language === '')
551
+ .map((obj) => ({ [obj.datatype.value]: [obj.value] }))
552
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
553
+ const langStrings = quadObjects
554
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
555
+ .filter((obj) => obj.language !== '')
556
+ .map((obj) => ({ [obj.language]: [obj.value] }))
557
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
558
+ const namedNodes = quadObjects
559
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
560
+ .map((obj) => obj.value);
561
+ const blankNodes = quadObjects
562
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.BlankNode)
563
+ .map((obj) => serializePredicates(n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(obj.value)));
564
+ return {
565
+ [quadPredicate.value]: {
566
+ namedNodes,
567
+ blankNodes,
568
+ literals,
569
+ langStrings,
570
+ },
571
+ };
572
+ })
573
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
574
+ }
575
+ const subjects = quadSubjects
576
+ .filter((quadSubject) => quadSubject instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
577
+ .map((quadSubject) => {
578
+ return {
579
+ type: 'Subject',
580
+ url: quadSubject.value,
581
+ predicates: serializePredicates(quadSubject),
582
+ };
583
+ });
584
+ return subjects;
585
+ }
539
586
  static serializeToQuads(data, baseUri) {
540
587
  const thing = data['predicates'] !== undefined ? data : this.serialize(data, baseUri);
541
588
  const subject = thing.termType === 'BlankNode'
542
- ? n3__WEBPACK_IMPORTED_MODULE_4__["default"].blankNode(thing.value)
543
- : n3__WEBPACK_IMPORTED_MODULE_4__["default"].namedNode(thing.value);
589
+ ? n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(thing.value)
590
+ : n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(thing.value);
544
591
  return Object.keys(thing.predicates)
545
592
  .map((predicateIri) => {
546
- const predicate = n3__WEBPACK_IMPORTED_MODULE_4__["default"].namedNode(predicateIri);
593
+ const predicate = n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(predicateIri);
547
594
  return thing.predicates[predicateIri].map((object) => {
548
595
  if (object['predicates'] !== undefined) {
549
596
  return [
550
- n3__WEBPACK_IMPORTED_MODULE_4__["default"].quad(subject, predicate, object),
597
+ n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object),
551
598
  ...this.serializeToQuads(object),
552
599
  ];
553
600
  }
554
601
  else {
555
- return [n3__WEBPACK_IMPORTED_MODULE_4__["default"].quad(subject, predicate, object)];
602
+ return [n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object)];
556
603
  }
557
604
  });
558
605
  })
@@ -563,7 +610,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
563
610
  return __awaiter(this, void 0, void 0, function* () {
564
611
  return new Promise((resolve, reject) => {
565
612
  const quads = this.serializeToQuads(thing, options.baseUri);
566
- const store = new n3__WEBPACK_IMPORTED_MODULE_5__["default"](quads);
613
+ const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
567
614
  const prefixes = Object.assign({ xsd: 'http://www.w3.org/2001/XMLSchema#' }, _namespaces__WEBPACK_IMPORTED_MODULE_6__.namespaces);
568
615
  const ns = Object.keys(prefixes)
569
616
  .map((k) => {
@@ -686,7 +733,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
686
733
  if (identifierMember) {
687
734
  const rdfOptions = identifierMember.options.rdf;
688
735
  uri = rdfOptions.serializer ? rdfOptions.serializer(identifier, dataType) : identifier;
689
- uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_4__["default"].blankNode(uri).value;
736
+ uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(uri).value;
690
737
  }
691
738
  else {
692
739
  return baseUri;
@@ -731,16 +778,10 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
731
778
  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;
732
779
  return c > 3 && r && Object.defineProperty(target, key, r), r;
733
780
  };
734
- var __metadata = (undefined && undefined.__metadata) || function (k, v) {
735
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
736
- };
737
781
  var SerializableNamedNode_1;
738
782
 
739
783
 
740
784
  let SerializableNamedNode = SerializableNamedNode_1 = class SerializableNamedNode extends n3__WEBPACK_IMPORTED_MODULE_1__.NamedNode {
741
- constructor(uri) {
742
- super(uri);
743
- }
744
785
  };
745
786
  SerializableNamedNode = SerializableNamedNode_1 = __decorate([
746
787
  (0,_openhps_core__WEBPACK_IMPORTED_MODULE_0__.SerializableObject)({
@@ -754,8 +795,7 @@ SerializableNamedNode = SerializableNamedNode_1 = __decorate([
754
795
  return new SerializableNamedNode_1(thing.value);
755
796
  },
756
797
  },
757
- }),
758
- __metadata("design:paramtypes", [String])
798
+ })
759
799
  ], SerializableNamedNode);
760
800
 
761
801
  //# sourceMappingURL=SerializableNamedNode.js.map
@@ -15266,13 +15306,15 @@ const RDF = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
15266
15306
 
15267
15307
  "use strict";
15268
15308
  /* harmony export */ __webpack_require__.d(__webpack_exports__, {
15309
+ /* harmony export */ "BlankNode": () => (/* binding */ BlankNode),
15310
+ /* harmony export */ "Literal": () => (/* binding */ Literal),
15269
15311
  /* harmony export */ "NamedNode": () => (/* binding */ NamedNode),
15270
15312
  /* harmony export */ "Term": () => (/* binding */ Term),
15271
15313
  /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__),
15272
15314
  /* harmony export */ "termFromId": () => (/* binding */ termFromId),
15273
15315
  /* harmony export */ "termToId": () => (/* binding */ termToId)
15274
15316
  /* harmony export */ });
15275
- /* unused harmony exports Literal, BlankNode, Variable, DefaultGraph, Quad, Triple, escapeQuotes, unescapeQuotes */
15317
+ /* unused harmony exports Variable, DefaultGraph, Quad, Triple, escapeQuotes, unescapeQuotes */
15276
15318
  /* harmony import */ var _IRIs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./IRIs */ "./node_modules/n3/src/IRIs.js");
15277
15319
  /* harmony import */ var _N3Util__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./N3Util */ "./node_modules/n3/src/N3Util.js");
15278
15320
  // N3.js implementations of the RDF/JS core data types