@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.
- 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 +1 -1
- package/src/rdf/RDFSerializer.ts +53 -1
- package/src/rdf/SerializableNamedNode.ts +3 -7
- package/src/rdf/types.ts +13 -0
|
@@ -457,8 +457,8 @@ class InternalRDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.S
|
|
|
457
457
|
/* harmony import */ var _openhps_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @openhps/core */ "@openhps/core");
|
|
458
458
|
/* harmony import */ var _InternalRDFSerializer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./InternalRDFSerializer */ "./dist/esm/rdf/InternalRDFSerializer.js");
|
|
459
459
|
/* harmony import */ var _InternalRDFDeserializer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./InternalRDFDeserializer */ "./dist/esm/rdf/InternalRDFDeserializer.js");
|
|
460
|
-
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/
|
|
461
|
-
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/
|
|
460
|
+
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Store.js");
|
|
461
|
+
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3DataFactory.js");
|
|
462
462
|
/* harmony import */ var n3__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! n3 */ "./node_modules/n3/src/N3Writer.js");
|
|
463
463
|
/* harmony import */ var _namespaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../namespaces */ "./dist/esm/namespaces.js");
|
|
464
464
|
/* harmony import */ var _vocab__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../vocab */ "./dist/esm/vocab/index.js");
|
|
@@ -535,23 +535,70 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
|
|
|
535
535
|
const thing = quadsToThing(subject, store);
|
|
536
536
|
return this.deserialize(thing);
|
|
537
537
|
}
|
|
538
|
+
static serializeToSubjects(data, baseUri) {
|
|
539
|
+
const quads = RDFSerializer.serializeToQuads(data, baseUri);
|
|
540
|
+
const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
|
|
541
|
+
const quadSubjects = store.getSubjects(null, null, null);
|
|
542
|
+
function serializePredicates(quadSubject) {
|
|
543
|
+
const quadPredicates = store.getPredicates(quadSubject, null, null);
|
|
544
|
+
return quadPredicates
|
|
545
|
+
.map((quadPredicate) => {
|
|
546
|
+
const quadObjects = store.getObjects(quadSubject, quadPredicate, null);
|
|
547
|
+
const literals = quadObjects
|
|
548
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
|
|
549
|
+
.filter((obj) => obj.language === '')
|
|
550
|
+
.map((obj) => ({ [obj.datatype.value]: [obj.value] }))
|
|
551
|
+
.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
|
|
552
|
+
const langStrings = quadObjects
|
|
553
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.Literal)
|
|
554
|
+
.filter((obj) => obj.language !== '')
|
|
555
|
+
.map((obj) => ({ [obj.language]: [obj.value] }))
|
|
556
|
+
.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
|
|
557
|
+
const namedNodes = quadObjects
|
|
558
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
|
|
559
|
+
.map((obj) => obj.value);
|
|
560
|
+
const blankNodes = quadObjects
|
|
561
|
+
.filter((obj) => obj instanceof n3__WEBPACK_IMPORTED_MODULE_5__.BlankNode)
|
|
562
|
+
.map((obj) => serializePredicates(n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(obj.value)));
|
|
563
|
+
return {
|
|
564
|
+
[quadPredicate.value]: {
|
|
565
|
+
namedNodes,
|
|
566
|
+
blankNodes,
|
|
567
|
+
literals,
|
|
568
|
+
langStrings,
|
|
569
|
+
},
|
|
570
|
+
};
|
|
571
|
+
})
|
|
572
|
+
.reduce((a, b) => (Object.assign(Object.assign({}, a), b)), {});
|
|
573
|
+
}
|
|
574
|
+
const subjects = quadSubjects
|
|
575
|
+
.filter((quadSubject) => quadSubject instanceof n3__WEBPACK_IMPORTED_MODULE_5__.NamedNode)
|
|
576
|
+
.map((quadSubject) => {
|
|
577
|
+
return {
|
|
578
|
+
type: 'Subject',
|
|
579
|
+
url: quadSubject.value,
|
|
580
|
+
predicates: serializePredicates(quadSubject),
|
|
581
|
+
};
|
|
582
|
+
});
|
|
583
|
+
return subjects;
|
|
584
|
+
}
|
|
538
585
|
static serializeToQuads(data, baseUri) {
|
|
539
586
|
const thing = data['predicates'] !== undefined ? data : this.serialize(data, baseUri);
|
|
540
587
|
const subject = thing.termType === 'BlankNode'
|
|
541
|
-
?
|
|
542
|
-
:
|
|
588
|
+
? n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(thing.value)
|
|
589
|
+
: n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(thing.value);
|
|
543
590
|
return Object.keys(thing.predicates)
|
|
544
591
|
.map((predicateIri) => {
|
|
545
|
-
const predicate =
|
|
592
|
+
const predicate = n3__WEBPACK_IMPORTED_MODULE_5__["default"].namedNode(predicateIri);
|
|
546
593
|
return thing.predicates[predicateIri].map((object) => {
|
|
547
594
|
if (object['predicates'] !== undefined) {
|
|
548
595
|
return [
|
|
549
|
-
|
|
596
|
+
n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object),
|
|
550
597
|
...this.serializeToQuads(object),
|
|
551
598
|
];
|
|
552
599
|
}
|
|
553
600
|
else {
|
|
554
|
-
return [
|
|
601
|
+
return [n3__WEBPACK_IMPORTED_MODULE_5__["default"].quad(subject, predicate, object)];
|
|
555
602
|
}
|
|
556
603
|
});
|
|
557
604
|
})
|
|
@@ -562,7 +609,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
|
|
|
562
609
|
return __awaiter(this, void 0, void 0, function* () {
|
|
563
610
|
return new Promise((resolve, reject) => {
|
|
564
611
|
const quads = this.serializeToQuads(thing, options.baseUri);
|
|
565
|
-
const store = new
|
|
612
|
+
const store = new n3__WEBPACK_IMPORTED_MODULE_4__["default"](quads);
|
|
566
613
|
const prefixes = Object.assign({ xsd: 'http://www.w3.org/2001/XMLSchema#' }, _namespaces__WEBPACK_IMPORTED_MODULE_6__.namespaces);
|
|
567
614
|
const ns = Object.keys(prefixes)
|
|
568
615
|
.map((k) => {
|
|
@@ -685,7 +732,7 @@ class RDFSerializer extends _openhps_core__WEBPACK_IMPORTED_MODULE_0__.DataSeria
|
|
|
685
732
|
if (identifierMember) {
|
|
686
733
|
const rdfOptions = identifierMember.options.rdf;
|
|
687
734
|
uri = rdfOptions.serializer ? rdfOptions.serializer(identifier, dataType) : identifier;
|
|
688
|
-
uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri :
|
|
735
|
+
uri = uri && !uri.startsWith('http') && baseUri ? baseUri + uri : n3__WEBPACK_IMPORTED_MODULE_5__["default"].blankNode(uri).value;
|
|
689
736
|
}
|
|
690
737
|
else {
|
|
691
738
|
return baseUri;
|