@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
@@ -576,8 +576,8 @@ class InternalRDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.S
576
576
  /* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openhps_core__WEBPACK_IMPORTED_MODULE_0__);
577
577
  /* harmony import */ var _InternalRDFSerializer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InternalRDFSerializer */ "./dist/esm/rdf/InternalRDFSerializer.js");
578
578
  /* harmony import */ var _InternalRDFDeserializer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InternalRDFDeserializer */ "./dist/esm/rdf/InternalRDFDeserializer.js");
579
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
580
- /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
579
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
580
+ /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
581
581
  /* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Writer.js");
582
582
  /* harmony import */ var _namespaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../namespaces */ "./dist/esm/namespaces.js");
583
583
  /* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
@@ -654,23 +654,70 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
654
654
  const thing = quadsToThing(subject, store);
655
655
  return this.deserialize(thing);
656
656
  }
657
+ static serializeToSubjects(data, baseUri) {
658
+ const quads = RDFSerializer.serializeToQuads(data, baseUri);
659
+ const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
660
+ const quadSubjects = store.getSubjects(null, null, null);
661
+ function serializePredicates(quadSubject) {
662
+ const quadPredicates = store.getPredicates(quadSubject, null, null);
663
+ return quadPredicates
664
+ .map((quadPredicate) => {
665
+ const quadObjects = store.getObjects(quadSubject, quadPredicate, null);
666
+ const literals = quadObjects
667
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
668
+ .filter((obj) => obj.language === '')
669
+ .map((obj) => ({ [obj.datatype.value]: [obj.value] }))
670
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
671
+ const langStrings = quadObjects
672
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
673
+ .filter((obj) => obj.language !== '')
674
+ .map((obj) => ({ [obj.language]: [obj.value] }))
675
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
676
+ const namedNodes = quadObjects
677
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
678
+ .map((obj) => obj.value);
679
+ const blankNodes = quadObjects
680
+ .filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.BlankNode)
681
+ .map((obj) => serializePredicates(n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(obj.value)));
682
+ return {
683
+ [quadPredicate.value]: {
684
+ namedNodes,
685
+ blankNodes,
686
+ literals,
687
+ langStrings,
688
+ },
689
+ };
690
+ })
691
+ .reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
692
+ }
693
+ const subjects = quadSubjects
694
+ .filter((quadSubject) => quadSubject instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
695
+ .map((quadSubject) => {
696
+ return {
697
+ type: 'Subject',
698
+ url: quadSubject.value,
699
+ predicates: serializePredicates(quadSubject),
700
+ };
701
+ });
702
+ return subjects;
703
+ }
657
704
  static serializeToQuads(data, baseUri) {
658
705
  const thing = data['predicates'] !== undefined ? data : this.serialize(data, baseUri);
659
706
  const subject = thing.termType === 'BlankNode'
660
- ? n3__WEBPACK_IMPORTED_MODULE_4__["default"].blankNode(thing.value)
661
- : n3__WEBPACK_IMPORTED_MODULE_4__["default"].namedNode(thing.value);
707
+ ? n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(thing.value)
708
+ : n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(thing.value);
662
709
  return Object.keys(thing.predicates)
663
710
  .map((predicateIri) => {
664
- const predicate = n3__WEBPACK_IMPORTED_MODULE_4__["default"].namedNode(predicateIri);
711
+ const predicate = n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(predicateIri);
665
712
  return thing.predicates[predicateIri].map((object) => {
666
713
  if (object['predicates'] !== undefined) {
667
714
  return [
668
- n3__WEBPACK_IMPORTED_MODULE_4__["default"].quad(subject, predicate, object),
715
+ n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object),
669
716
  ...this.serializeToQuads(object),
670
717
  ];
671
718
  }
672
719
  else {
673
- return [n3__WEBPACK_IMPORTED_MODULE_4__["default"].quad(subject, predicate, object)];
720
+ return [n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object)];
674
721
  }
675
722
  });
676
723
  })
@@ -681,7 +728,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
681
728
  return __awaiter(this, void 0, void 0, function* () {
682
729
  return new Promise((resolve, reject) => {
683
730
  const quads = this.serializeToQuads(thing, options.baseUri);
684
- const store = new n3__WEBPACK_IMPORTED_MODULE_5__["default"](quads);
731
+ const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
685
732
  const prefixes = Object.assign({ xsd: 'http://www.w3.org/2001/XMLSchema#' }, _namespaces__WEBPACK_IMPORTED_MODULE_6__.namespaces);
686
733
  const ns = Object.keys(prefixes)
687
734
  .map((k) => {
@@ -804,7 +851,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
804
851
  if (identifierMember) {
805
852
  const rdfOptions = identifierMember.options.rdf;
806
853
  uri = rdfOptions.serializer ? rdfOptions.serializer(identifier, dataType) : identifier;
807
- uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_4__["default"].blankNode(uri).value;
854
+ uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(uri).value;
808
855
  }
809
856
  else {
810
857
  return baseUri;
@@ -849,16 +896,10 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
849
896
  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;
850
897
  return c > 3 && r && Object.defineProperty(target, key, r), r;
851
898
  };
852
- var __metadata = (undefined && undefined.__metadata) || function (k, v) {
853
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
854
- };
855
899
  var SerializableNamedNode_1;
856
900
 
857
901
 
858
902
  let SerializableNamedNode = SerializableNamedNode_1 = class SerializableNamedNode extends n3__WEBPACK_IMPORTED_MODULE_1__.NamedNode {
859
- constructor(uri) {
860
- super(uri);
861
- }
862
903
  };
863
904
  SerializableNamedNode = SerializableNamedNode_1 = __decorate([
864
905
  (0,_openhps_core__WEBPACK_IMPORTED_MODULE_0__.SerializableObject)({
@@ -872,8 +913,7 @@ SerializableNamedNode = SerializableNamedNode_1 = __decorate([
872
913
  return new SerializableNamedNode_1(thing.value);
873
914
  },
874
915
  },
875
- }),
876
- __metadata("design:paramtypes", [String])
916
+ })
877
917
  ], SerializableNamedNode);
878
918
 
879
919
  //# sourceMappingURL=SerializableNamedNode.js.map