@faubulous/mentor-rdf 0.2.27 → 0.2.29
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/concept-repository.d.ts +21 -0
- package/out/rdf/concept-repository.js +46 -0
- package/out/rdf/concept-repository.js.map +1 -1
- package/out/rdf/reasoners/owl-reasoner.d.ts +2 -2
- package/out/rdf/reasoners/owl-reasoner.js +6 -6
- package/out/rdf/reasoners/owl-reasoner.js.map +1 -1
- package/out/rdf/reasoners/rdfs-reasoner.d.ts +6 -16
- package/out/rdf/reasoners/rdfs-reasoner.js +41 -71
- package/out/rdf/reasoners/rdfs-reasoner.js.map +1 -1
- package/out/rdf/reasoners/reasoner.d.ts +21 -1
- package/out/rdf/reasoners/reasoner.js +54 -0
- package/out/rdf/reasoners/reasoner.js.map +1 -1
- package/out/rdf/reasoners/skos-reasoner.d.ts +17 -0
- package/out/rdf/reasoners/skos-reasoner.js +104 -0
- package/out/rdf/reasoners/skos-reasoner.js.map +1 -0
- package/out/rdf/store.d.ts +11 -6
- package/out/rdf/store.js +30 -1
- package/out/rdf/store.js.map +1 -1
- package/out/rdf/tests/helpers.d.ts +3 -3
- package/out/rdf/tests/helpers.js.map +1 -1
- package/package.json +1 -1
|
@@ -18,6 +18,27 @@ export declare class ConceptRepository extends ResourceRepository {
|
|
|
18
18
|
* @returns A list of URIs of all collections.
|
|
19
19
|
*/
|
|
20
20
|
getCollections(graphUris: string | string[] | undefined): string[];
|
|
21
|
+
/**
|
|
22
|
+
* Get the members of a collection. This includes both `skos:member` and `skos:memberList` properties.
|
|
23
|
+
* @param graphUris URI of the graphs to search for collections.
|
|
24
|
+
* @param collectionUri URI of a collection.
|
|
25
|
+
* @returns An array of URIs of the members of the collection.
|
|
26
|
+
*/
|
|
27
|
+
getCollectionMembers(graphUris: string | string[] | undefined, collectionUri: string): string[];
|
|
28
|
+
/**
|
|
29
|
+
* Get the members of a collection. This includes both `skos:member` and `skos:memberList` properties.
|
|
30
|
+
* @param graphUris URI of the graphs to search for collections.
|
|
31
|
+
* @param collectionUri URI of a collection.
|
|
32
|
+
* @returns An array of URIs of the members of the collection.
|
|
33
|
+
*/
|
|
34
|
+
hasCollectionMembers(graphUris: string | string[] | undefined, collectionUri: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Indicates whether a collection is an ordered collection.
|
|
37
|
+
* @param graphUris URI of the graphs to search for collections.
|
|
38
|
+
* @param collectionUri URI of a collection.
|
|
39
|
+
* @returns `true` if the collection is an ordered collection, `false` otherwise.
|
|
40
|
+
*/
|
|
41
|
+
isOrderedCollection(graphUris: string | string[] | undefined, collectionUri: string): boolean;
|
|
21
42
|
/**
|
|
22
43
|
* Get all broader concepts of a concept scheme.
|
|
23
44
|
* @param graphUris URIs of the graphs to search for concepts.
|
|
@@ -49,6 +49,52 @@ class ConceptRepository extends resource_repository_1.ResourceRepository {
|
|
|
49
49
|
}
|
|
50
50
|
return Array.from(result);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Get the members of a collection. This includes both `skos:member` and `skos:memberList` properties.
|
|
54
|
+
* @param graphUris URI of the graphs to search for collections.
|
|
55
|
+
* @param collectionUri URI of a collection.
|
|
56
|
+
* @returns An array of URIs of the members of the collection.
|
|
57
|
+
*/
|
|
58
|
+
getCollectionMembers(graphUris, collectionUri) {
|
|
59
|
+
const s = n3.DataFactory.namedNode(collectionUri);
|
|
60
|
+
let result = [];
|
|
61
|
+
for (let q of this.store.match(graphUris, s, ontologies_1.skos.member, null)) {
|
|
62
|
+
result.push(q.object.value);
|
|
63
|
+
}
|
|
64
|
+
for (let q of this.store.match(graphUris, s, ontologies_1.skos.memberList, null)) {
|
|
65
|
+
result = [...result, ...this.store.getListItems(graphUris, q.object.value)];
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Get the members of a collection. This includes both `skos:member` and `skos:memberList` properties.
|
|
71
|
+
* @param graphUris URI of the graphs to search for collections.
|
|
72
|
+
* @param collectionUri URI of a collection.
|
|
73
|
+
* @returns An array of URIs of the members of the collection.
|
|
74
|
+
*/
|
|
75
|
+
hasCollectionMembers(graphUris, collectionUri) {
|
|
76
|
+
const s = n3.DataFactory.namedNode(collectionUri);
|
|
77
|
+
for (let _ of this.store.match(graphUris, s, ontologies_1.skos.member, null)) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
for (let _ of this.store.match(graphUris, s, ontologies_1.skos.memberList, null)) {
|
|
81
|
+
return true;
|
|
82
|
+
}
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Indicates whether a collection is an ordered collection.
|
|
87
|
+
* @param graphUris URI of the graphs to search for collections.
|
|
88
|
+
* @param collectionUri URI of a collection.
|
|
89
|
+
* @returns `true` if the collection is an ordered collection, `false` otherwise.
|
|
90
|
+
*/
|
|
91
|
+
isOrderedCollection(graphUris, collectionUri) {
|
|
92
|
+
const s = n3.DataFactory.namedNode(collectionUri);
|
|
93
|
+
for (let _ of this.store.match(graphUris, s, ontologies_1.rdf.type, ontologies_1.skos.OrderedCollection)) {
|
|
94
|
+
return true;
|
|
95
|
+
}
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
52
98
|
/**
|
|
53
99
|
* Get all broader concepts of a concept scheme.
|
|
54
100
|
* @param graphUris URIs of the graphs to search for concepts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"concept-repository.js","sourceRoot":"","sources":["../../src/rdf/concept-repository.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"concept-repository.js","sourceRoot":"","sources":["../../src/rdf/concept-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ export declare class OwlReasoner extends RdfsReasoner {
|
|
|
23
23
|
};
|
|
24
24
|
constructor();
|
|
25
25
|
protected afterInference(): void;
|
|
26
|
-
protected inferClassAxioms(
|
|
27
|
-
protected inferPropertyAxioms(
|
|
26
|
+
protected inferClassAxioms(quad: n3.Quad): void;
|
|
27
|
+
protected inferPropertyAxioms(quad: n3.Quad): void;
|
|
28
28
|
}
|
|
29
29
|
export {};
|
|
@@ -34,8 +34,8 @@ class OwlReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
34
34
|
}
|
|
35
35
|
this.restrictions = {};
|
|
36
36
|
}
|
|
37
|
-
inferClassAxioms(
|
|
38
|
-
super.inferClassAxioms(
|
|
37
|
+
inferClassAxioms(quad) {
|
|
38
|
+
super.inferClassAxioms(quad);
|
|
39
39
|
let s = quad.subject;
|
|
40
40
|
let p = quad.predicate;
|
|
41
41
|
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
@@ -74,7 +74,7 @@ class OwlReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
74
74
|
.map(q => q.subject)
|
|
75
75
|
.filter(q => q.termType == "NamedNode");
|
|
76
76
|
// Rule #scm-int
|
|
77
|
-
let classes = lists[o.value];
|
|
77
|
+
let classes = this.lists[o.value];
|
|
78
78
|
if (!Array.isArray(classes)) {
|
|
79
79
|
this.errors.push({ quad: quad, message: `Expected an array of classes for ${o.value}` });
|
|
80
80
|
return;
|
|
@@ -95,7 +95,7 @@ class OwlReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
95
95
|
.map(q => q.subject)
|
|
96
96
|
.filter(q => q.termType == "NamedNode");
|
|
97
97
|
// Rule #scm-uni
|
|
98
|
-
let classes = lists[o.value];
|
|
98
|
+
let classes = this.lists[o.value];
|
|
99
99
|
if (!Array.isArray(classes)) {
|
|
100
100
|
this.errors.push({ quad: quad, message: `Expected an array of classes for ${o.value}` });
|
|
101
101
|
return;
|
|
@@ -143,8 +143,8 @@ class OwlReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
143
143
|
// }
|
|
144
144
|
}
|
|
145
145
|
}
|
|
146
|
-
inferPropertyAxioms(
|
|
147
|
-
super.inferPropertyAxioms(
|
|
146
|
+
inferPropertyAxioms(quad) {
|
|
147
|
+
super.inferPropertyAxioms(quad);
|
|
148
148
|
let s = quad.subject;
|
|
149
149
|
let p = quad.predicate;
|
|
150
150
|
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owl-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/owl-reasoner.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAClD,mDAA+C;AAiB/C;;GAEG;AACH,MAAa,WAAY,SAAQ,4BAAY;IAGzC;QACI,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAES,cAAc;QACpB,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;YAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC;YAEvB,IAAI,CAAC,CAAC;gBAAE,SAAS;YAEjB,IAAI,CAAC,CAAC,WAAW,EAAE;gBACf,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAI,CAAC,KAAK,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACtE;iBAAM,IAAI,CAAC,CAAC,OAAO,EAAE;gBAClB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,iBAAI,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aAClE;iBAAM,IAAI,CAAC,CAAC,aAAa,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACzE;iBAAM,IAAI,CAAC,CAAC,cAAc,EAAE;gBACzB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,cAAc,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;aACzE;SACJ;QAED,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;IAC3B,CAAC;IAES,gBAAgB,CAAC,
|
|
1
|
+
{"version":3,"file":"owl-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/owl-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,30 +1,20 @@
|
|
|
1
1
|
import * as n3 from "n3";
|
|
2
|
-
import {
|
|
2
|
+
import { SkosReasoner } from "./skos-reasoner";
|
|
3
3
|
/**
|
|
4
4
|
* A simple RDFS reasoner that expands the graph with inferred triples.
|
|
5
5
|
*/
|
|
6
|
-
export declare class RdfsReasoner
|
|
7
|
-
protected store: n3.Store;
|
|
8
|
-
sourceGraph: n3.Quad_Graph | undefined;
|
|
9
|
-
targetGraph: n3.Quad_Graph | undefined;
|
|
6
|
+
export declare class RdfsReasoner extends SkosReasoner {
|
|
10
7
|
protected ontologies: Set<n3.Term>;
|
|
11
8
|
protected classes: Set<n3.Term>;
|
|
12
9
|
protected properties: Set<n3.Term>;
|
|
13
10
|
protected invididuals: Set<n3.NamedNode>;
|
|
14
|
-
|
|
15
|
-
message: string;
|
|
16
|
-
quad: n3.Quad;
|
|
17
|
-
}[];
|
|
18
|
-
getInferenceGraphUri(uri: string | n3.Quad_Graph): string;
|
|
19
|
-
isInferenceGraphUri(uri: string | n3.Quad_Graph): boolean;
|
|
20
|
-
expand(store: n3.Store, sourceGraph: string | n3.Quad_Graph, targetGraph?: string | n3.Quad_Graph): n3.Store;
|
|
21
|
-
protected getGraphNode(graph: string | n3.Quad_Graph): n3.Quad_Graph;
|
|
22
|
-
protected isW3CNode(term: n3.Term): boolean;
|
|
11
|
+
protected lists: Record<string, n3.Term[]>;
|
|
23
12
|
protected isIgnoredNode(term: n3.Term): boolean;
|
|
24
13
|
protected beforeInference(): void;
|
|
25
14
|
protected afterInference(): void;
|
|
15
|
+
applyInference(quad: n3.Quad): void;
|
|
26
16
|
protected assertClass(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
27
|
-
protected inferClassAxioms(
|
|
17
|
+
protected inferClassAxioms(quad: n3.Quad): void;
|
|
28
18
|
protected assertProperty(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
29
|
-
protected inferPropertyAxioms(
|
|
19
|
+
protected inferPropertyAxioms(quad: n3.Quad): void;
|
|
30
20
|
}
|
|
@@ -1,87 +1,26 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RdfsReasoner = void 0;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const n3 = tslib_1.__importStar(require("n3"));
|
|
6
4
|
const ontologies_1 = require("../../ontologies");
|
|
5
|
+
const skos_reasoner_1 = require("./skos-reasoner");
|
|
7
6
|
/**
|
|
8
7
|
* A simple RDFS reasoner that expands the graph with inferred triples.
|
|
9
8
|
*/
|
|
10
|
-
class RdfsReasoner {
|
|
9
|
+
class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
11
10
|
constructor() {
|
|
12
|
-
|
|
11
|
+
super(...arguments);
|
|
13
12
|
this.ontologies = new Set();
|
|
14
13
|
this.classes = new Set();
|
|
15
14
|
this.properties = new Set();
|
|
16
15
|
this.invididuals = new Set();
|
|
17
|
-
this.
|
|
18
|
-
}
|
|
19
|
-
getInferenceGraphUri(uri) {
|
|
20
|
-
let u = typeof uri == "string" ? uri : uri.value;
|
|
21
|
-
// This reasoner is specifically designed to work with the Mentor platform.
|
|
22
|
-
return u.replace(/^(http|https|urn|file):\/\//, 'mentor://');
|
|
23
|
-
}
|
|
24
|
-
isInferenceGraphUri(uri) {
|
|
25
|
-
let u = typeof uri == "string" ? uri : uri.value;
|
|
26
|
-
return u.startsWith('mentor://');
|
|
27
|
-
}
|
|
28
|
-
expand(store, sourceGraph, targetGraph) {
|
|
29
|
-
if (!targetGraph) {
|
|
30
|
-
targetGraph = this.getInferenceGraphUri(sourceGraph);
|
|
31
|
-
}
|
|
32
|
-
this.ontologies.clear();
|
|
33
|
-
this.classes.clear();
|
|
34
|
-
this.properties.clear();
|
|
35
|
-
this.invididuals.clear();
|
|
36
|
-
this.store = store;
|
|
37
|
-
if (this.store.getGraphs(null, null, null).filter(g => g.id == targetGraph).length > 0) {
|
|
38
|
-
// Ensure the target graph is empty so this function is idempotent and consistent.
|
|
39
|
-
store.deleteGraph(targetGraph);
|
|
40
|
-
}
|
|
41
|
-
this.sourceGraph = this.getGraphNode(sourceGraph);
|
|
42
|
-
this.targetGraph = this.getGraphNode(targetGraph);
|
|
43
|
-
this.beforeInference();
|
|
44
|
-
const lists = store.extractLists({ ignoreErrors: true });
|
|
45
|
-
for (let quad of store.match(null, null, null, this.sourceGraph)) {
|
|
46
|
-
let q = quad;
|
|
47
|
-
// Treat all named nodes with rdf:type definitions as potential individuals.
|
|
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
|
-
}
|
|
53
|
-
if (q.object.id == ontologies_1.owl.Ontology.id) {
|
|
54
|
-
this.ontologies.add(q.subject);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
this.inferClassAxioms(lists, quad);
|
|
58
|
-
this.inferPropertyAxioms(lists, quad);
|
|
59
|
-
}
|
|
60
|
-
// After all axioms have been inferred, add the inferred individuals to the graph.
|
|
61
|
-
const individuals = [...this.invididuals].filter(x => !this.classes.has(x) &&
|
|
62
|
-
!this.properties.has(x) &&
|
|
63
|
-
!this.ontologies.has(x));
|
|
64
|
-
for (let individual of individuals) {
|
|
65
|
-
this.store.addQuad(individual, ontologies_1.rdf.type, ontologies_1.owl.NamedIndividual, this.targetGraph);
|
|
66
|
-
}
|
|
67
|
-
this.afterInference();
|
|
68
|
-
return store;
|
|
69
|
-
}
|
|
70
|
-
getGraphNode(graph) {
|
|
71
|
-
if (typeof graph == "string") {
|
|
72
|
-
return new n3.NamedNode(graph);
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
return graph;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
isW3CNode(term) {
|
|
79
|
-
return term.value.startsWith("http://www.w3.org");
|
|
16
|
+
this.lists = {};
|
|
80
17
|
}
|
|
81
18
|
isIgnoredNode(term) {
|
|
82
19
|
switch (term.id) {
|
|
83
20
|
case ontologies_1.skos.Concept.id:
|
|
84
21
|
case ontologies_1.skos.ConceptScheme.id:
|
|
22
|
+
case ontologies_1.skos.Collection.id:
|
|
23
|
+
case ontologies_1.skos.OrderedCollection.id:
|
|
85
24
|
case ontologies_1.shacl.Shape.id:
|
|
86
25
|
case ontologies_1.shacl.NodeShape.id:
|
|
87
26
|
case ontologies_1.shacl.PropertyShape.id:
|
|
@@ -90,13 +29,44 @@ class RdfsReasoner {
|
|
|
90
29
|
return false;
|
|
91
30
|
}
|
|
92
31
|
}
|
|
93
|
-
beforeInference() {
|
|
94
|
-
|
|
32
|
+
beforeInference() {
|
|
33
|
+
super.beforeInference();
|
|
34
|
+
// Todo: When #10 is fixed we can use our own getListItems on store to retrieve the items in order. Should be faster.
|
|
35
|
+
this.lists = this.store.extractLists({ ignoreErrors: true });
|
|
36
|
+
}
|
|
37
|
+
afterInference() {
|
|
38
|
+
super.afterInference();
|
|
39
|
+
// After all axioms have been inferred, add the inferred individuals to the graph.
|
|
40
|
+
const individuals = [...this.invididuals].filter(x => !this.classes.has(x) &&
|
|
41
|
+
!this.properties.has(x) &&
|
|
42
|
+
!this.ontologies.has(x) &&
|
|
43
|
+
!this.concepts.has(x) &&
|
|
44
|
+
!this.conceptSchemes.has(x) &&
|
|
45
|
+
!this.collections.has(x));
|
|
46
|
+
for (let individual of individuals) {
|
|
47
|
+
this.store.addQuad(individual, ontologies_1.rdf.type, ontologies_1.owl.NamedIndividual, this.targetGraph);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
applyInference(quad) {
|
|
51
|
+
super.applyInference(quad);
|
|
52
|
+
// Treat all named nodes with rdf:type definitions as potential individuals.
|
|
53
|
+
if (quad.subject.termType == "NamedNode" && quad.predicate.equals(ontologies_1.rdf.type)) {
|
|
54
|
+
// Only consider individuals that are not of a type that is ignored such as skos:Concept.
|
|
55
|
+
if (!this.isIgnoredNode(quad.object)) {
|
|
56
|
+
this.invididuals.add(quad.subject);
|
|
57
|
+
}
|
|
58
|
+
if (quad.object.id == ontologies_1.owl.Ontology.id) {
|
|
59
|
+
this.ontologies.add(quad.subject);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
this.inferClassAxioms(quad);
|
|
63
|
+
this.inferPropertyAxioms(quad);
|
|
64
|
+
}
|
|
95
65
|
assertClass(subject) {
|
|
96
66
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.rdfs.Class, this.targetGraph);
|
|
97
67
|
this.classes.add(subject);
|
|
98
68
|
}
|
|
99
|
-
inferClassAxioms(
|
|
69
|
+
inferClassAxioms(quad) {
|
|
100
70
|
let s = quad.subject;
|
|
101
71
|
let p = quad.predicate;
|
|
102
72
|
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
@@ -152,7 +122,7 @@ class RdfsReasoner {
|
|
|
152
122
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.rdf.Property, this.targetGraph);
|
|
153
123
|
this.properties.add(subject);
|
|
154
124
|
}
|
|
155
|
-
inferPropertyAxioms(
|
|
125
|
+
inferPropertyAxioms(quad) {
|
|
156
126
|
let s = quad.subject;
|
|
157
127
|
let p = quad.predicate;
|
|
158
128
|
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfs-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/rdfs-reasoner.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rdfs-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/rdfs-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as n3 from 'n3';
|
|
2
|
-
export interface
|
|
2
|
+
export interface Reasoner {
|
|
3
3
|
/**
|
|
4
4
|
* Get the URI of the graph where the inferred triples are stored.
|
|
5
5
|
* @param uri A graph URI.
|
|
@@ -18,3 +18,23 @@ export interface IReasoner {
|
|
|
18
18
|
*/
|
|
19
19
|
expand(store: n3.Store, sourceGraph: string | n3.Quad_Graph, targetGraph?: string | n3.Quad_Graph): n3.Store;
|
|
20
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* A base class for reasoners that expand graphs with inferred triples.
|
|
23
|
+
*/
|
|
24
|
+
export declare abstract class ReasonerBase implements Reasoner {
|
|
25
|
+
protected store: n3.Store;
|
|
26
|
+
sourceGraph: n3.Quad_Graph | undefined;
|
|
27
|
+
targetGraph: n3.Quad_Graph | undefined;
|
|
28
|
+
readonly errors: {
|
|
29
|
+
message: string;
|
|
30
|
+
quad: n3.Quad;
|
|
31
|
+
}[];
|
|
32
|
+
getInferenceGraphUri(uri: string | n3.Quad_Graph): string;
|
|
33
|
+
isInferenceGraphUri(uri: string | n3.Quad_Graph): boolean;
|
|
34
|
+
protected getGraphNode(graph: string | n3.Quad_Graph): n3.Quad_Graph;
|
|
35
|
+
protected isW3CNode(term: n3.Term): boolean;
|
|
36
|
+
expand(store: n3.Store, sourceGraph: string | n3.Quad_Graph, targetGraph?: string | n3.Quad_Graph): n3.Store;
|
|
37
|
+
protected beforeInference(): void;
|
|
38
|
+
protected afterInference(): void;
|
|
39
|
+
abstract applyInference(quad: n3.Quad): void;
|
|
40
|
+
}
|
|
@@ -1,3 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ReasonerBase = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const n3 = tslib_1.__importStar(require("n3"));
|
|
6
|
+
/**
|
|
7
|
+
* A base class for reasoners that expand graphs with inferred triples.
|
|
8
|
+
*/
|
|
9
|
+
class ReasonerBase {
|
|
10
|
+
constructor() {
|
|
11
|
+
this.store = new n3.Store();
|
|
12
|
+
this.errors = [];
|
|
13
|
+
}
|
|
14
|
+
getInferenceGraphUri(uri) {
|
|
15
|
+
let u = typeof uri == "string" ? uri : uri.value;
|
|
16
|
+
// This reasoner is specifically designed to work with the Mentor platform.
|
|
17
|
+
return u.replace(/^(http|https|urn|file):\/\//, 'mentor://');
|
|
18
|
+
}
|
|
19
|
+
isInferenceGraphUri(uri) {
|
|
20
|
+
let u = typeof uri == "string" ? uri : uri.value;
|
|
21
|
+
return u.startsWith('mentor://');
|
|
22
|
+
}
|
|
23
|
+
getGraphNode(graph) {
|
|
24
|
+
if (typeof graph === "string") {
|
|
25
|
+
return new n3.NamedNode(graph);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
return graph;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
isW3CNode(term) {
|
|
32
|
+
return term.value.startsWith("http://www.w3.org");
|
|
33
|
+
}
|
|
34
|
+
expand(store, sourceGraph, targetGraph) {
|
|
35
|
+
if (!targetGraph) {
|
|
36
|
+
targetGraph = this.getInferenceGraphUri(sourceGraph);
|
|
37
|
+
}
|
|
38
|
+
this.store = store;
|
|
39
|
+
if (this.store.getGraphs(null, null, null).filter(g => g.id == targetGraph).length > 0) {
|
|
40
|
+
// Ensure the target graph is empty so this function is idempotent and consistent.
|
|
41
|
+
store.deleteGraph(targetGraph);
|
|
42
|
+
}
|
|
43
|
+
this.sourceGraph = this.getGraphNode(sourceGraph);
|
|
44
|
+
this.targetGraph = this.getGraphNode(targetGraph);
|
|
45
|
+
this.beforeInference();
|
|
46
|
+
for (let quad of store.match(null, null, null, this.sourceGraph)) {
|
|
47
|
+
let q = quad;
|
|
48
|
+
this.applyInference(q);
|
|
49
|
+
}
|
|
50
|
+
this.afterInference();
|
|
51
|
+
return store;
|
|
52
|
+
}
|
|
53
|
+
beforeInference() { }
|
|
54
|
+
afterInference() { }
|
|
55
|
+
}
|
|
56
|
+
exports.ReasonerBase = ReasonerBase;
|
|
3
57
|
//# sourceMappingURL=reasoner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/reasoner.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/reasoner.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AAwBzB;;GAEG;AACH,MAAsB,YAAY;IAAlC;QACc,UAAK,GAAa,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAM3B,WAAM,GAAyC,EAAE,CAAC;IA4DtE,CAAC;IA1DU,oBAAoB,CAAC,GAA2B;QACnD,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAEjD,2EAA2E;QAC3E,OAAO,CAAC,CAAC,OAAO,CAAC,6BAA6B,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAEM,mBAAmB,CAAC,GAA2B;QAClD,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC;QAEjD,OAAO,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAES,YAAY,CAAC,KAA6B;QAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,IAAI,EAAE,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClC;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAES,SAAS,CAAC,IAAa;QAC7B,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACtD,CAAC;IAEM,MAAM,CAAC,KAAe,EAAE,WAAmC,EAAE,WAAoC;QACpG,IAAI,CAAC,WAAW,EAAE;YACd,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;SACxD;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YACpF,kFAAkF;YAClF,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;SAClC;QAED,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAClD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAElD,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;YAC9D,IAAI,CAAC,GAAG,IAAe,CAAC;YAExB,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAA;SACzB;QAED,IAAI,CAAC,cAAc,EAAE,CAAC;QAEtB,OAAO,KAAK,CAAC;IACjB,CAAC;IAES,eAAe,KAAK,CAAC;IAErB,cAAc,KAAK,CAAC;CAGjC;AAnED,oCAmEC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as n3 from "n3";
|
|
2
|
+
import { ReasonerBase } from "./reasoner";
|
|
3
|
+
/**
|
|
4
|
+
* A simple SKOS reasoner that expands the graph with inferred triples.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SkosReasoner extends ReasonerBase {
|
|
7
|
+
protected concepts: Set<n3.Term>;
|
|
8
|
+
protected conceptSchemes: Set<n3.Term>;
|
|
9
|
+
protected collections: Set<n3.Term>;
|
|
10
|
+
applyInference(quad: n3.Quad): void;
|
|
11
|
+
protected assertConcept(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
12
|
+
protected assertConceptScheme(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
13
|
+
inferConceptAxioms(quad: n3.Quad): void;
|
|
14
|
+
protected assertCollection(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
15
|
+
protected assertOrderedCollection(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
16
|
+
inferCollectionAxioms(quad: n3.Quad): void;
|
|
17
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SkosReasoner = void 0;
|
|
4
|
+
const ontologies_1 = require("../../ontologies");
|
|
5
|
+
const reasoner_1 = require("./reasoner");
|
|
6
|
+
/**
|
|
7
|
+
* A simple SKOS reasoner that expands the graph with inferred triples.
|
|
8
|
+
*/
|
|
9
|
+
class SkosReasoner extends reasoner_1.ReasonerBase {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.concepts = new Set();
|
|
13
|
+
this.conceptSchemes = new Set();
|
|
14
|
+
this.collections = new Set();
|
|
15
|
+
}
|
|
16
|
+
applyInference(quad) {
|
|
17
|
+
this.inferConceptAxioms(quad);
|
|
18
|
+
this.inferCollectionAxioms(quad);
|
|
19
|
+
}
|
|
20
|
+
assertConcept(subject) {
|
|
21
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.Concept, this.targetGraph);
|
|
22
|
+
this.concepts.add(subject);
|
|
23
|
+
}
|
|
24
|
+
assertConceptScheme(subject) {
|
|
25
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.ConceptScheme, this.targetGraph);
|
|
26
|
+
this.conceptSchemes.add(subject);
|
|
27
|
+
}
|
|
28
|
+
inferConceptAxioms(quad) {
|
|
29
|
+
let s = quad.subject;
|
|
30
|
+
let p = quad.predicate;
|
|
31
|
+
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
32
|
+
if (!o) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
switch (p.id) {
|
|
36
|
+
case ontologies_1.rdf.type.id: {
|
|
37
|
+
if (o.equals(ontologies_1.skos.Concept)) {
|
|
38
|
+
// No need to infer the type, as it is already asserted.
|
|
39
|
+
this.concepts.add(s);
|
|
40
|
+
}
|
|
41
|
+
else if (o.equals(ontologies_1.skos.ConceptScheme)) {
|
|
42
|
+
// No need to infer the type, as it is already asserted.
|
|
43
|
+
this.conceptSchemes.add(s);
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
case ontologies_1.skos.inScheme.id: {
|
|
48
|
+
this.assertConcept(s);
|
|
49
|
+
this.assertConceptScheme(o);
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
case ontologies_1.skos.topConceptOf.id: {
|
|
53
|
+
this.assertConcept(s);
|
|
54
|
+
this.assertConceptScheme(o);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
case ontologies_1.skos.hasTopConcept.id: {
|
|
58
|
+
this.assertConcept(o);
|
|
59
|
+
this.assertConceptScheme(s);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
assertCollection(subject) {
|
|
65
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.Collection, this.targetGraph);
|
|
66
|
+
this.collections.add(subject);
|
|
67
|
+
}
|
|
68
|
+
assertOrderedCollection(subject) {
|
|
69
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.OrderedCollection, this.targetGraph);
|
|
70
|
+
// We do not make a distinction between collections and ordered collections here.
|
|
71
|
+
this.collections.add(subject);
|
|
72
|
+
}
|
|
73
|
+
inferCollectionAxioms(quad) {
|
|
74
|
+
let s = quad.subject;
|
|
75
|
+
let p = quad.predicate;
|
|
76
|
+
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
77
|
+
if (!o) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
switch (p.id) {
|
|
81
|
+
case ontologies_1.rdf.type.id: {
|
|
82
|
+
if (o.equals(ontologies_1.skos.Collection)) {
|
|
83
|
+
// No need to infer the type, as it is already asserted.
|
|
84
|
+
this.collections.add(s);
|
|
85
|
+
}
|
|
86
|
+
else if (o.equals(ontologies_1.skos.OrderedCollection)) {
|
|
87
|
+
// No need to infer the type, as it is already asserted.
|
|
88
|
+
this.collections.add(s);
|
|
89
|
+
}
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
case ontologies_1.skos.member.id: {
|
|
93
|
+
this.assertCollection(s);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
case ontologies_1.skos.memberList.id: {
|
|
97
|
+
this.assertOrderedCollection(s);
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
exports.SkosReasoner = SkosReasoner;
|
|
104
|
+
//# sourceMappingURL=skos-reasoner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"skos-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/skos-reasoner.ts"],"names":[],"mappings":";;;AACA,iDAA6C;AAC7C,yCAA0C;AAE1C;;GAEG;AACH,MAAa,YAAa,SAAQ,uBAAY;IAA9C;;QACc,aAAQ,GAAiB,IAAI,GAAG,EAAE,CAAC;QAEnC,mBAAc,GAAiB,IAAI,GAAG,EAAE,CAAC;QAEzC,gBAAW,GAAiB,IAAI,GAAG,EAAE,CAAC;IAoGpD,CAAC;IAlGG,cAAc,CAAC,IAAa;QACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;IAES,aAAa,CAAC,OAAkD;QACtE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,iBAAI,CAAC,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEtE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAES,mBAAmB,CAAC,OAAkD;QAC5E,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,iBAAI,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE5E,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,IAAa;QAC5B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,QAAQ,CAAC,CAAC,EAAE,EAAE;YACV,KAAK,gBAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAI,CAAC,OAAO,CAAC,EAAE;oBACxB,wDAAwD;oBACxD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACxB;qBAAM,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAI,CAAC,aAAa,CAAC,EAAE;oBACrC,wDAAwD;oBACxD,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC9B;gBACD,OAAO;aACV;YACD,KAAK,iBAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACnB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC5B,OAAO;aACV;YACD,KAAK,iBAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC5B,OAAO;aACV;YACD,KAAK,iBAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;gBACxB,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;gBACtB,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;gBAC5B,OAAO;aACV;SACJ;IACL,CAAC;IAES,gBAAgB,CAAC,OAAkD;QACzE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,iBAAI,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEzE,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAES,uBAAuB,CAAC,OAAkD;QAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,iBAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEhF,iFAAiF;QACjF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED,qBAAqB,CAAC,IAAa;QAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACrB,IAAI,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;QACvB,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAEpE,IAAI,CAAC,CAAC,EAAE;YACJ,OAAO;SACV;QAED,QAAQ,CAAC,CAAC,EAAE,EAAE;YACV,KAAK,gBAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACd,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAI,CAAC,UAAU,CAAC,EAAE;oBAC3B,wDAAwD;oBACxD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC3B;qBAAM,IAAI,CAAC,CAAC,MAAM,CAAC,iBAAI,CAAC,iBAAiB,CAAC,EAAE;oBACzC,wDAAwD;oBACxD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBAC3B;gBACD,OAAO;aACV;YACD,KAAK,iBAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACjB,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;gBACzB,OAAO;aACV;YACD,KAAK,iBAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBACrB,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC;gBAChC,OAAO;aACV;SACJ;IACL,CAAC;CACJ;AAzGD,oCAyGC"}
|
package/out/rdf/store.d.ts
CHANGED
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import * as n3 from "n3";
|
|
3
3
|
import { EventEmitter } from "stream";
|
|
4
|
-
import {
|
|
5
|
-
/**
|
|
6
|
-
* A store for RDF triples with support for reasoning.
|
|
7
|
-
*/
|
|
4
|
+
import { Reasoner } from "./reasoners/reasoner";
|
|
8
5
|
export declare class Store {
|
|
9
6
|
/**
|
|
10
7
|
* The N3 triple store implementation.
|
|
@@ -13,7 +10,7 @@ export declare class Store {
|
|
|
13
10
|
/**
|
|
14
11
|
* The reasoner to be used for inference.
|
|
15
12
|
*/
|
|
16
|
-
readonly reasoner?:
|
|
13
|
+
readonly reasoner?: Reasoner;
|
|
17
14
|
/**
|
|
18
15
|
* Return the number of triples in the store.
|
|
19
16
|
*/
|
|
@@ -22,7 +19,7 @@ export declare class Store {
|
|
|
22
19
|
* Create a new RDF triple store.
|
|
23
20
|
* @param reasoner The reasoner to be used for inference.
|
|
24
21
|
*/
|
|
25
|
-
constructor(reasoner?:
|
|
22
|
+
constructor(reasoner?: Reasoner);
|
|
26
23
|
/**
|
|
27
24
|
* Loads a set of W3C Standard ontologies into the store (RDF, RDFA, RDFS, OWL, SKOS, SHACL, XSD).
|
|
28
25
|
*/
|
|
@@ -67,6 +64,14 @@ export declare class Store {
|
|
|
67
64
|
* @param graphUris URIs of the graphs to be deleted.
|
|
68
65
|
*/
|
|
69
66
|
deleteGraphs(graphUris: string[]): void;
|
|
67
|
+
/**
|
|
68
|
+
* Get the URIs of ordered list members in the store.
|
|
69
|
+
* @param graphUris Optional graph URI or array of graph URIs to query.
|
|
70
|
+
* @param listUri URI of the list to get the items from.
|
|
71
|
+
* @returns An array of URIs of the items in the list.
|
|
72
|
+
*/
|
|
73
|
+
getListItems(graphUris: string | string[] | undefined, listUri: string): string[];
|
|
74
|
+
private _getListItems;
|
|
70
75
|
/**
|
|
71
76
|
* Query the store for triples matching the given pattern supporting multiple graphs.
|
|
72
77
|
* @param graphUris Optional graph URI or array of graph URIs to query.
|
package/out/rdf/store.js
CHANGED
|
@@ -4,7 +4,8 @@ exports.Store = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const n3 = tslib_1.__importStar(require("n3"));
|
|
6
6
|
const src = tslib_1.__importStar(require("../ontologies/src"));
|
|
7
|
-
|
|
7
|
+
const ontologies_1 = require("../ontologies");
|
|
8
|
+
/*
|
|
8
9
|
* A store for RDF triples with support for reasoning.
|
|
9
10
|
*/
|
|
10
11
|
class Store {
|
|
@@ -136,6 +137,34 @@ class Store {
|
|
|
136
137
|
}
|
|
137
138
|
}
|
|
138
139
|
}
|
|
140
|
+
/**
|
|
141
|
+
* Get the URIs of ordered list members in the store.
|
|
142
|
+
* @param graphUris Optional graph URI or array of graph URIs to query.
|
|
143
|
+
* @param listUri URI of the list to get the items from.
|
|
144
|
+
* @returns An array of URIs of the items in the list.
|
|
145
|
+
*/
|
|
146
|
+
getListItems(graphUris, listUri) {
|
|
147
|
+
// To do: Fix #10
|
|
148
|
+
const list = listUri.includes(':') ? new n3.NamedNode(listUri) : new n3.BlankNode(listUri);
|
|
149
|
+
return this._getListItems(graphUris, list).map(t => t.value);
|
|
150
|
+
}
|
|
151
|
+
_getListItems(graphUris, subject) {
|
|
152
|
+
var _a;
|
|
153
|
+
const first = Array.from(this.match(graphUris, subject, ontologies_1.rdf.first, null));
|
|
154
|
+
if (!first.length) {
|
|
155
|
+
return [];
|
|
156
|
+
}
|
|
157
|
+
const rest = Array.from(this.match(graphUris, subject, ontologies_1.rdf.rest, null));
|
|
158
|
+
const firstItem = first[0].object;
|
|
159
|
+
const restList = (_a = rest[0]) === null || _a === void 0 ? void 0 : _a.object;
|
|
160
|
+
if (restList.value === ontologies_1.RDF.nil) {
|
|
161
|
+
return [firstItem];
|
|
162
|
+
}
|
|
163
|
+
else {
|
|
164
|
+
const restItems = this._getListItems(graphUris, restList);
|
|
165
|
+
return [firstItem, ...restItems];
|
|
166
|
+
}
|
|
167
|
+
}
|
|
139
168
|
/**
|
|
140
169
|
* Query the store for triples matching the given pattern supporting multiple graphs.
|
|
141
170
|
* @param graphUris Optional graph URI or array of graph URIs to query.
|
package/out/rdf/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,+DAAyC;AAIzC;;GAEG;AACH,MAAa,KAAK;IAWd;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,YAAY,
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,+DAAyC;AACzC,8CAAyC;AAIzC;;GAEG;AACH,MAAa,KAAK;IAWd;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,YAAY,QAAmB;QArB/B;;WAEG;QACc,WAAM,GAAa,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAmB/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACG,uBAAuB;;YACzB,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;YAClF,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;YAC5E,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;QAC5E,CAAC;KAAA;IAED;;;OAGG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAClE,CAAC;IAED;;;;;;;OAOG;IACK,UAAU,CAAC,KAAgB,EAAE,QAAgB,EAAE,mBAA4B,IAAI,EAAE,aAAsB,IAAI,EAAE,MAAgC;QACjJ,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAE7D,yDAAyD;QACzD,IAAI,UAAU,EAAE;YACZ,2GAA2G;YAC3G,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE9B,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,cAAc,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEtF,IAAI,CAAC,YAAY,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;aAC7C;SACJ;QAED,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtE,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,CAAC,CAAC,CAAC;aACb;SACJ;QAED,IAAI,IAAI,CAAC,QAAQ,IAAI,gBAAgB,EAAE;YACnC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;;;;;;OAQG;IACG,cAAc,CAAC,KAA4B,EAAE,QAAgB,EAAE,mBAA4B,IAAI,EAAE,aAAsB,IAAI,EAAE,MAAgC;;YAC/J,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,IAAI,KAAK,GAAc,EAAE,CAAC;gBAE1B,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBACjD,IAAI,KAAK,EAAE;wBACP,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjB;yBAAM,IAAI,IAAI,EAAE;wBACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACpB;yBAAM,IAAI,IAAI,EAAE;wBACb,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;wBAEvE,OAAO,CAAC,IAAI,CAAC,CAAC;qBACjB;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;;;OAIG;IACH,QAAQ,CAAC,QAAgC;QACrC,MAAM,GAAG,GAAG,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAEjF,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE;YACtD,OAAO,IAAI,CAAC;SACf;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,gBAAgB,CAAC,QAAgC;QAC7C,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,SAAmB;QAC5B,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC5B,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YAErC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE;gBAClD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC7B;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACH,YAAY,CAAC,SAAwC,EAAE,OAAe;QAClE,iBAAiB;QACjB,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAE3F,OAAO,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACjE,CAAC;IAEO,aAAa,CAAC,SAAwC,EAAE,OAAgB;;QAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAExE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAiB,CAAC;QAC7C,MAAM,QAAQ,GAAG,MAAA,IAAI,CAAC,CAAC,CAAC,0CAAE,MAAiB,CAAC;QAE5C,IAAI,QAAQ,CAAC,KAAK,KAAK,gBAAG,CAAC,GAAG,EAAE;YAC5B,OAAO,CAAC,SAAS,CAAC,CAAC;SACtB;aAAM;YACH,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;YAE1D,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;SACpC;IACL,CAAC;IAED;;;;;;OAMG;IACH,CAAC,KAAK,CAAC,SAAwC,EAAE,OAAuB,EAAE,SAAyB,EAAE,MAAsB,EAAE,eAAyB;QAClJ,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;SAC7E;QAED,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAElE,KAAK,IAAI,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACpD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;gBAE5D,IAAI,eAAe,KAAK,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE;oBAC5C,IAAI,cAAc,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;oBAEvF,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;iBACxE;aACJ;SACJ;aAAM;YACH,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACxD;IACL,CAAC;CACJ;AAnND,sBAmNC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as n3 from "n3";
|
|
2
|
-
import {
|
|
2
|
+
import { Reasoner } from "../reasoners/reasoner";
|
|
3
3
|
import { Store } from "../store";
|
|
4
4
|
/**
|
|
5
5
|
* Get the URL of a file.
|
|
@@ -28,7 +28,7 @@ export declare function loadFile(store: Store, filePath: string, graphUri?: stri
|
|
|
28
28
|
* @param onQuad Callback function that will be called for each parsed triple.
|
|
29
29
|
* @returns A promise that resolves to an RDF store.
|
|
30
30
|
*/
|
|
31
|
-
export declare function createStoreFromString(filePath: string, reasoner?:
|
|
31
|
+
export declare function createStoreFromString(filePath: string, reasoner?: Reasoner, onQuad?: (quad: n3.Quad) => void): Promise<Store>;
|
|
32
32
|
/**
|
|
33
33
|
* Create a RDF triple store from a file.
|
|
34
34
|
* @param path Path to a file containing RDF triples in Turtle or N3 format.
|
|
@@ -36,4 +36,4 @@ export declare function createStoreFromString(filePath: string, reasoner?: IReas
|
|
|
36
36
|
* @param onQuad Callback function that will be called for each parsed triple.
|
|
37
37
|
* @returns A promise that resolves to an RDF store.
|
|
38
38
|
*/
|
|
39
|
-
export declare function createStoreFromFile(filePath: string, reasoner?:
|
|
39
|
+
export declare function createStoreFromFile(filePath: string, reasoner?: Reasoner, onQuad?: (quad: n3.Quad) => void): Promise<Store>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/rdf/tests/helpers.ts"],"names":[],"mappings":";;;;AACA,+CAAyB;AACzB,mDAA6B;AAC7B,iDAA2B;AAE3B,oCAAiC;AAEjC;;;;GAIG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC1C,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED;;;;GAIG;AACH,SAAsB,QAAQ,CAAC,QAAgB;;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC1B,MAAM,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;aACzC;YAED,IAAI;gBACA,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAEpD,OAAO,CAAC,MAAM,CAAC,CAAC;aACnB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAdD,4BAcC;AAED;;;;;;GAMG;AACH,SAAsB,QAAQ,CAAC,KAAY,EAAE,QAAgB,EAAE,QAAiB,EAAE,MAAgC;;QAC9G,MAAM,KAAK,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE7C,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;CAAA;AAPD,4BAOC;AAED;;;;;;GAMG;AACH,SAAsB,qBAAqB,CAAC,QAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/rdf/tests/helpers.ts"],"names":[],"mappings":";;;;AACA,+CAAyB;AACzB,mDAA6B;AAC7B,iDAA2B;AAE3B,oCAAiC;AAEjC;;;;GAIG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC1C,OAAO,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED;;;;GAIG;AACH,SAAsB,QAAQ,CAAC,QAAgB;;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACnC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAC1B,MAAM,CAAC,mBAAmB,QAAQ,EAAE,CAAC,CAAC;aACzC;YAED,IAAI;gBACA,MAAM,MAAM,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;gBAEpD,OAAO,CAAC,MAAM,CAAC,CAAC;aACnB;YAAC,OAAO,KAAK,EAAE;gBACZ,MAAM,CAAC,KAAK,CAAC,CAAC;aACjB;QACL,CAAC,CAAC,CAAC;IACP,CAAC;CAAA;AAdD,4BAcC;AAED;;;;;;GAMG;AACH,SAAsB,QAAQ,CAAC,KAAY,EAAE,QAAgB,EAAE,QAAiB,EAAE,MAAgC;;QAC9G,MAAM,KAAK,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE7C,MAAM,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACjB,CAAC;CAAA;AAPD,4BAOC;AAED;;;;;;GAMG;AACH,SAAsB,qBAAqB,CAAC,QAAgB,EAAE,QAAmB,EAAE,MAAgC;;QAC/G,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAEtC,OAAO,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9F,CAAC;CAAA;AALD,sDAKC;AAED;;;;;;EAME;AACF,SAAsB,mBAAmB,CAAC,QAAgB,EAAE,QAAmB,EAAE,MAAgC;;QAC7G,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE7C,OAAO,IAAI,aAAK,CAAC,QAAQ,CAAC,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,IAAI,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAChG,CAAC;CAAA;AALD,kDAKC"}
|