@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.
- package/.eslintrc.js +39 -0
- package/.prettierrc.js +8 -0
- package/commitlint.config.js +1 -0
- package/dist/cjs/rdf/RDFSerializer.d.ts +2 -1
- package/dist/cjs/rdf/RDFSerializer.js +47 -0
- package/dist/cjs/rdf/RDFSerializer.js.map +1 -1
- package/dist/cjs/rdf/SerializableNamedNode.d.ts +0 -2
- package/dist/cjs/rdf/SerializableNamedNode.js +1 -8
- package/dist/cjs/rdf/SerializableNamedNode.js.map +1 -1
- package/dist/cjs/rdf/types.d.ts +10 -0
- package/dist/esm/rdf/RDFSerializer.d.ts +2 -1
- package/dist/esm/rdf/RDFSerializer.js +47 -0
- package/dist/esm/rdf/RDFSerializer.js.map +1 -1
- package/dist/esm/rdf/SerializableNamedNode.d.ts +0 -2
- package/dist/esm/rdf/SerializableNamedNode.js +1 -8
- package/dist/esm/rdf/SerializableNamedNode.js.map +1 -1
- package/dist/esm/rdf/types.d.ts +10 -0
- package/dist/types/rdf/RDFSerializer.d.ts +2 -1
- package/dist/types/rdf/SerializableNamedNode.d.ts +0 -2
- package/dist/types/rdf/types.d.ts +10 -0
- package/dist/web/openhps-rdf.all.es.js +57 -17
- package/dist/web/openhps-rdf.all.es.js.map +1 -1
- package/dist/web/openhps-rdf.all.es.min.js +1 -1
- package/dist/web/openhps-rdf.all.es.min.js.map +1 -1
- package/dist/web/openhps-rdf.all.js +57 -17
- package/dist/web/openhps-rdf.all.js.map +1 -1
- package/dist/web/openhps-rdf.all.min.js +1 -1
- package/dist/web/openhps-rdf.all.min.js.map +1 -1
- package/dist/web/openhps-rdf.serialization.es.js +60 -18
- package/dist/web/openhps-rdf.serialization.es.js.map +1 -1
- package/dist/web/openhps-rdf.serialization.es.min.js +1 -1
- package/dist/web/openhps-rdf.serialization.es.min.js.map +1 -1
- package/dist/web/openhps-rdf.serialization.js +60 -18
- package/dist/web/openhps-rdf.serialization.js.map +1 -1
- package/dist/web/openhps-rdf.serialization.min.js +1 -1
- package/dist/web/openhps-rdf.serialization.min.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.es.js +56 -9
- package/dist/web/openhps-rdf.sparql.es.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.es.min.js +1 -1
- package/dist/web/openhps-rdf.sparql.es.min.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.js +56 -9
- package/dist/web/openhps-rdf.sparql.js.map +1 -1
- package/dist/web/openhps-rdf.sparql.min.js +1 -1
- package/dist/web/openhps-rdf.sparql.min.js.map +1 -1
- package/package.json +4 -2
- package/serialization.d.ts +1 -0
- package/serialization.js +1 -0
- package/src/rdf/RDFSerializer.ts +53 -1
- package/src/rdf/SerializableNamedNode.ts +3 -7
- package/src/rdf/types.ts +13 -0
- package/vocab.d.ts +1 -0
- package/vocab.js +1 -0
- package/webpack.config.js +87 -0
|
@@ -477,8 +477,8 @@ class InternalRDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.S
|
|
|
477
477
|
/* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_openhps_core__WEBPACK_IMPORTED_MODULE_0__);
|
|
478
478
|
/* harmony import */ var _InternalRDFSerializer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InternalRDFSerializer */ "./dist/esm/rdf/InternalRDFSerializer.js");
|
|
479
479
|
/* harmony import */ var _InternalRDFDeserializer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InternalRDFDeserializer */ "./dist/esm/rdf/InternalRDFDeserializer.js");
|
|
480
|
-
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/
|
|
481
|
-
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/
|
|
480
|
+
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
|
|
481
|
+
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
|
|
482
482
|
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Writer.js");
|
|
483
483
|
/* harmony import */ var _namespaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../namespaces */ "./dist/esm/namespaces.js");
|
|
484
484
|
/* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
|
|
@@ -555,23 +555,70 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
|
|
|
555
555
|
const thing = quadsToThing(subject, store);
|
|
556
556
|
return this.deserialize(thing);
|
|
557
557
|
}
|
|
558
|
+
static serializeToSubjects(data, baseUri) {
|
|
559
|
+
const quads = RDFSerializer.serializeToQuads(data, baseUri);
|
|
560
|
+
const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
|
|
561
|
+
const quadSubjects = store.getSubjects(null, null, null);
|
|
562
|
+
function serializePredicates(quadSubject) {
|
|
563
|
+
const quadPredicates = store.getPredicates(quadSubject, null, null);
|
|
564
|
+
return quadPredicates
|
|
565
|
+
.map((quadPredicate) => {
|
|
566
|
+
const quadObjects = store.getObjects(quadSubject, quadPredicate, null);
|
|
567
|
+
const literals = quadObjects
|
|
568
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
|
|
569
|
+
.filter((obj) => obj.language === '')
|
|
570
|
+
.map((obj) => ({ [obj.datatype.value]: [obj.value] }))
|
|
571
|
+
.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
|
|
572
|
+
const langStrings = quadObjects
|
|
573
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
|
|
574
|
+
.filter((obj) => obj.language !== '')
|
|
575
|
+
.map((obj) => ({ [obj.language]: [obj.value] }))
|
|
576
|
+
.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
|
|
577
|
+
const namedNodes = quadObjects
|
|
578
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
|
|
579
|
+
.map((obj) => obj.value);
|
|
580
|
+
const blankNodes = quadObjects
|
|
581
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.BlankNode)
|
|
582
|
+
.map((obj) => serializePredicates(n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(obj.value)));
|
|
583
|
+
return {
|
|
584
|
+
[quadPredicate.value]: {
|
|
585
|
+
namedNodes,
|
|
586
|
+
blankNodes,
|
|
587
|
+
literals,
|
|
588
|
+
langStrings,
|
|
589
|
+
},
|
|
590
|
+
};
|
|
591
|
+
})
|
|
592
|
+
.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
|
|
593
|
+
}
|
|
594
|
+
const subjects = quadSubjects
|
|
595
|
+
.filter((quadSubject) => quadSubject instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
|
|
596
|
+
.map((quadSubject) => {
|
|
597
|
+
return {
|
|
598
|
+
type: 'Subject',
|
|
599
|
+
url: quadSubject.value,
|
|
600
|
+
predicates: serializePredicates(quadSubject),
|
|
601
|
+
};
|
|
602
|
+
});
|
|
603
|
+
return subjects;
|
|
604
|
+
}
|
|
558
605
|
static serializeToQuads(data, baseUri) {
|
|
559
606
|
const thing = data['predicates'] !== undefined ? data : this.serialize(data, baseUri);
|
|
560
607
|
const subject = thing.termType === 'BlankNode'
|
|
561
|
-
?
|
|
562
|
-
:
|
|
608
|
+
? n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(thing.value)
|
|
609
|
+
: n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(thing.value);
|
|
563
610
|
return Object.keys(thing.predicates)
|
|
564
611
|
.map((predicateIri) => {
|
|
565
|
-
const predicate =
|
|
612
|
+
const predicate = n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(predicateIri);
|
|
566
613
|
return thing.predicates[predicateIri].map((object) => {
|
|
567
614
|
if (object['predicates'] !== undefined) {
|
|
568
615
|
return [
|
|
569
|
-
|
|
616
|
+
n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object),
|
|
570
617
|
...this.serializeToQuads(object),
|
|
571
618
|
];
|
|
572
619
|
}
|
|
573
620
|
else {
|
|
574
|
-
return [
|
|
621
|
+
return [n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object)];
|
|
575
622
|
}
|
|
576
623
|
});
|
|
577
624
|
})
|
|
@@ -582,7 +629,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
|
|
|
582
629
|
return __awaiter(this, void 0, void 0, function* () {
|
|
583
630
|
return new Promise((resolve, reject) => {
|
|
584
631
|
const quads = this.serializeToQuads(thing, options.baseUri);
|
|
585
|
-
const store = new
|
|
632
|
+
const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
|
|
586
633
|
const prefixes = Object.assign({ xsd: 'http://www.w3.org/2001/XMLSchema#' }, _namespaces__WEBPACK_IMPORTED_MODULE_6__.namespaces);
|
|
587
634
|
const ns = Object.keys(prefixes)
|
|
588
635
|
.map((k) => {
|
|
@@ -705,7 +752,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
|
|
|
705
752
|
if (identifierMember) {
|
|
706
753
|
const rdfOptions = identifierMember.options.rdf;
|
|
707
754
|
uri = rdfOptions.serializer ? rdfOptions.serializer(identifier, dataType) : identifier;
|
|
708
|
-
uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri :
|
|
755
|
+
uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(uri).value;
|
|
709
756
|
}
|
|
710
757
|
else {
|
|
711
758
|
return baseUri;
|