@faubulous/mentor-rdf 0.2.37 → 0.2.38
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 +8 -11
- package/out/rdf/class-repository.js.map +1 -1
- package/out/rdf/individual-repository.js +6 -7
- package/out/rdf/individual-repository.js.map +1 -1
- package/out/rdf/property-repository.js +14 -19
- package/out/rdf/property-repository.js.map +1 -1
- package/out/rdf/reasoners/rdfs-reasoner.d.ts +5 -4
- package/out/rdf/reasoners/rdfs-reasoner.js +12 -11
- package/out/rdf/reasoners/rdfs-reasoner.js.map +1 -1
- package/out/rdf/reasoners/reasoner.d.ts +5 -0
- package/out/rdf/reasoners/reasoner.js.map +1 -1
- package/out/rdf/reasoners/shacl-reasoner.d.ts +8 -1
- package/out/rdf/reasoners/shacl-reasoner.js +74 -3
- package/out/rdf/reasoners/shacl-reasoner.js.map +1 -1
- package/out/rdf/reasoners/skos-reasoner.d.ts +4 -3
- package/out/rdf/reasoners/skos-reasoner.js +13 -8
- package/out/rdf/reasoners/skos-reasoner.js.map +1 -1
- package/out/rdf/resource-repository.d.ts +18 -4
- package/out/rdf/resource-repository.js +33 -13
- package/out/rdf/resource-repository.js.map +1 -1
- package/out/rdf/shape-repository.d.ts +4 -2
- package/out/rdf/shape-repository.js +36 -29
- package/out/rdf/shape-repository.js.map +1 -1
- package/out/rdf/store.d.ts +2 -1
- package/out/rdf/store.js +6 -3
- package/out/rdf/store.js.map +1 -1
- package/package.json +1 -1
|
@@ -19,9 +19,8 @@ class ClassRepository extends concept_repository_1.ConceptRepository {
|
|
|
19
19
|
getClasses(graphUris, options) {
|
|
20
20
|
const result = new Set();
|
|
21
21
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, ontologies_1.rdfs.Class, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
result.add(s.value);
|
|
22
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
23
|
+
result.add(q.subject.value);
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
return Array.from(result);
|
|
@@ -37,9 +36,8 @@ class ClassRepository extends concept_repository_1.ConceptRepository {
|
|
|
37
36
|
const result = new Set();
|
|
38
37
|
const s = n3.DataFactory.namedNode(subjectUri);
|
|
39
38
|
for (let q of this.store.match(graphUris, s, ontologies_1.rdfs.subClassOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
result.add(o.value);
|
|
39
|
+
if (!this.skip(graphUris, q.object, options)) {
|
|
40
|
+
result.add(q.object.value);
|
|
43
41
|
}
|
|
44
42
|
}
|
|
45
43
|
return Array.from(result);
|
|
@@ -73,8 +71,8 @@ class ClassRepository extends concept_repository_1.ConceptRepository {
|
|
|
73
71
|
*/
|
|
74
72
|
hasSubClasses(graphUris, subjectUri, options) {
|
|
75
73
|
const o = n3.DataFactory.namedNode(subjectUri);
|
|
76
|
-
for (let
|
|
77
|
-
if (!this.skip(graphUris,
|
|
74
|
+
for (let q of this.store.match(graphUris, null, ontologies_1.rdfs.subClassOf, o)) {
|
|
75
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
78
76
|
return true;
|
|
79
77
|
}
|
|
80
78
|
}
|
|
@@ -90,9 +88,8 @@ class ClassRepository extends concept_repository_1.ConceptRepository {
|
|
|
90
88
|
const result = new Set();
|
|
91
89
|
const o = n3.DataFactory.namedNode(subjectUri);
|
|
92
90
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdfs.subClassOf, o, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
result.add(s.value);
|
|
91
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
92
|
+
result.add(q.subject.value);
|
|
96
93
|
}
|
|
97
94
|
}
|
|
98
95
|
return Array.from(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAA+C;AAG/C,6DAAyD;AAEzD;;GAEG;AACH,MAAa,eAAgB,SAAQ,sCAAiB;IAClD,YAAY,KAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,UAAU,CAAC,SAAwC,EAAE,OAAgC;QACjF,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,iBAAI,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;YAC7F,
|
|
1
|
+
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -21,11 +21,11 @@ class IndividualRepository extends property_repository_1.PropertyRepository {
|
|
|
21
21
|
const result = new Set();
|
|
22
22
|
const subject = subjectUri ? new n3.NamedNode(subjectUri) : null;
|
|
23
23
|
for (const q of this.store.match(graphUris, subject, ontologies_1.rdf.type, ontologies_1.owl.NamedIndividual)) {
|
|
24
|
-
|
|
25
|
-
if (this.skip(graphUris, s, options)) {
|
|
24
|
+
if (this.skip(graphUris, q.subject, options)) {
|
|
26
25
|
continue;
|
|
27
26
|
}
|
|
28
|
-
|
|
27
|
+
// Note: We do not include inferred types here.
|
|
28
|
+
for (const p of this.store.match(graphUris, q.subject, ontologies_1.rdf.type, null, false)) {
|
|
29
29
|
if (p.object.equals(ontologies_1.owl.NamedIndividual)) {
|
|
30
30
|
continue;
|
|
31
31
|
}
|
|
@@ -43,12 +43,11 @@ class IndividualRepository extends property_repository_1.PropertyRepository {
|
|
|
43
43
|
getIndividuals(graphUris, typeUri, options) {
|
|
44
44
|
const result = new Set();
|
|
45
45
|
for (const q of this.store.match(graphUris, null, ontologies_1.rdf.type, ontologies_1.owl.NamedIndividual)) {
|
|
46
|
-
|
|
47
|
-
if (this.skip(graphUris, s, options)) {
|
|
46
|
+
if (this.skip(graphUris, q.subject, options)) {
|
|
48
47
|
continue;
|
|
49
48
|
}
|
|
50
|
-
if (!typeUri || this.isInstanceOfType(graphUris,
|
|
51
|
-
result.add(
|
|
49
|
+
if (!typeUri || this.isInstanceOfType(graphUris, q.subject.value, typeUri)) {
|
|
50
|
+
result.add(q.subject.value);
|
|
52
51
|
}
|
|
53
52
|
}
|
|
54
53
|
return Array.from(result);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"individual-repository.js","sourceRoot":"","sources":["../../src/rdf/individual-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAAyC;AAEzC,+DAA2D;AAG3D;;GAEG;AACH,MAAa,oBAAqB,SAAQ,wCAAkB;IACxD,YAAY,KAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3C;;;;;;OAMG;IACH,kBAAkB,CAAC,SAAwC,EAAE,UAAmB,EAAE,OAAgC;QAC9G,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QACjC,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEjE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,gBAAG,CAAC,eAAe,CAAC,EAAE;YACjF,
|
|
1
|
+
{"version":3,"file":"individual-repository.js","sourceRoot":"","sources":["../../src/rdf/individual-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,11 +28,10 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
28
28
|
getProperties(graphUris, options) {
|
|
29
29
|
const result = new Set();
|
|
30
30
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, ontologies_1.rdf.Property, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
31
|
-
|
|
32
|
-
if (this.skip(graphUris, s, options)) {
|
|
31
|
+
if (this.skip(graphUris, q.subject, options)) {
|
|
33
32
|
continue;
|
|
34
33
|
}
|
|
35
|
-
result.add(
|
|
34
|
+
result.add(q.subject.value);
|
|
36
35
|
}
|
|
37
36
|
return Array.from(result);
|
|
38
37
|
}
|
|
@@ -46,13 +45,11 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
46
45
|
const result = new Set();
|
|
47
46
|
const type = new n3.NamedNode(typeUri);
|
|
48
47
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, type, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
49
|
-
|
|
50
|
-
if (this.skip(graphUris, s, options)) {
|
|
48
|
+
if (this.skip(graphUris, q.subject, options)) {
|
|
51
49
|
continue;
|
|
52
50
|
}
|
|
53
51
|
let hasSuperProperty = false;
|
|
54
|
-
for (let q2 of this.store.match(graphUris,
|
|
55
|
-
const o2 = q2.object;
|
|
52
|
+
for (let q2 of this.store.match(graphUris, q.subject, ontologies_1.rdfs.subPropertyOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
56
53
|
// Note: We have not skipped the property so it is relevant for our result. However, if we want
|
|
57
54
|
// to include referenced properties, then we include the referenced super property instead of the
|
|
58
55
|
// current one.
|
|
@@ -60,7 +57,7 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
60
57
|
// We must assume that the referenced super property is of the same type as the given type or a super type of it.
|
|
61
58
|
result.add(q2.object.value);
|
|
62
59
|
}
|
|
63
|
-
else if (this.skip(graphUris,
|
|
60
|
+
else if (this.skip(graphUris, q2.object, options)) {
|
|
64
61
|
// If the super property is skipped, then we ignore it.
|
|
65
62
|
continue;
|
|
66
63
|
}
|
|
@@ -72,13 +69,13 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
72
69
|
}
|
|
73
70
|
if (typeUri === ontologies_1.RDF.Property && (options === null || options === void 0 ? void 0 : options.includeInferred) === false) {
|
|
74
71
|
// In the case of rdf:Property, we do not want to include properties that have a more specific type.
|
|
75
|
-
const t = Array.from(this.store.match(graphUris,
|
|
72
|
+
const t = Array.from(this.store.match(graphUris, q.subject, ontologies_1.rdf.type, null, options === null || options === void 0 ? void 0 : options.includeInferred)).map(q => q.object.value);
|
|
76
73
|
if (new Set(t).size == 1) {
|
|
77
|
-
result.add(
|
|
74
|
+
result.add(q.subject.value);
|
|
78
75
|
}
|
|
79
76
|
}
|
|
80
77
|
else {
|
|
81
|
-
result.add(
|
|
78
|
+
result.add(q.subject.value);
|
|
82
79
|
}
|
|
83
80
|
}
|
|
84
81
|
return Array.from(result);
|
|
@@ -93,11 +90,10 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
93
90
|
const result = [];
|
|
94
91
|
const s = n3.DataFactory.namedNode(subjectUri);
|
|
95
92
|
for (let q of this.store.match(graphUris, s, ontologies_1.rdfs.subPropertyOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
96
|
-
|
|
97
|
-
if (this.skip(graphUris, o, options)) {
|
|
93
|
+
if (this.skip(graphUris, q.object, options)) {
|
|
98
94
|
continue;
|
|
99
95
|
}
|
|
100
|
-
result.push(
|
|
96
|
+
result.push(q.object.value);
|
|
101
97
|
}
|
|
102
98
|
return result;
|
|
103
99
|
}
|
|
@@ -133,8 +129,8 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
133
129
|
*/
|
|
134
130
|
hasSubProperties(graphUris, subjectUri, options) {
|
|
135
131
|
const o = n3.DataFactory.namedNode(subjectUri);
|
|
136
|
-
for (let
|
|
137
|
-
if (!this.skip(graphUris,
|
|
132
|
+
for (let q of this.store.match(graphUris, null, ontologies_1.rdfs.subPropertyOf, o, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
133
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
138
134
|
return true;
|
|
139
135
|
}
|
|
140
136
|
}
|
|
@@ -151,11 +147,10 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
151
147
|
const result = new Set();
|
|
152
148
|
const o = n3.DataFactory.namedNode(subjectUri);
|
|
153
149
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdfs.subPropertyOf, o, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
154
|
-
|
|
155
|
-
if (this.skip(graphUris, s, options)) {
|
|
150
|
+
if (this.skip(graphUris, q.subject, options)) {
|
|
156
151
|
continue;
|
|
157
152
|
}
|
|
158
|
-
result.add(
|
|
153
|
+
result.add(q.subject.value);
|
|
159
154
|
}
|
|
160
155
|
return Array.from(result);
|
|
161
156
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"property-repository.js","sourceRoot":"","sources":["../../src/rdf/property-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ import { SkosReasoner } from "./skos-reasoner";
|
|
|
4
4
|
* A simple RDFS reasoner that expands the graph with inferred triples.
|
|
5
5
|
*/
|
|
6
6
|
export declare class RdfsReasoner extends SkosReasoner {
|
|
7
|
-
protected ontologies: Set<
|
|
8
|
-
protected classes: Set<
|
|
9
|
-
protected properties: Set<
|
|
10
|
-
protected invididuals: Set<n3.
|
|
7
|
+
protected ontologies: Set<string>;
|
|
8
|
+
protected classes: Set<string>;
|
|
9
|
+
protected properties: Set<string>;
|
|
10
|
+
protected invididuals: Set<n3.Term>;
|
|
11
11
|
protected isIgnoredNode(term: n3.Term): boolean;
|
|
12
|
+
protected isClass(id: string): boolean;
|
|
12
13
|
protected afterInference(): void;
|
|
13
14
|
applyInference(quad: n3.Quad): void;
|
|
14
15
|
protected assertClass(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
@@ -28,15 +28,16 @@ class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
|
28
28
|
return false;
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
isClass(id) {
|
|
32
|
+
return super.isClass(id) ||
|
|
33
|
+
this.classes.has(id) ||
|
|
34
|
+
this.properties.has(id) ||
|
|
35
|
+
this.ontologies.has(id);
|
|
36
|
+
}
|
|
31
37
|
afterInference() {
|
|
32
38
|
super.afterInference();
|
|
33
39
|
// After all axioms have been inferred, add the inferred individuals to the graph.
|
|
34
|
-
const individuals = [...this.invididuals].filter(x => !this.
|
|
35
|
-
!this.properties.has(x) &&
|
|
36
|
-
!this.ontologies.has(x) &&
|
|
37
|
-
!this.concepts.has(x) &&
|
|
38
|
-
!this.conceptSchemes.has(x) &&
|
|
39
|
-
!this.collections.has(x));
|
|
40
|
+
const individuals = [...this.invididuals].filter(x => !this.isClass(x.id));
|
|
40
41
|
for (let individual of individuals) {
|
|
41
42
|
this.store.addQuad(individual, ontologies_1.rdf.type, ontologies_1.owl.NamedIndividual, this.targetGraph);
|
|
42
43
|
}
|
|
@@ -50,7 +51,7 @@ class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
|
50
51
|
this.invididuals.add(quad.subject);
|
|
51
52
|
}
|
|
52
53
|
if (quad.object.id == ontologies_1.owl.Ontology.id) {
|
|
53
|
-
this.ontologies.add(quad.subject);
|
|
54
|
+
this.ontologies.add(quad.subject.id);
|
|
54
55
|
}
|
|
55
56
|
}
|
|
56
57
|
this.inferClassAxioms(quad);
|
|
@@ -58,7 +59,7 @@ class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
|
58
59
|
}
|
|
59
60
|
assertClass(subject) {
|
|
60
61
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.rdfs.Class, this.targetGraph);
|
|
61
|
-
this.classes.add(subject);
|
|
62
|
+
this.classes.add(subject.id);
|
|
62
63
|
}
|
|
63
64
|
inferClassAxioms(quad) {
|
|
64
65
|
let s = quad.subject;
|
|
@@ -71,7 +72,7 @@ class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
|
71
72
|
case ontologies_1.rdf.type.id: {
|
|
72
73
|
if (o.equals(ontologies_1.rdfs.Class)) {
|
|
73
74
|
// No need to infer the class type, as it is already asserted.
|
|
74
|
-
this.classes.add(s);
|
|
75
|
+
this.classes.add(s.id);
|
|
75
76
|
}
|
|
76
77
|
else if (o.equals(ontologies_1.owl.Class)) {
|
|
77
78
|
this.assertClass(s);
|
|
@@ -114,7 +115,7 @@ class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
|
114
115
|
}
|
|
115
116
|
assertProperty(subject) {
|
|
116
117
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.rdf.Property, this.targetGraph);
|
|
117
|
-
this.properties.add(subject);
|
|
118
|
+
this.properties.add(subject.id);
|
|
118
119
|
}
|
|
119
120
|
inferPropertyAxioms(quad) {
|
|
120
121
|
let s = quad.subject;
|
|
@@ -127,7 +128,7 @@ class RdfsReasoner extends skos_reasoner_1.SkosReasoner {
|
|
|
127
128
|
case ontologies_1.rdf.type.id: {
|
|
128
129
|
if (o.equals(ontologies_1.rdf.Property)) {
|
|
129
130
|
// No need to infer the property type, as it is already asserted.
|
|
130
|
-
this.properties.add(s);
|
|
131
|
+
this.properties.add(s.id);
|
|
131
132
|
}
|
|
132
133
|
return;
|
|
133
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rdfs-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/rdfs-reasoner.ts"],"names":[],"mappings":";;;AACA,iDAA+D;AAC/D,mDAA+C;AAE/C;;GAEG;AACH,MAAa,YAAa,SAAQ,4BAAY;IAA9C;;QACc,eAAU,
|
|
1
|
+
{"version":3,"file":"rdfs-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/rdfs-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -54,4 +54,9 @@ export declare abstract class ReasonerBase implements Reasoner {
|
|
|
54
54
|
protected beforeInference(): void;
|
|
55
55
|
protected afterInference(): void;
|
|
56
56
|
abstract applyInference(quad: n3.Quad): void;
|
|
57
|
+
/**
|
|
58
|
+
* Indicate if a given resource should *not* be inferred to be a owl:NamedIndividual.
|
|
59
|
+
* @param id A resource URI or blank node identifier.
|
|
60
|
+
*/
|
|
61
|
+
protected abstract isClass(id: string): boolean;
|
|
57
62
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/reasoner.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,iDAA4C;AAwB5C;;GAEG;AACH,MAAsB,YAAY;IAAlC;QACc,UAAK,GAAa,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAM3B,WAAM,GAAyC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,15 @@ import { RdfsReasoner } from "./rdfs-reasoner";
|
|
|
4
4
|
* A simple SKOS reasoner that expands the graph with inferred triples.
|
|
5
5
|
*/
|
|
6
6
|
export declare class ShaclReasoner extends RdfsReasoner {
|
|
7
|
-
protected shapes: Set<
|
|
7
|
+
protected shapes: Set<string>;
|
|
8
|
+
protected validators: Set<string>;
|
|
9
|
+
protected parameterizables: Set<string>;
|
|
10
|
+
protected isClass(id: string): boolean;
|
|
8
11
|
applyInference(quad: n3.Quad): void;
|
|
9
12
|
protected assertShape(subject: n3.BlankNode | n3.NamedNode | n3.Variable, type?: n3.NamedNode): void;
|
|
13
|
+
protected assertValidator(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
14
|
+
protected assertParameterizable(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
15
|
+
protected isShapeType(subject: n3.Term): boolean;
|
|
16
|
+
protected isParameterizableType(subject: n3.Term): boolean;
|
|
10
17
|
inferShapeAxioms(quad: n3.Quad): void;
|
|
11
18
|
}
|
|
@@ -10,6 +10,14 @@ class ShaclReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments);
|
|
12
12
|
this.shapes = new Set();
|
|
13
|
+
this.validators = new Set();
|
|
14
|
+
this.parameterizables = new Set();
|
|
15
|
+
}
|
|
16
|
+
isClass(id) {
|
|
17
|
+
return super.isClass(id) ||
|
|
18
|
+
this.shapes.has(id) ||
|
|
19
|
+
this.validators.has(id) ||
|
|
20
|
+
this.parameterizables.has(id);
|
|
13
21
|
}
|
|
14
22
|
applyInference(quad) {
|
|
15
23
|
super.applyInference(quad);
|
|
@@ -20,7 +28,45 @@ class ShaclReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
20
28
|
if (type) {
|
|
21
29
|
this.store.addQuad(subject, ontologies_1.rdf.type, type, this.targetGraph);
|
|
22
30
|
}
|
|
23
|
-
this.shapes.add(subject);
|
|
31
|
+
this.shapes.add(subject.id);
|
|
32
|
+
}
|
|
33
|
+
assertValidator(subject) {
|
|
34
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.shacl.Validator, this.targetGraph);
|
|
35
|
+
this.validators.add(subject.id);
|
|
36
|
+
}
|
|
37
|
+
assertParameterizable(subject) {
|
|
38
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.shacl.Parameterizable, this.targetGraph);
|
|
39
|
+
this.parameterizables.add(subject.id);
|
|
40
|
+
}
|
|
41
|
+
isShapeType(subject) {
|
|
42
|
+
switch (subject.id) {
|
|
43
|
+
case ontologies_1.shacl.Shape.id:
|
|
44
|
+
case ontologies_1.shacl.NodeShape.id:
|
|
45
|
+
case ontologies_1.shacl.PropertyShape.id:
|
|
46
|
+
case ontologies_1.shacl.Parameter.id: {
|
|
47
|
+
return true;
|
|
48
|
+
}
|
|
49
|
+
default: {
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
isParameterizableType(subject) {
|
|
55
|
+
switch (subject.id) {
|
|
56
|
+
case ontologies_1.shacl.Parameter.id:
|
|
57
|
+
case ontologies_1.shacl.ConstraintComponent.id:
|
|
58
|
+
case ontologies_1.shacl.Function.id:
|
|
59
|
+
case ontologies_1.shacl.JSFunction.id:
|
|
60
|
+
case ontologies_1.shacl.SPARQLFunction.id:
|
|
61
|
+
case ontologies_1.shacl.TargetType.id:
|
|
62
|
+
case ontologies_1.shacl.JSTargetType.id:
|
|
63
|
+
case ontologies_1.shacl.SPARQLTargetType.id: {
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
default: {
|
|
67
|
+
return false;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
24
70
|
}
|
|
25
71
|
inferShapeAxioms(quad) {
|
|
26
72
|
let s = quad.subject;
|
|
@@ -33,11 +79,18 @@ class ShaclReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
33
79
|
case ontologies_1.rdf.type.id: {
|
|
34
80
|
if (o.equals(ontologies_1.shacl.Shape)) {
|
|
35
81
|
// No need to infer the type, as it is already asserted.
|
|
36
|
-
this.shapes.add(s);
|
|
82
|
+
this.shapes.add(s.id);
|
|
37
83
|
}
|
|
38
|
-
else if (
|
|
84
|
+
else if (this.isShapeType(o)) {
|
|
39
85
|
this.assertShape(s, o);
|
|
40
86
|
}
|
|
87
|
+
else if (o.equals(ontologies_1.shacl.Parameterizable)) {
|
|
88
|
+
// No need to infer the type, as it is already asserted.
|
|
89
|
+
this.parameterizables.add(s.id);
|
|
90
|
+
}
|
|
91
|
+
else if (this.isParameterizableType(o)) {
|
|
92
|
+
this.assertParameterizable(s);
|
|
93
|
+
}
|
|
41
94
|
return;
|
|
42
95
|
}
|
|
43
96
|
case ontologies_1.shacl.targetClass.id: {
|
|
@@ -45,6 +98,11 @@ class ShaclReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
45
98
|
this.assertClass(o);
|
|
46
99
|
return;
|
|
47
100
|
}
|
|
101
|
+
case ontologies_1.shacl.class.id: {
|
|
102
|
+
this.assertShape(s, ontologies_1.shacl.PropertyShape);
|
|
103
|
+
this.assertClass(o);
|
|
104
|
+
return;
|
|
105
|
+
}
|
|
48
106
|
case ontologies_1.shacl.path.id: {
|
|
49
107
|
this.assertShape(s, ontologies_1.shacl.PropertyShape);
|
|
50
108
|
this.assertProperty(o);
|
|
@@ -55,6 +113,19 @@ class ShaclReasoner extends rdfs_reasoner_1.RdfsReasoner {
|
|
|
55
113
|
this.assertShape(o, ontologies_1.shacl.PropertyShape);
|
|
56
114
|
return;
|
|
57
115
|
}
|
|
116
|
+
case ontologies_1.shacl.parameter.id: {
|
|
117
|
+
this.assertShape(o, ontologies_1.shacl.Parameter);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
case ontologies_1.shacl.validator.id: {
|
|
121
|
+
this.assertValidator(o);
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
case ontologies_1.shacl.parameter.id:
|
|
125
|
+
case ontologies_1.shacl.labelTemplate.id: {
|
|
126
|
+
this.assertParameterizable(s);
|
|
127
|
+
return;
|
|
128
|
+
}
|
|
58
129
|
}
|
|
59
130
|
}
|
|
60
131
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shacl-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/shacl-reasoner.ts"],"names":[],"mappings":";;;AACA,iDAA8C;AAC9C,mDAA+C;AAE/C;;GAEG;AACH,MAAa,aAAc,SAAQ,4BAAY;IAA/C;;QACc,WAAM,
|
|
1
|
+
{"version":3,"file":"shacl-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/shacl-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,12 +4,13 @@ import { ReasonerBase } from "./reasoner";
|
|
|
4
4
|
* A simple SKOS reasoner that expands the graph with inferred triples.
|
|
5
5
|
*/
|
|
6
6
|
export declare class SkosReasoner extends ReasonerBase {
|
|
7
|
-
protected concepts: Set<
|
|
8
|
-
protected conceptSchemes: Set<
|
|
9
|
-
protected collections: Set<
|
|
7
|
+
protected concepts: Set<string>;
|
|
8
|
+
protected conceptSchemes: Set<string>;
|
|
9
|
+
protected collections: Set<string>;
|
|
10
10
|
applyInference(quad: n3.Quad): void;
|
|
11
11
|
protected assertConcept(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
12
12
|
protected assertConceptScheme(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
13
|
+
protected isClass(id: string): boolean;
|
|
13
14
|
inferConceptAxioms(quad: n3.Quad): void;
|
|
14
15
|
protected assertCollection(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
15
16
|
protected assertOrderedCollection(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
|
|
@@ -19,11 +19,16 @@ class SkosReasoner extends reasoner_1.ReasonerBase {
|
|
|
19
19
|
}
|
|
20
20
|
assertConcept(subject) {
|
|
21
21
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.Concept, this.targetGraph);
|
|
22
|
-
this.concepts.add(subject);
|
|
22
|
+
this.concepts.add(subject.id);
|
|
23
23
|
}
|
|
24
24
|
assertConceptScheme(subject) {
|
|
25
25
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.ConceptScheme, this.targetGraph);
|
|
26
|
-
this.conceptSchemes.add(subject);
|
|
26
|
+
this.conceptSchemes.add(subject.id);
|
|
27
|
+
}
|
|
28
|
+
isClass(id) {
|
|
29
|
+
return this.concepts.has(id) ||
|
|
30
|
+
this.conceptSchemes.has(id) ||
|
|
31
|
+
this.collections.has(id);
|
|
27
32
|
}
|
|
28
33
|
inferConceptAxioms(quad) {
|
|
29
34
|
let s = quad.subject;
|
|
@@ -36,11 +41,11 @@ class SkosReasoner extends reasoner_1.ReasonerBase {
|
|
|
36
41
|
case ontologies_1.rdf.type.id: {
|
|
37
42
|
if (o.equals(ontologies_1.skos.Concept)) {
|
|
38
43
|
// No need to infer the type, as it is already asserted.
|
|
39
|
-
this.concepts.add(s);
|
|
44
|
+
this.concepts.add(s.id);
|
|
40
45
|
}
|
|
41
46
|
else if (o.equals(ontologies_1.skos.ConceptScheme)) {
|
|
42
47
|
// No need to infer the type, as it is already asserted.
|
|
43
|
-
this.conceptSchemes.add(s);
|
|
48
|
+
this.conceptSchemes.add(s.id);
|
|
44
49
|
}
|
|
45
50
|
return;
|
|
46
51
|
}
|
|
@@ -63,12 +68,12 @@ class SkosReasoner extends reasoner_1.ReasonerBase {
|
|
|
63
68
|
}
|
|
64
69
|
assertCollection(subject) {
|
|
65
70
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.Collection, this.targetGraph);
|
|
66
|
-
this.collections.add(subject);
|
|
71
|
+
this.collections.add(subject.id);
|
|
67
72
|
}
|
|
68
73
|
assertOrderedCollection(subject) {
|
|
69
74
|
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.skos.OrderedCollection, this.targetGraph);
|
|
70
75
|
// We do not make a distinction between collections and ordered collections here.
|
|
71
|
-
this.collections.add(subject);
|
|
76
|
+
this.collections.add(subject.id);
|
|
72
77
|
}
|
|
73
78
|
inferCollectionAxioms(quad) {
|
|
74
79
|
let s = quad.subject;
|
|
@@ -81,11 +86,11 @@ class SkosReasoner extends reasoner_1.ReasonerBase {
|
|
|
81
86
|
case ontologies_1.rdf.type.id: {
|
|
82
87
|
if (o.equals(ontologies_1.skos.Collection)) {
|
|
83
88
|
// No need to infer the type, as it is already asserted.
|
|
84
|
-
this.collections.add(s);
|
|
89
|
+
this.collections.add(s.id);
|
|
85
90
|
}
|
|
86
91
|
else if (o.equals(ontologies_1.skos.OrderedCollection)) {
|
|
87
92
|
// No need to infer the type, as it is already asserted.
|
|
88
|
-
this.collections.add(s);
|
|
93
|
+
this.collections.add(s.id);
|
|
89
94
|
}
|
|
90
95
|
return;
|
|
91
96
|
}
|
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"skos-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/skos-reasoner.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,13 +24,17 @@ export interface DefinitionQueryOptions extends QueryOptions {
|
|
|
24
24
|
*/
|
|
25
25
|
notDefinedBy?: string[];
|
|
26
26
|
/**
|
|
27
|
-
* Indicate if terms what are not *defined* in the ontology should be included in the result (default:
|
|
27
|
+
* Indicate if terms what are not *defined* in the ontology should be included in the result (default: false).
|
|
28
28
|
*/
|
|
29
29
|
includeReferenced?: boolean;
|
|
30
30
|
/**
|
|
31
31
|
* Indicate if blank nodes should be included in the result (default: false).
|
|
32
32
|
*/
|
|
33
33
|
includeBlankNodes?: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Indicate if subtypes of the given type should be included in the result (default: true).
|
|
36
|
+
*/
|
|
37
|
+
includeSubTypes?: boolean;
|
|
34
38
|
}
|
|
35
39
|
/**
|
|
36
40
|
* A repository for retrieving resources from graphs.
|
|
@@ -44,18 +48,19 @@ export declare class ResourceRepository {
|
|
|
44
48
|
/**
|
|
45
49
|
* Inidiates if a node should not be included in the result of a definition query.
|
|
46
50
|
* @param graphUris URIs of the graphs to search.
|
|
47
|
-
* @param
|
|
51
|
+
* @param subject The focus node.
|
|
48
52
|
* @param options Definition query options.
|
|
53
|
+
* @param optionDefaults Custom default values for the query options.
|
|
49
54
|
* @returns
|
|
50
55
|
*/
|
|
51
|
-
protected skip(graphUris: string | string[] | undefined,
|
|
56
|
+
protected skip(graphUris: string | string[] | undefined, subject: Quad_Subject | Quad_Object, options?: DefinitionQueryOptions, optionDefaults?: DefinitionQueryOptions): boolean;
|
|
52
57
|
/**
|
|
53
58
|
* Indicate if a given URI exists as the subject of a triple in the graph.
|
|
54
59
|
* @param graphUris URIs of the graphs to search.
|
|
55
60
|
* @param subjectUri URI of the subject to search for.
|
|
56
61
|
* @returns true if the URI is a subject, false otherwise.
|
|
57
62
|
*/
|
|
58
|
-
hasSubject(graphUris: string | string[] | undefined, subjectUri: string |
|
|
63
|
+
hasSubject(graphUris: string | string[] | undefined, subjectUri: string | Quad_Subject | Quad_Object): boolean;
|
|
59
64
|
/**
|
|
60
65
|
* Indicate if a node is explicitly defined by the given URI using the `rdfs:isDefinedBy` property, or implicitly by sharing the same namespace.
|
|
61
66
|
* @param graphUris URIs of the graphs to search.
|
|
@@ -64,4 +69,13 @@ export declare class ResourceRepository {
|
|
|
64
69
|
* @returns `true` if the node is defined by the given URI, `false` otherwise.
|
|
65
70
|
*/
|
|
66
71
|
isDefinedBy(graphUris: string | string[] | undefined, node: n3.NamedNode<string>, definedBy: string | null): boolean;
|
|
72
|
+
/**
|
|
73
|
+
* Indicate if a resource has a given type in the graph.
|
|
74
|
+
* @param graphUris URIs of the graphs to search.
|
|
75
|
+
* @param subjectUri URI of the subject to match.
|
|
76
|
+
* @param typeUri URI of the type to match.
|
|
77
|
+
* @param options Optional query parameters.
|
|
78
|
+
* @returns `true` if the resource has the type, `false` otherwise.
|
|
79
|
+
*/
|
|
80
|
+
hasType(graphUris: string | string[] | undefined, subjectUri: string, typeUri: string, options?: QueryOptions): boolean;
|
|
67
81
|
}
|
|
@@ -15,29 +15,31 @@ class ResourceRepository {
|
|
|
15
15
|
/**
|
|
16
16
|
* Inidiates if a node should not be included in the result of a definition query.
|
|
17
17
|
* @param graphUris URIs of the graphs to search.
|
|
18
|
-
* @param
|
|
18
|
+
* @param subject The focus node.
|
|
19
19
|
* @param options Definition query options.
|
|
20
|
+
* @param optionDefaults Custom default values for the query options.
|
|
20
21
|
* @returns
|
|
21
22
|
*/
|
|
22
|
-
skip(graphUris,
|
|
23
|
-
|
|
23
|
+
skip(graphUris, subject, options, optionDefaults = { includeBlankNodes: false, includeReferenced: false }) {
|
|
24
|
+
const opts = Object.assign(Object.assign({}, optionDefaults), options);
|
|
25
|
+
if (!opts.includeBlankNodes && subject.termType != "NamedNode") {
|
|
24
26
|
// We are only interested in named nodes.
|
|
25
27
|
return true;
|
|
26
28
|
}
|
|
27
|
-
if (!
|
|
29
|
+
if (!opts.includeReferenced && !this.hasSubject(graphUris, subject)) {
|
|
28
30
|
// Skip the node if it is not explicitly defined in the graph as a subject.
|
|
29
31
|
return true;
|
|
30
32
|
}
|
|
31
|
-
if ((
|
|
32
|
-
const isDefined = this.isDefinedBy(graphUris,
|
|
33
|
+
if ((opts === null || opts === void 0 ? void 0 : opts.definedBy) !== undefined) {
|
|
34
|
+
const isDefined = this.isDefinedBy(graphUris, subject, opts.definedBy);
|
|
33
35
|
// Do not skip the node if it has a different namespace but is *explicitly* defined by the given URI.
|
|
34
|
-
if (
|
|
36
|
+
if (opts.definedBy === null && isDefined || opts.definedBy !== null && !isDefined) {
|
|
35
37
|
return true;
|
|
36
38
|
}
|
|
37
39
|
}
|
|
38
|
-
else if ((
|
|
39
|
-
for (const source of
|
|
40
|
-
if (this.isDefinedBy(graphUris,
|
|
40
|
+
else if ((opts === null || opts === void 0 ? void 0 : opts.notDefinedBy) !== undefined) {
|
|
41
|
+
for (const source of opts.notDefinedBy) {
|
|
42
|
+
if (this.isDefinedBy(graphUris, subject, source)) {
|
|
41
43
|
return true;
|
|
42
44
|
}
|
|
43
45
|
}
|
|
@@ -55,11 +57,13 @@ class ResourceRepository {
|
|
|
55
57
|
if (typeof subjectUri === "string") {
|
|
56
58
|
s = n3.DataFactory.namedNode(subjectUri);
|
|
57
59
|
}
|
|
58
|
-
else {
|
|
60
|
+
else if (subjectUri.termType !== "Literal") {
|
|
59
61
|
s = subjectUri;
|
|
60
62
|
}
|
|
61
|
-
|
|
62
|
-
|
|
63
|
+
if (s) {
|
|
64
|
+
for (let _ of this.store.match(graphUris, s, null, null, false)) {
|
|
65
|
+
return true;
|
|
66
|
+
}
|
|
63
67
|
}
|
|
64
68
|
return false;
|
|
65
69
|
}
|
|
@@ -103,6 +107,22 @@ class ResourceRepository {
|
|
|
103
107
|
}
|
|
104
108
|
return false;
|
|
105
109
|
}
|
|
110
|
+
/**
|
|
111
|
+
* Indicate if a resource has a given type in the graph.
|
|
112
|
+
* @param graphUris URIs of the graphs to search.
|
|
113
|
+
* @param subjectUri URI of the subject to match.
|
|
114
|
+
* @param typeUri URI of the type to match.
|
|
115
|
+
* @param options Optional query parameters.
|
|
116
|
+
* @returns `true` if the resource has the type, `false` otherwise.
|
|
117
|
+
*/
|
|
118
|
+
hasType(graphUris, subjectUri, typeUri, options) {
|
|
119
|
+
const s = n3.DataFactory.namedNode(subjectUri);
|
|
120
|
+
const o = n3.DataFactory.namedNode(typeUri);
|
|
121
|
+
for (let _ of this.store.match(graphUris, s, ontologies_1.rdf.type, o, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
122
|
+
return true;
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
106
126
|
}
|
|
107
127
|
exports.ResourceRepository = ResourceRepository;
|
|
108
128
|
//# sourceMappingURL=resource-repository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-repository.js","sourceRoot":"","sources":["../../src/rdf/resource-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AAGzB,
|
|
1
|
+
{"version":3,"file":"resource-repository.js","sourceRoot":"","sources":["../../src/rdf/resource-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,14 +23,16 @@ export declare class ShapeRepository extends IndividualRepository {
|
|
|
23
23
|
/**
|
|
24
24
|
* Get all shape types in the repository.
|
|
25
25
|
* @param graphUris URIs of the graphs to search, `undefined` for the default graph.
|
|
26
|
+
* @param options Optional query parameters.
|
|
26
27
|
* @returns A list of all shape types in the repository.
|
|
27
28
|
*/
|
|
28
|
-
getShapeTypes(graphUris: string | string[] | undefined): string[];
|
|
29
|
+
getShapeTypes(graphUris: string | string[] | undefined, options?: DefinitionQueryOptions): string[];
|
|
29
30
|
/**
|
|
30
31
|
* Indicate if there are shapes for a subject in the repository.
|
|
31
32
|
* @param graphUris URIs of the graphs to search, `undefined` for the default graph.
|
|
32
33
|
* @param subjectUri The URI of the subject.
|
|
34
|
+
* @param options Optional query parameters.
|
|
33
35
|
* @returns `true` if there are shapes for the subject, `false` otherwise.
|
|
34
36
|
*/
|
|
35
|
-
hasShapes(graphUris: string | string[] | undefined, subjectUri: string): boolean;
|
|
37
|
+
hasShapes(graphUris: string | string[] | undefined, subjectUri: string, options?: DefinitionQueryOptions): boolean;
|
|
36
38
|
}
|
|
@@ -20,30 +20,26 @@ class ShapeRepository extends individual_repository_1.IndividualRepository {
|
|
|
20
20
|
const result = new Set();
|
|
21
21
|
if (!subjectUri) {
|
|
22
22
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, ontologies_1.shacl.Shape, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
result.add(s.value);
|
|
23
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
24
|
+
result.add(q.subject.value);
|
|
26
25
|
}
|
|
27
26
|
}
|
|
28
27
|
}
|
|
29
28
|
else {
|
|
30
29
|
const s = n3.DataFactory.namedNode(subjectUri);
|
|
31
30
|
for (let q of this.store.match(graphUris, s, ontologies_1.rdf.type, ontologies_1.shacl.Shape, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
result.add(s.value);
|
|
31
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
32
|
+
result.add(q.subject.value);
|
|
35
33
|
}
|
|
36
34
|
}
|
|
37
35
|
for (let q of this.store.match(graphUris, null, ontologies_1.shacl.targetClass, s, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
result.add(s.value);
|
|
36
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
37
|
+
result.add(q.subject.value);
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
for (let q of this.store.match(graphUris, null, ontologies_1.shacl.path, s, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
result.add(s.value);
|
|
41
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
42
|
+
result.add(q.subject.value);
|
|
47
43
|
}
|
|
48
44
|
}
|
|
49
45
|
}
|
|
@@ -58,9 +54,8 @@ class ShapeRepository extends individual_repository_1.IndividualRepository {
|
|
|
58
54
|
getShapesOfType(graphUris, typeUri, options) {
|
|
59
55
|
const result = new Set();
|
|
60
56
|
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, new n3.NamedNode(typeUri), options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
result.add(s.value);
|
|
57
|
+
if (!this.skip(graphUris, q.subject, options)) {
|
|
58
|
+
result.add(q.subject.value);
|
|
64
59
|
}
|
|
65
60
|
}
|
|
66
61
|
return Array.from(result);
|
|
@@ -68,17 +63,22 @@ class ShapeRepository extends individual_repository_1.IndividualRepository {
|
|
|
68
63
|
/**
|
|
69
64
|
* Get all shape types in the repository.
|
|
70
65
|
* @param graphUris URIs of the graphs to search, `undefined` for the default graph.
|
|
66
|
+
* @param options Optional query parameters.
|
|
71
67
|
* @returns A list of all shape types in the repository.
|
|
72
68
|
*/
|
|
73
|
-
getShapeTypes(graphUris) {
|
|
69
|
+
getShapeTypes(graphUris, options) {
|
|
74
70
|
const result = new Set();
|
|
75
|
-
for (let
|
|
76
|
-
|
|
77
|
-
|
|
71
|
+
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, ontologies_1.shacl.NodeShape)) {
|
|
72
|
+
if (!this.skip(graphUris, q.subject, options, { includeBlankNodes: true })) {
|
|
73
|
+
result.add(ontologies_1.SHACL.NodeShape);
|
|
74
|
+
break;
|
|
75
|
+
}
|
|
78
76
|
}
|
|
79
|
-
for (let
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
for (let q of this.store.match(graphUris, null, ontologies_1.rdf.type, ontologies_1.shacl.PropertyShape)) {
|
|
78
|
+
if (!this.skip(graphUris, q.subject, options, { includeBlankNodes: true })) {
|
|
79
|
+
result.add(ontologies_1.SHACL.PropertyShape);
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
82
|
}
|
|
83
83
|
return Array.from(result);
|
|
84
84
|
}
|
|
@@ -86,18 +86,25 @@ class ShapeRepository extends individual_repository_1.IndividualRepository {
|
|
|
86
86
|
* Indicate if there are shapes for a subject in the repository.
|
|
87
87
|
* @param graphUris URIs of the graphs to search, `undefined` for the default graph.
|
|
88
88
|
* @param subjectUri The URI of the subject.
|
|
89
|
+
* @param options Optional query parameters.
|
|
89
90
|
* @returns `true` if there are shapes for the subject, `false` otherwise.
|
|
90
91
|
*/
|
|
91
|
-
hasShapes(graphUris, subjectUri) {
|
|
92
|
+
hasShapes(graphUris, subjectUri, options) {
|
|
92
93
|
const s = n3.DataFactory.namedNode(subjectUri);
|
|
93
|
-
for (let
|
|
94
|
-
|
|
94
|
+
for (let q of this.store.match(graphUris, s, ontologies_1.rdf.type, ontologies_1.shacl.Shape)) {
|
|
95
|
+
if (!this.skip(graphUris, q.subject, options, { includeBlankNodes: true })) {
|
|
96
|
+
return true;
|
|
97
|
+
}
|
|
95
98
|
}
|
|
96
|
-
for (let
|
|
97
|
-
|
|
99
|
+
for (let q of this.store.match(graphUris, null, ontologies_1.shacl.targetClass, s)) {
|
|
100
|
+
if (!this.skip(graphUris, q.subject, options, { includeBlankNodes: true })) {
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
98
103
|
}
|
|
99
|
-
for (let
|
|
100
|
-
|
|
104
|
+
for (let q of this.store.match(graphUris, null, ontologies_1.shacl.path, s)) {
|
|
105
|
+
if (!this.skip(graphUris, q.subject, options, { includeBlankNodes: true })) {
|
|
106
|
+
return true;
|
|
107
|
+
}
|
|
101
108
|
}
|
|
102
109
|
return false;
|
|
103
110
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shape-repository.js","sourceRoot":"","sources":["../../src/rdf/shape-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAAkD;AAGlD,mEAA+D;AAE/D;;GAEG;AACH,MAAa,eAAgB,SAAQ,4CAAoB;IACrD,YAAY,KAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,SAAS,CAAC,SAAwC,EAAE,UAAmB,EAAE,OAAgC;QACrG,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;QAEjC,IAAI,CAAC,UAAU,EAAE;YACb,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,gBAAG,CAAC,IAAI,EAAE,kBAAK,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;gBAC9F,
|
|
1
|
+
{"version":3,"file":"shape-repository.js","sourceRoot":"","sources":["../../src/rdf/shape-repository.ts"],"names":[],"mappings":"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"}
|
package/out/rdf/store.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
+
import { Quad_Subject, Quad_Predicate, Quad_Object } from "@rdfjs/types";
|
|
2
3
|
import * as n3 from "n3";
|
|
3
4
|
import { EventEmitter } from "stream";
|
|
4
5
|
import { Reasoner } from "./reasoners/reasoner";
|
|
@@ -79,5 +80,5 @@ export declare class Store {
|
|
|
79
80
|
* @param predicate A predicate URI or null to match any predicate.
|
|
80
81
|
* @param object An object URI or null to match any object.
|
|
81
82
|
*/
|
|
82
|
-
match(graphUris: string | string[] | undefined, subject:
|
|
83
|
+
match(graphUris: string | string[] | undefined, subject: Quad_Subject | null, predicate: Quad_Predicate | null, object: Quad_Object | null, includeInferred?: boolean): Generator<import("@rdfjs/types").Quad, void, undefined>;
|
|
83
84
|
}
|
package/out/rdf/store.js
CHANGED
|
@@ -176,18 +176,21 @@ class Store {
|
|
|
176
176
|
if (includeInferred && !this.reasoner) {
|
|
177
177
|
throw new Error('Reasoner is not available to include inferred triples.');
|
|
178
178
|
}
|
|
179
|
+
const s = subject;
|
|
180
|
+
const p = predicate;
|
|
181
|
+
const o = object;
|
|
179
182
|
if (graphUris !== undefined) {
|
|
180
183
|
const graphs = Array.isArray(graphUris) ? graphUris : [graphUris];
|
|
181
184
|
for (let graph of graphs.map(g => new n3.NamedNode(g))) {
|
|
182
|
-
yield* this._store.match(
|
|
185
|
+
yield* this._store.match(s, p, o, graph);
|
|
183
186
|
if (includeInferred !== false && this.reasoner) {
|
|
184
187
|
let inferenceGraph = new n3.NamedNode(this.reasoner.getInferenceGraphUri(graph.value));
|
|
185
|
-
yield* this._store.match(
|
|
188
|
+
yield* this._store.match(s, p, o, inferenceGraph);
|
|
186
189
|
}
|
|
187
190
|
}
|
|
188
191
|
}
|
|
189
192
|
else {
|
|
190
|
-
yield* this._store.match(
|
|
193
|
+
yield* this._store.match(s, p, o);
|
|
191
194
|
}
|
|
192
195
|
}
|
|
193
196
|
}
|
package/out/rdf/store.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":"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"}
|