@faubulous/mentor-rdf 0.2.23 → 0.2.25
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/out/rdf/class-repository.js +21 -18
- package/out/rdf/class-repository.js.map +1 -1
- package/out/rdf/index.d.ts +2 -1
- package/out/rdf/index.js +2 -1
- package/out/rdf/index.js.map +1 -1
- package/out/rdf/property-repository.js +22 -18
- package/out/rdf/property-repository.js.map +1 -1
- package/out/rdf/reasoners/rdfs-reasoner.d.ts +1 -0
- package/out/rdf/reasoners/rdfs-reasoner.js +17 -2
- package/out/rdf/reasoners/rdfs-reasoner.js.map +1 -1
- package/out/rdf/resource-repository.d.ts +14 -3
- package/out/rdf/resource-repository.js +40 -13
- package/out/rdf/resource-repository.js.map +1 -1
- package/out/rdf/uri.d.ts +29 -0
- package/out/rdf/uri.js +94 -0
- package/out/rdf/uri.js.map +1 -0
- package/out/rdf/vocabulary-repository.d.ts +3 -2
- package/out/rdf/vocabulary-repository.js +15 -4
- package/out/rdf/vocabulary-repository.js.map +1 -1
- package/package.json +1 -1
|
@@ -176,27 +176,30 @@ class ClassRepository extends concept_repository_1.ConceptRepository {
|
|
|
176
176
|
* @returns An array of root classes in the repository.
|
|
177
177
|
*/
|
|
178
178
|
getRootClasses(graphUris, options) {
|
|
179
|
-
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
for (let
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
179
|
+
var _a;
|
|
180
|
+
const result = new Set();
|
|
181
|
+
const classes = new Set(this.getClasses(graphUris, options));
|
|
182
|
+
for (let c of classes) {
|
|
183
|
+
let hasSuperClass = false;
|
|
184
|
+
for (let q of this.store.match(graphUris, new n3.NamedNode(c), ontologies_1.rdfs.subClassOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
185
|
+
const includeReferenced = (_a = options === null || options === void 0 ? void 0 : options.includeReferenced) !== null && _a !== void 0 ? _a : false;
|
|
186
|
+
const skip = this.skip(graphUris, q.object, options);
|
|
187
|
+
// Do not skip the super property if it is only referenced and the includeReferenced option is set.
|
|
188
|
+
if (q.object.termType != "NamedNode" || skip && (!includeReferenced || includeReferenced && this.hasSubject(graphUris, q.object.value))) {
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
hasSuperClass = true;
|
|
192
|
+
// If we have a super property that is not in the list of properties and not excluded by the options, we add it to the result.
|
|
193
|
+
if (!classes.has(q.object.value)) {
|
|
194
|
+
result.add(q.object.value);
|
|
195
|
+
}
|
|
196
|
+
break;
|
|
186
197
|
}
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
for (let q of this.store.match(graphUris, null, ontologies_1.rdfs.subClassOf, null)) {
|
|
190
|
-
const s = q.subject;
|
|
191
|
-
const o = q.object;
|
|
192
|
-
if (this.skip(graphUris, s, options) || this.skip(graphUris, o, options)) {
|
|
193
|
-
continue;
|
|
198
|
+
if (!hasSuperClass) {
|
|
199
|
+
result.add(c);
|
|
194
200
|
}
|
|
195
|
-
classes.add(s.value);
|
|
196
|
-
classes.add(o.value);
|
|
197
|
-
subclasses.add(s.value);
|
|
198
201
|
}
|
|
199
|
-
return Array.from(
|
|
202
|
+
return Array.from(result);
|
|
200
203
|
}
|
|
201
204
|
/**
|
|
202
205
|
* Indicate if there is an equivalent class of a given class.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":"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"}
|
package/out/rdf/index.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
export * from "./class-repository";
|
|
2
2
|
export * from "./individual-repository";
|
|
3
|
-
export * from "./vocabulary-repository";
|
|
4
3
|
export * from "./parsers/rdf-syntax";
|
|
5
4
|
export * from "./parsers/tokenizer";
|
|
6
5
|
export * from "./property-repository";
|
|
@@ -8,3 +7,5 @@ export * from "./reasoners/owl-reasoner";
|
|
|
8
7
|
export * from "./reasoners/rdfs-reasoner";
|
|
9
8
|
export * from "./resource-repository";
|
|
10
9
|
export * from "./store";
|
|
10
|
+
export * from "./uri";
|
|
11
|
+
export * from "./vocabulary-repository";
|
package/out/rdf/index.js
CHANGED
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
4
|
tslib_1.__exportStar(require("./class-repository"), exports);
|
|
5
5
|
tslib_1.__exportStar(require("./individual-repository"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./vocabulary-repository"), exports);
|
|
7
6
|
tslib_1.__exportStar(require("./parsers/rdf-syntax"), exports);
|
|
8
7
|
tslib_1.__exportStar(require("./parsers/tokenizer"), exports);
|
|
9
8
|
tslib_1.__exportStar(require("./property-repository"), exports);
|
|
@@ -11,4 +10,6 @@ tslib_1.__exportStar(require("./reasoners/owl-reasoner"), exports);
|
|
|
11
10
|
tslib_1.__exportStar(require("./reasoners/rdfs-reasoner"), exports);
|
|
12
11
|
tslib_1.__exportStar(require("./resource-repository"), exports);
|
|
13
12
|
tslib_1.__exportStar(require("./store"), exports);
|
|
13
|
+
tslib_1.__exportStar(require("./uri"), exports);
|
|
14
|
+
tslib_1.__exportStar(require("./vocabulary-repository"), exports);
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/out/rdf/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rdf/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rdf/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC,+DAAqC;AACrC,8DAAoC;AACpC,gEAAsC;AACtC,mEAAyC;AACzC,oEAA0C;AAC1C,gEAAsC;AACtC,kDAAwB;AACxB,gDAAsB;AACtB,kEAAwC"}
|
|
@@ -149,26 +149,30 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
149
149
|
* @returns An array of root properties in the repository.
|
|
150
150
|
*/
|
|
151
151
|
getRootProperties(graphUris, options) {
|
|
152
|
-
|
|
153
|
-
const
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
152
|
+
var _a;
|
|
153
|
+
const result = new Set();
|
|
154
|
+
const properties = new Set(this.getProperties(graphUris, options));
|
|
155
|
+
for (let p of properties) {
|
|
156
|
+
let hasSuperProperty = false;
|
|
157
|
+
for (let q of this.store.match(graphUris, new n3.NamedNode(p), ontologies_1.rdfs.subPropertyOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
158
|
+
const includeReferenced = (_a = options === null || options === void 0 ? void 0 : options.includeReferenced) !== null && _a !== void 0 ? _a : false;
|
|
159
|
+
const skip = this.skip(graphUris, q.object, options);
|
|
160
|
+
// Do not skip the super property if it is only referenced and the includeReferenced option is set.
|
|
161
|
+
if (q.object.termType != "NamedNode" || skip && (!includeReferenced || includeReferenced && this.hasSubject(graphUris, q.object.value))) {
|
|
162
|
+
continue;
|
|
163
|
+
}
|
|
164
|
+
hasSuperProperty = true;
|
|
165
|
+
// If we have a super property that is not in the list of properties and not excluded by the options, we add it to the result.
|
|
166
|
+
if (!properties.has(q.object.value)) {
|
|
167
|
+
result.add(q.object.value);
|
|
168
|
+
}
|
|
169
|
+
break;
|
|
158
170
|
}
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
for (let q of this.store.match(graphUris, null, ontologies_1.rdfs.subPropertyOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
162
|
-
const s = q.subject;
|
|
163
|
-
const o = q.object;
|
|
164
|
-
if (s.termType != "NamedNode" || o.termType != "NamedNode") {
|
|
165
|
-
continue;
|
|
171
|
+
if (!hasSuperProperty) {
|
|
172
|
+
result.add(p);
|
|
166
173
|
}
|
|
167
|
-
properties.add(s.value);
|
|
168
|
-
properties.add(o.value);
|
|
169
|
-
subproperties.add(s.value);
|
|
170
174
|
}
|
|
171
|
-
return Array.from(
|
|
175
|
+
return Array.from(result);
|
|
172
176
|
}
|
|
173
177
|
/**
|
|
174
178
|
* Indicate if there is an equivalent property of a given property.
|
|
@@ -215,7 +219,7 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
215
219
|
*/
|
|
216
220
|
getPropertyTypes(graphUris, options) {
|
|
217
221
|
const result = new Set();
|
|
218
|
-
for (let p of this.getProperties(graphUris).map(p => new n3.NamedNode(p))) {
|
|
222
|
+
for (let p of this.getProperties(graphUris, options).map(p => new n3.NamedNode(p))) {
|
|
219
223
|
const types = new Set(Array.from(this.store.match(graphUris, p, ontologies_1.rdf.type, null, options === null || options === void 0 ? void 0 : options.includeInferred)).map(t => t.object.value));
|
|
220
224
|
for (let t of types) {
|
|
221
225
|
// Do not assert rdf:Property for properties that have multiple types.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-repository.js","sourceRoot":"","sources":["../../src/rdf/property-repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"property-repository.js","sourceRoot":"","sources":["../../src/rdf/property-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAAoD;AACpD,yDAAqD;AAIrD;;GAEG;AACH,MAAa,kBAAmB,SAAQ,kCAAe;IAWnD,YAAY,KAAY;QAAI,KAAK,CAAC,KAAK,CAAC,CAAC;QAVzC;;WAEG;QACI,oBAAe,GAAG,iBAAI,CAAC,MAAM,CAAC;QAErC;;WAEG;QACI,mBAAc,GAAG,iBAAI,CAAC,KAAK,CAAC;IAEO,CAAC;IAE3C;;;;OAIG;IACH,aAAa,CAAC,SAAwC,EAAE,OAAgC;QACpF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,QAAQ,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;YAC/F,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAEpB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;gBAClC,SAAS;aACZ;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CAAC,SAAwC,EAAE,OAAe,EAAE,OAAgC;QAC3G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAEvC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;YACvF,MAAM,CAAC,GAAG,CAAC,CAAC,OAAuB,CAAC;YAEpC,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;gBAClC,SAAS;aACZ;YAED,IAAI,OAAO,KAAK,gBAAG,CAAC,QAAQ,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,MAAK,KAAK,EAAE;gBAChE,oGAAoG;gBACpG,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,gBAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAExH,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE;oBACtB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;iBACvB;aACJ;iBAAM;gBACH,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACvB;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,SAAwC,EAAE,UAAkB,EAAE,OAAgC;QAC7G,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,iBAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;YAC9F,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;YAEnB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;gBAClC,SAAS;aACZ;YAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACxB;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;;OAOG;IACK,oBAAoB,CAAC,SAAwC,EAAE,UAAkB,EAAE,IAAc,EAAE,SAAsB,EAAE,OAAgC;QAC/J,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;QAE7E,KAAK,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;YACvD,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;SACpF;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CAAC,SAAwC,EAAE,UAAkB,EAAE,OAAgC;QAChH,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,IAAI,GAAG,EAAU,EAAE,OAAO,CAAC,CAAC;IAC5F,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAwC,EAAE,UAAkB,EAAE,OAAgC;QAC3G,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/C,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAI,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;YAC/F,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE;gBAC5C,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,gBAAgB,CAAC,SAAwC,EAAE,UAAmB,EAAE,OAAgC;QAC5G,IAAI,UAAU,EAAE;YACZ,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;YACjC,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAE/C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,iBAAI,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;gBAC9F,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;gBAEpB,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;oBAClC,SAAS;iBACZ;gBAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACvB;YAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC7B;aAAM;YACH,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SACrD;IACL,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,SAAwC,EAAE,OAAgC;;QAC/F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;QAE3E,KAAK,IAAI,CAAC,IAAI,UAAU,EAAE;YACtB,IAAI,gBAAgB,GAAG,KAAK,CAAC;YAE7B,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,SAAS,CAAS,CAAC,CAAC,EAAE,iBAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;gBACxH,MAAM,iBAAiB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,mCAAI,KAAK,CAAC;gBAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAErD,mGAAmG;gBACnG,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,IAAI,WAAW,IAAI,IAAI,IAAI,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE;oBACrI,SAAS;iBACZ;gBAED,gBAAgB,GAAG,IAAI,CAAC;gBAExB,8HAA8H;gBAC9H,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACjC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;iBAC9B;gBAED,MAAM;aACT;YAED,IAAI,CAAC,gBAAgB,EAAE;gBACnB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACjB;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,qBAAqB,CAAC,SAAwC,EAAE,WAAmB;QACtF,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEhD,oFAAoF;QACpF,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,gBAAG,CAAC,kBAAkB,EAAE,IAAI,CAAC,EAAE;YACxE,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACI,SAAS,CAAC,SAAwC,EAAE,WAAmB;QAC1E,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,EAAE;YACtE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACzB;QAED,OAAO,iBAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACI,QAAQ,CAAC,SAAwC,EAAE,WAAmB;QACzE,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAEhD,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,EAAE;YACrE,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACzB;QAED,OAAO,iBAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACI,gBAAgB,CAAC,SAAwC,EAAE,OAAgC;QAC9F,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;YAChF,MAAM,KAAK,GAAG,IAAI,GAAG,CAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,gBAAG,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAE7I,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;gBACjB,sEAAsE;gBACtE,IAAI,CAAC,IAAI,gBAAG,CAAC,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE;oBAC3C,SAAS;iBACZ;gBAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACjB;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ;AA/QD,gDA+QC"}
|
|
@@ -20,6 +20,7 @@ export declare class RdfsReasoner implements IReasoner {
|
|
|
20
20
|
expand(store: n3.Store, sourceGraph: string | n3.Quad_Graph, targetGraph?: string | n3.Quad_Graph): n3.Store;
|
|
21
21
|
protected getGraphNode(graph: string | n3.Quad_Graph): n3.Quad_Graph;
|
|
22
22
|
protected isW3CNode(term: n3.Term): boolean;
|
|
23
|
+
protected isIgnoredNode(term: n3.Term): boolean;
|
|
23
24
|
protected beforeInference(): void;
|
|
24
25
|
protected afterInference(): void;
|
|
25
26
|
protected assertClass(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
@@ -45,8 +45,11 @@ class RdfsReasoner {
|
|
|
45
45
|
for (let quad of store.match(null, null, null, this.sourceGraph)) {
|
|
46
46
|
let q = quad;
|
|
47
47
|
// Treat all named nodes with rdf:type definitions as potential individuals.
|
|
48
|
-
if (q.predicate.equals(ontologies_1.rdf.type)
|
|
49
|
-
|
|
48
|
+
if (q.subject.termType == "NamedNode" && q.predicate.equals(ontologies_1.rdf.type)) {
|
|
49
|
+
// Only consider individuals that are not of a type that is ignored such as skos:Concept.
|
|
50
|
+
if (!this.isIgnoredNode(q.object)) {
|
|
51
|
+
this.invididuals.add(q.subject);
|
|
52
|
+
}
|
|
50
53
|
if (q.object.id == ontologies_1.owl.Ontology.id) {
|
|
51
54
|
this.ontologies.add(q.subject);
|
|
52
55
|
}
|
|
@@ -75,6 +78,18 @@ class RdfsReasoner {
|
|
|
75
78
|
isW3CNode(term) {
|
|
76
79
|
return term.value.startsWith("http://www.w3.org");
|
|
77
80
|
}
|
|
81
|
+
isIgnoredNode(term) {
|
|
82
|
+
switch (term.id) {
|
|
83
|
+
case ontologies_1.skos.Concept.id:
|
|
84
|
+
case ontologies_1.skos.ConceptScheme.id:
|
|
85
|
+
case ontologies_1.shacl.Shape.id:
|
|
86
|
+
case ontologies_1.shacl.NodeShape.id:
|
|
87
|
+
case ontologies_1.shacl.PropertyShape.id:
|
|
88
|
+
return true;
|
|
89
|
+
default:
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
78
93
|
beforeInference() { }
|
|
79
94
|
afterInference() { }
|
|
80
95
|
assertClass(subject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfs-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/rdfs-reasoner.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,
|
|
1
|
+
{"version":3,"file":"rdfs-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/rdfs-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,9 +13,13 @@ export interface QueryOptions {
|
|
|
13
13
|
}
|
|
14
14
|
export interface DefinitionQueryOptions extends QueryOptions {
|
|
15
15
|
/**
|
|
16
|
-
* URI of the vocabulary that defines the
|
|
16
|
+
* URI of the vocabulary that defines the resources. If `null`, returns only resources that have no `rdfs:isDefinedBy` property.
|
|
17
17
|
*/
|
|
18
18
|
definedBy?: string | null;
|
|
19
|
+
/**
|
|
20
|
+
* URIs of the vocabularies in which the resources must not be defined, either by sharing a namespace or by `rdfs:isDefinedBy`.
|
|
21
|
+
*/
|
|
22
|
+
notDefinedBy?: string[];
|
|
19
23
|
/**
|
|
20
24
|
* Indicate if terms what are not *defined* in the ontology should be included in the result (default: true).
|
|
21
25
|
*/
|
|
@@ -30,6 +34,13 @@ export declare class ResourceRepository {
|
|
|
30
34
|
*/
|
|
31
35
|
readonly store: Store;
|
|
32
36
|
constructor(store: Store);
|
|
37
|
+
/**
|
|
38
|
+
* Inidiates if a node should not be included in the result of a definition query.
|
|
39
|
+
* @param graphUris URIs of the graphs to search.
|
|
40
|
+
* @param node A node.
|
|
41
|
+
* @param options Definition query options.
|
|
42
|
+
* @returns
|
|
43
|
+
*/
|
|
33
44
|
protected skip(graphUris: string | string[] | undefined, node: Quad_Subject | Quad_Object, options?: DefinitionQueryOptions): boolean;
|
|
34
45
|
/**
|
|
35
46
|
* Indicate if a given URI exists as the subject of a triple in the graph.
|
|
@@ -39,10 +50,10 @@ export declare class ResourceRepository {
|
|
|
39
50
|
*/
|
|
40
51
|
hasSubject(graphUris: string | string[] | undefined, subjectUri: string): boolean;
|
|
41
52
|
/**
|
|
42
|
-
* Indicate if a node is explicitly defined by the given URI using the `rdfs:isDefinedBy` property.
|
|
53
|
+
* Indicate if a node is explicitly defined by the given URI using the `rdfs:isDefinedBy` property, or implicitly by sharing the same namespace.
|
|
43
54
|
* @param graphUris URIs of the graphs to search.
|
|
44
55
|
* @param node A named node to check if it is defined by the given URI.
|
|
45
|
-
* @param definedBy URI of the vocabulary that defines the resource (rdfs:isDefinedBy).
|
|
56
|
+
* @param definedBy URI of the vocabulary that defines the resource (rdfs:isDefinedBy). Provide `null` to only return resources that have no `rdfs:isDefinedBy` property.
|
|
46
57
|
* @returns `true` if the node is defined by the given URI, `false` otherwise.
|
|
47
58
|
*/
|
|
48
59
|
isDefinedBy(graphUris: string | string[] | undefined, node: n3.NamedNode<string>, definedBy: string | null): boolean;
|
|
@@ -11,15 +11,35 @@ class ResourceRepository {
|
|
|
11
11
|
constructor(store) {
|
|
12
12
|
this.store = store;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Inidiates if a node should not be included in the result of a definition query.
|
|
16
|
+
* @param graphUris URIs of the graphs to search.
|
|
17
|
+
* @param node A node.
|
|
18
|
+
* @param options Definition query options.
|
|
19
|
+
* @returns
|
|
20
|
+
*/
|
|
14
21
|
skip(graphUris, node, options) {
|
|
15
22
|
if (node.termType != "NamedNode") {
|
|
23
|
+
// We are only interested in named nodes.
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
if (!(options === null || options === void 0 ? void 0 : options.includeReferenced) && !this.hasSubject(graphUris, node.value)) {
|
|
27
|
+
// Skip the node if it is not explicitly defined in the graph as a subject.
|
|
16
28
|
return true;
|
|
17
29
|
}
|
|
18
30
|
if ((options === null || options === void 0 ? void 0 : options.definedBy) !== undefined) {
|
|
19
|
-
|
|
31
|
+
const isDefined = this.isDefinedBy(graphUris, node, options.definedBy);
|
|
32
|
+
// Do not skip the node if it has a different namespace but is *explicitly* defined by the given URI.
|
|
33
|
+
if (options.definedBy === null && isDefined || options.definedBy !== null && !isDefined) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
20
36
|
}
|
|
21
|
-
if ((options === null || options === void 0 ? void 0 : options.
|
|
22
|
-
|
|
37
|
+
else if ((options === null || options === void 0 ? void 0 : options.notDefinedBy) !== undefined) {
|
|
38
|
+
for (const source of options.notDefinedBy) {
|
|
39
|
+
if (this.isDefinedBy(graphUris, node, source)) {
|
|
40
|
+
return true;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
23
43
|
}
|
|
24
44
|
return false;
|
|
25
45
|
}
|
|
@@ -37,27 +57,34 @@ class ResourceRepository {
|
|
|
37
57
|
return false;
|
|
38
58
|
}
|
|
39
59
|
/**
|
|
40
|
-
* Indicate if a node is explicitly defined by the given URI using the `rdfs:isDefinedBy` property.
|
|
60
|
+
* Indicate if a node is explicitly defined by the given URI using the `rdfs:isDefinedBy` property, or implicitly by sharing the same namespace.
|
|
41
61
|
* @param graphUris URIs of the graphs to search.
|
|
42
62
|
* @param node A named node to check if it is defined by the given URI.
|
|
43
|
-
* @param definedBy URI of the vocabulary that defines the resource (rdfs:isDefinedBy).
|
|
63
|
+
* @param definedBy URI of the vocabulary that defines the resource (rdfs:isDefinedBy). Provide `null` to only return resources that have no `rdfs:isDefinedBy` property.
|
|
44
64
|
* @returns `true` if the node is defined by the given URI, `false` otherwise.
|
|
45
65
|
*/
|
|
46
66
|
isDefinedBy(graphUris, node, definedBy) {
|
|
47
67
|
const s = node;
|
|
48
|
-
if (definedBy) {
|
|
49
|
-
|
|
50
|
-
|
|
68
|
+
if (definedBy === null) {
|
|
69
|
+
// If there is no definedBy URI, we assume that the resource is not
|
|
70
|
+
// explicitly defined by any ontology.
|
|
71
|
+
for (let _ of this.store.match(graphUris, s, ontologies_1.rdfs.isDefinedBy, null)) {
|
|
51
72
|
return true;
|
|
52
73
|
}
|
|
53
|
-
return s.value.startsWith(definedBy);
|
|
54
74
|
}
|
|
55
|
-
else
|
|
56
|
-
|
|
57
|
-
|
|
75
|
+
else {
|
|
76
|
+
// We assume that a resource is defined by an ontology if it starts with the namespace of the ontology.
|
|
77
|
+
if (node.value.startsWith(definedBy)) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
const o = n3.DataFactory.namedNode(definedBy);
|
|
81
|
+
// Of course, if the resource is explicitly defined by the ontology they
|
|
82
|
+
// must not share the same namespace.
|
|
83
|
+
for (let _ of this.store.match(graphUris, s, ontologies_1.rdfs.isDefinedBy, o)) {
|
|
84
|
+
return true;
|
|
58
85
|
}
|
|
59
86
|
}
|
|
60
|
-
return
|
|
87
|
+
return false;
|
|
61
88
|
}
|
|
62
89
|
}
|
|
63
90
|
exports.ResourceRepository = ResourceRepository;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-repository.js","sourceRoot":"","sources":["../../src/rdf/resource-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AAGzB,8CAAqC;
|
|
1
|
+
{"version":3,"file":"resource-repository.js","sourceRoot":"","sources":["../../src/rdf/resource-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AAGzB,8CAAqC;AA8BrC;;GAEG;AACH,MAAa,kBAAkB;IAM3B,YAAY,KAAY;QACpB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;IAED;;;;;;OAMG;IACO,IAAI,CAAC,SAAwC,EAAE,IAAgC,EAAE,OAAgC;QACvH,IAAI,IAAI,CAAC,QAAQ,IAAI,WAAW,EAAE;YAC9B,yCAAyC;YACzC,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,iBAAiB,CAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACxE,2EAA2E;YAC3E,OAAO,IAAI,CAAC;SACf;QAED,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,MAAK,SAAS,EAAE;YAClC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAA4B,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;YAE/F,qGAAqG;YACrG,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,SAAS,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;gBACrF,OAAO,IAAI,CAAC;aACf;SACJ;aAAM,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,MAAK,SAAS,EAAE;YAC5C,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,YAAY,EAAE;gBACvC,IAAI,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAA4B,EAAE,MAAM,CAAC,EAAE;oBACnE,OAAO,IAAI,CAAC;iBACf;aACJ;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,UAAU,CAAC,SAAwC,EAAE,UAAkB;QACnE,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAE/C,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;YAC7D,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,SAAwC,EAAE,IAA0B,EAAE,SAAwB;QACtG,MAAM,CAAC,GAAG,IAA4B,CAAC;QAEvC,IAAI,SAAS,KAAK,IAAI,EAAE;YACpB,mEAAmE;YACnE,sCAAsC;YACtC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,iBAAI,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;gBAClE,OAAO,IAAI,CAAC;aACf;SACJ;aACI;YACD,uGAAuG;YACvG,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;gBAClC,OAAO,IAAI,CAAC;aACf;YAED,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;YAE9C,wEAAwE;YACxE,qCAAqC;YACrC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,iBAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;gBAC/D,OAAO,IAAI,CAAC;aACf;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAhGD,gDAgGC"}
|
package/out/rdf/uri.d.ts
ADDED
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A helper class for working with URI string.
|
|
3
|
+
*/
|
|
4
|
+
export declare class Uri {
|
|
5
|
+
/**
|
|
6
|
+
* Get the portion of a URI after the first occurance of '#' or the last occurance of '/'.
|
|
7
|
+
* @param uri A URI.
|
|
8
|
+
* @returns The label portion of the URI.
|
|
9
|
+
*/
|
|
10
|
+
static getUriLabel(uri: string): string;
|
|
11
|
+
/**
|
|
12
|
+
* Get the portion of a URI after the first occurance of '#' or the last occurance of '/'.
|
|
13
|
+
* @param uri A URI.
|
|
14
|
+
* @returns The namespace portion of the URI.
|
|
15
|
+
*/
|
|
16
|
+
static getNamespaceUri(uri: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* Get a transformed version of the URI that can be used as a JSON identifier which only contains letters, numbers and dots.
|
|
19
|
+
* @param uri A URI.
|
|
20
|
+
* @returns A transformed version which only contains letters, numbers and dots.
|
|
21
|
+
*/
|
|
22
|
+
static toJsonId(uri: string): string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* Get a normalized version of the URI which removes any trailing slashes or hashes.
|
|
25
|
+
* @param uri A URI.
|
|
26
|
+
* @returns A normalized URI.
|
|
27
|
+
*/
|
|
28
|
+
static getNormalizedUri(uri: string): string;
|
|
29
|
+
}
|
package/out/rdf/uri.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Uri = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* A helper class for working with URI string.
|
|
6
|
+
*/
|
|
7
|
+
class Uri {
|
|
8
|
+
/**
|
|
9
|
+
* Get the portion of a URI after the first occurance of '#' or the last occurance of '/'.
|
|
10
|
+
* @param uri A URI.
|
|
11
|
+
* @returns The label portion of the URI.
|
|
12
|
+
*/
|
|
13
|
+
static getUriLabel(uri) {
|
|
14
|
+
let u = uri;
|
|
15
|
+
// If we have namespace URI, return the label of the document or folder.
|
|
16
|
+
if (u.endsWith('/') || u.endsWith('#')) {
|
|
17
|
+
u = u.substring(0, u.length - 1);
|
|
18
|
+
}
|
|
19
|
+
let ns = Uri.getNamespaceUri(u);
|
|
20
|
+
if (ns) {
|
|
21
|
+
return u.replace(ns, "");
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
return u;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Get the portion of a URI after the first occurance of '#' or the last occurance of '/'.
|
|
29
|
+
* @param uri A URI.
|
|
30
|
+
* @returns The namespace portion of the URI.
|
|
31
|
+
*/
|
|
32
|
+
static getNamespaceUri(uri) {
|
|
33
|
+
if (!uri) {
|
|
34
|
+
return uri;
|
|
35
|
+
}
|
|
36
|
+
// Remove any query strings from the URI.
|
|
37
|
+
let u = uri;
|
|
38
|
+
let n = u.indexOf('?');
|
|
39
|
+
if (n > -1) {
|
|
40
|
+
u = uri.substring(0, n);
|
|
41
|
+
}
|
|
42
|
+
// Find the first occurance of '#' and return the substring up to that point.
|
|
43
|
+
n = u.indexOf('#');
|
|
44
|
+
if (n > -1) {
|
|
45
|
+
return u.substring(0, n + 1);
|
|
46
|
+
}
|
|
47
|
+
// Find the last occurance of '/' and return the substring up to that point.
|
|
48
|
+
n = u.lastIndexOf('/');
|
|
49
|
+
// Only return the substring if it is not the 'http://' or 'https://' protocol.
|
|
50
|
+
if (n > 8) {
|
|
51
|
+
return u.substring(0, n + 1);
|
|
52
|
+
}
|
|
53
|
+
else {
|
|
54
|
+
return u + "/";
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Get a transformed version of the URI that can be used as a JSON identifier which only contains letters, numbers and dots.
|
|
59
|
+
* @param uri A URI.
|
|
60
|
+
* @returns A transformed version which only contains letters, numbers and dots.
|
|
61
|
+
*/
|
|
62
|
+
static toJsonId(uri) {
|
|
63
|
+
if (!uri) {
|
|
64
|
+
return uri;
|
|
65
|
+
}
|
|
66
|
+
let u = uri.split('//')[1];
|
|
67
|
+
if (u) {
|
|
68
|
+
u = u.replace(/[^a-zA-Z0-9]/g, '.');
|
|
69
|
+
return u.endsWith('.') ? u.slice(0, -1) : u;
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
return undefined;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Get a normalized version of the URI which removes any trailing slashes or hashes.
|
|
77
|
+
* @param uri A URI.
|
|
78
|
+
* @returns A normalized URI.
|
|
79
|
+
*/
|
|
80
|
+
static getNormalizedUri(uri) {
|
|
81
|
+
if (!uri) {
|
|
82
|
+
return uri;
|
|
83
|
+
}
|
|
84
|
+
let u = uri.split('?')[0];
|
|
85
|
+
if (u.endsWith('/') || u.endsWith('#')) {
|
|
86
|
+
return u.substring(0, u.length - 1);
|
|
87
|
+
}
|
|
88
|
+
else {
|
|
89
|
+
return u;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
exports.Uri = Uri;
|
|
94
|
+
//# sourceMappingURL=uri.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uri.js","sourceRoot":"","sources":["../../src/rdf/uri.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,MAAa,GAAG;IACZ;;;;OAIG;IACH,MAAM,CAAC,WAAW,CAAC,GAAW;QAC1B,IAAI,CAAC,GAAG,GAAG,CAAC;QAEZ,wEAAwE;QACxE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACpC,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACpC;QAED,IAAI,EAAE,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAEhC,IAAI,EAAE,EAAE;YACJ,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;SAC5B;aAAM;YACH,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,eAAe,CAAC,GAAW;QAC9B,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,GAAG,CAAC;SACd;QAED,yCAAyC;QACzC,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACR,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SAC3B;QAED,6EAA6E;QAC7E,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAEnB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;YACR,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAChC;QAED,4EAA4E;QAC5E,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAEvB,+EAA+E;QAC/E,IAAI,CAAC,GAAG,CAAC,EAAE;YACP,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;SAChC;aAAM;YACH,OAAO,CAAC,GAAG,GAAG,CAAC;SAClB;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAW;QACvB,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,GAAG,CAAC;SACd;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAE3B,IAAI,CAAC,EAAE;YACH,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC;YAEpC,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/C;aAAM;YACH,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAW;QAC/B,IAAI,CAAC,GAAG,EAAE;YACN,OAAO,GAAG,CAAC;SACd;QAED,IAAI,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACpC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;SACvC;aAAM;YACH,OAAO,CAAC,CAAC;SACZ;IACL,CAAC;CACJ;AAlGD,kBAkGC"}
|
|
@@ -35,9 +35,10 @@ export declare class VocabularyRepository extends IndividualRepository {
|
|
|
35
35
|
*/
|
|
36
36
|
getOntologyVersionInfo(graphUris: string | string[] | undefined, ontologyUri: string): string | undefined;
|
|
37
37
|
/**
|
|
38
|
-
* Get the sources of definitions for a given graph. These are
|
|
38
|
+
* Get the sources of definitions for a given graph. These are ontology definitions
|
|
39
|
+
* or the objects of `rdfs:isDefinedBy` triples.
|
|
39
40
|
* @param graphUris URIs of the graphs to search.
|
|
40
41
|
* @returns A list of sources of definitions for the given graph.
|
|
41
42
|
*/
|
|
42
|
-
getDefinitionSources(graphUris: string | string[] | undefined): string[];
|
|
43
|
+
getDefinitionSources(graphUris: string | string[] | undefined, includeOntologies?: boolean): string[];
|
|
43
44
|
}
|
|
@@ -77,18 +77,29 @@ class VocabularyRepository extends individual_repository_1.IndividualRepository
|
|
|
77
77
|
}
|
|
78
78
|
}
|
|
79
79
|
/**
|
|
80
|
-
* Get the sources of definitions for a given graph. These are
|
|
80
|
+
* Get the sources of definitions for a given graph. These are ontology definitions
|
|
81
|
+
* or the objects of `rdfs:isDefinedBy` triples.
|
|
81
82
|
* @param graphUris URIs of the graphs to search.
|
|
82
83
|
* @returns A list of sources of definitions for the given graph.
|
|
83
84
|
*/
|
|
84
|
-
getDefinitionSources(graphUris) {
|
|
85
|
+
getDefinitionSources(graphUris, includeOntologies = false) {
|
|
85
86
|
const result = new Set();
|
|
86
87
|
for (const q of this.store.match(graphUris, null, ontologies_1.rdfs.isDefinedBy, null)) {
|
|
88
|
+
const s = q.subject;
|
|
87
89
|
const o = q.object;
|
|
88
|
-
if (o.termType != "NamedNode") {
|
|
90
|
+
if (s.termType != "NamedNode" || o.termType != "NamedNode") {
|
|
89
91
|
continue;
|
|
90
92
|
}
|
|
91
|
-
|
|
93
|
+
// Do not include ontologies in the list of sources. However, if there are other
|
|
94
|
+
// terms defined by the object it will be included by subsequent iterations.
|
|
95
|
+
let isOntology = false;
|
|
96
|
+
for (const _ of this.store.match(graphUris, s, ontologies_1.rdf.type, ontologies_1.owl.Ontology)) {
|
|
97
|
+
isOntology = true;
|
|
98
|
+
break;
|
|
99
|
+
}
|
|
100
|
+
if (!isOntology || includeOntologies) {
|
|
101
|
+
result.add(o.value);
|
|
102
|
+
}
|
|
92
103
|
}
|
|
93
104
|
return Array.from(result);
|
|
94
105
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vocabulary-repository.js","sourceRoot":"","sources":["../../src/rdf/vocabulary-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAAqD;AACrD,mEAA+D;AAE/D;;GAEG;AACH,MAAa,oBAAqB,SAAQ,4CAAoB;IAC1D;;;;OAIG;IACI,iBAAiB,CAAC,SAAwC;QAC7D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAG,CAAC,IAAI,EAAE,iBAAI,CAAC,aAAa,CAAC,EAAE;YAC7E,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAEpB,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE;gBAC3B,SAAS;aACZ;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,iBAAiB,CAAC,SAAwC;QAC7D,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxD,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,SAAwC;QACzD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,QAAQ,CAAC,EAAE;YACvE,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAEpB,IAAI,CAAC,CAAC,QAAQ,IAAI,WAAW,EAAE;gBAC3B,SAAS;aACZ;YAED,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SACvB;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,SAAwC;QACzD,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACpD,CAAC;IAED;;;;;OAKG;IACI,sBAAsB,CAAC,SAAwC,EAAE,WAAmB;QACvF,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAExC,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,EAAE,gBAAG,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE;YACnE,kEAAkE;YAClE,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YAElE,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;aAC5D;iBAAM;gBACH,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aACzB;SACJ;IACL,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"vocabulary-repository.js","sourceRoot":"","sources":["../../src/rdf/vocabulary-repository.ts"],"names":[],"mappings":"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"}
|