@faubulous/mentor-rdf 0.2.33 → 0.2.35
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.d.ts +2 -2
- package/out/rdf/class-repository.js +2 -2
- package/out/rdf/class-repository.js.map +1 -1
- package/out/rdf/property-repository.js +7 -4
- package/out/rdf/property-repository.js.map +1 -1
- package/out/rdf/reasoners/shacl-reasoner.d.ts +11 -0
- package/out/rdf/reasoners/shacl-reasoner.js +59 -0
- package/out/rdf/reasoners/shacl-reasoner.js.map +1 -0
- package/out/rdf/resource-repository.d.ts +8 -1
- package/out/rdf/resource-repository.js +9 -3
- package/out/rdf/resource-repository.js.map +1 -1
- package/out/rdf/shape-repository.d.ts +16 -0
- package/out/rdf/shape-repository.js +29 -0
- package/out/rdf/shape-repository.js.map +1 -0
- package/out/rdf/tests/vocabularies/bfo.d.ts +409 -0
- package/out/rdf/tests/vocabularies/bfo.js +414 -0
- package/out/rdf/tests/vocabularies/bfo.js.map +1 -0
- package/out/rdf/tests/vocabularies/cidoc-crm.d.ts +2097 -0
- package/out/rdf/tests/vocabularies/cidoc-crm.js +2102 -0
- package/out/rdf/tests/vocabularies/cidoc-crm.js.map +1 -0
- package/out/rdf/tests/vocabularies/index.d.ts +5 -0
- package/out/rdf/tests/vocabularies/index.js +16 -1
- package/out/rdf/tests/vocabularies/index.js.map +1 -1
- package/out/rdf/tests/vocabularies/org.d.ts +189 -0
- package/out/rdf/tests/vocabularies/org.js +194 -0
- package/out/rdf/tests/vocabularies/org.js.map +1 -0
- package/out/rdf/tests/vocabularies/shapes.d.ts +15 -0
- package/out/rdf/tests/vocabularies/shapes.js +20 -0
- package/out/rdf/tests/vocabularies/shapes.js.map +1 -0
- package/out/rdf/tests/vocabularies/unesco.d.ts +10513 -0
- package/out/rdf/tests/vocabularies/unesco.js +10518 -0
- package/out/rdf/tests/vocabularies/unesco.js.map +1 -0
- package/package.json +1 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Store } from "./store";
|
|
2
|
-
import { ConceptRepository } from "./concept-repository";
|
|
3
2
|
import { DefinitionQueryOptions, QueryOptions } from "./resource-repository";
|
|
3
|
+
import { ShapeRepository } from "./shape-repository";
|
|
4
4
|
/**
|
|
5
5
|
* A repository for retrieving classes from graphs.
|
|
6
6
|
*/
|
|
7
|
-
export declare class ClassRepository extends
|
|
7
|
+
export declare class ClassRepository extends ShapeRepository {
|
|
8
8
|
constructor(store: Store);
|
|
9
9
|
/**
|
|
10
10
|
* Get all classes in the repository.
|
|
@@ -4,11 +4,11 @@ exports.ClassRepository = void 0;
|
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const n3 = tslib_1.__importStar(require("n3"));
|
|
6
6
|
const ontologies_1 = require("../ontologies");
|
|
7
|
-
const
|
|
7
|
+
const shape_repository_1 = require("./shape-repository");
|
|
8
8
|
/**
|
|
9
9
|
* A repository for retrieving classes from graphs.
|
|
10
10
|
*/
|
|
11
|
-
class ClassRepository extends
|
|
11
|
+
class ClassRepository extends shape_repository_1.ShapeRepository {
|
|
12
12
|
constructor(store) { super(store); }
|
|
13
13
|
/**
|
|
14
14
|
* Get all classes in the repository.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAA+C;
|
|
1
|
+
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,14 +53,17 @@ class PropertyRepository extends class_repository_1.ClassRepository {
|
|
|
53
53
|
let hasSuperProperty = false;
|
|
54
54
|
for (let q2 of this.store.match(graphUris, s, ontologies_1.rdfs.subPropertyOf, null, options === null || options === void 0 ? void 0 : options.includeInferred)) {
|
|
55
55
|
const o2 = q2.object;
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
}
|
|
56
|
+
// Note: We have not skipped the property so it is relevant for our result. However, if we want
|
|
57
|
+
// to include referenced properties, then we include the referenced super property instead of the
|
|
58
|
+
// current one.
|
|
60
59
|
if ((options === null || options === void 0 ? void 0 : options.includeReferenced) && !this.hasSubject(graphUris, q2.object.value)) {
|
|
61
60
|
// We must assume that the referenced super property is of the same type as the given type or a super type of it.
|
|
62
61
|
result.add(q2.object.value);
|
|
63
62
|
}
|
|
63
|
+
else if (this.skip(graphUris, o2, options)) {
|
|
64
|
+
// If the super property is skipped, then we ignore it.
|
|
65
|
+
continue;
|
|
66
|
+
}
|
|
64
67
|
hasSuperProperty = true;
|
|
65
68
|
break;
|
|
66
69
|
}
|
|
@@ -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,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,uBAAuB,CAAC,SAAwC,EAAE,OAAe,EAAE,OAAgC;QAC/G,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,gBAAgB,GAAG,KAAK,CAAC;YAE7B,KAAK,IAAI,EAAE,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;gBAC/F,MAAM,EAAE,GAAG,EAAE,CAAC,MAAsB,CAAC;gBAErC,
|
|
1
|
+
{"version":3,"file":"property-repository.js","sourceRoot":"","sources":["../../src/rdf/property-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as n3 from "n3";
|
|
2
|
+
import { SkosReasoner } from "./skos-reasoner";
|
|
3
|
+
/**
|
|
4
|
+
* A simple SKOS reasoner that expands the graph with inferred triples.
|
|
5
|
+
*/
|
|
6
|
+
export declare class ShaclReasoner extends SkosReasoner {
|
|
7
|
+
protected shapes: Set<n3.Term>;
|
|
8
|
+
applyInference(quad: n3.Quad): void;
|
|
9
|
+
protected assertShape(subject: n3.BlankNode | n3.NamedNode | n3.Variable, type?: n3.NamedNode): void;
|
|
10
|
+
inferShapeAxioms(quad: n3.Quad): void;
|
|
11
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShaclReasoner = void 0;
|
|
4
|
+
const ontologies_1 = require("../../ontologies");
|
|
5
|
+
const skos_reasoner_1 = require("./skos-reasoner");
|
|
6
|
+
/**
|
|
7
|
+
* A simple SKOS reasoner that expands the graph with inferred triples.
|
|
8
|
+
*/
|
|
9
|
+
class ShaclReasoner extends skos_reasoner_1.SkosReasoner {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
this.shapes = new Set();
|
|
13
|
+
}
|
|
14
|
+
applyInference(quad) {
|
|
15
|
+
this.inferShapeAxioms(quad);
|
|
16
|
+
}
|
|
17
|
+
assertShape(subject, type) {
|
|
18
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.shacl.Shape, this.targetGraph);
|
|
19
|
+
if (type) {
|
|
20
|
+
this.store.addQuad(subject, ontologies_1.rdf.type, type, this.targetGraph);
|
|
21
|
+
}
|
|
22
|
+
this.shapes.add(subject);
|
|
23
|
+
}
|
|
24
|
+
inferShapeAxioms(quad) {
|
|
25
|
+
let s = quad.subject;
|
|
26
|
+
let p = quad.predicate;
|
|
27
|
+
let o = quad.object.termType != "Literal" ? quad.object : undefined;
|
|
28
|
+
if (!o) {
|
|
29
|
+
return;
|
|
30
|
+
}
|
|
31
|
+
switch (p.id) {
|
|
32
|
+
case ontologies_1.rdf.type.id: {
|
|
33
|
+
if (o.equals(ontologies_1.shacl.Shape)) {
|
|
34
|
+
// No need to infer the type, as it is already asserted.
|
|
35
|
+
this.shapes.add(s);
|
|
36
|
+
}
|
|
37
|
+
else if (o.equals(ontologies_1.shacl.NodeShape) || o.equals(ontologies_1.shacl.PropertyShape)) {
|
|
38
|
+
this.assertShape(s, o);
|
|
39
|
+
}
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
case ontologies_1.shacl.targetClass.id: {
|
|
43
|
+
this.assertShape(s, ontologies_1.shacl.NodeShape);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
case ontologies_1.shacl.path.id: {
|
|
47
|
+
this.assertShape(s, ontologies_1.shacl.PropertyShape);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
case ontologies_1.shacl.property.id: {
|
|
51
|
+
this.assertShape(s, ontologies_1.shacl.NodeShape);
|
|
52
|
+
this.assertShape(o, ontologies_1.shacl.PropertyShape);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
exports.ShaclReasoner = ShaclReasoner;
|
|
59
|
+
//# sourceMappingURL=shacl-reasoner.js.map
|
|
@@ -0,0 +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,GAAiB,IAAI,GAAG,EAAE,CAAC;IAkD/C,CAAC;IAhDG,cAAc,CAAC,IAAa;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAES,WAAW,CAAC,OAAkD,EAAE,IAAmB;QACzF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,kBAAK,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAErE,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SACjE;QAED,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAED,gBAAgB,CAAC,IAAa;QAC1B,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,kBAAK,CAAC,KAAK,CAAC,EAAE;oBACvB,wDAAwD;oBACxD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACtB;qBAAM,IAAI,CAAC,CAAC,MAAM,CAAC,kBAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,kBAAK,CAAC,aAAa,CAAC,EAAE;oBACnE,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAiB,CAAC,CAAC;iBAC1C;gBACD,OAAO;aACV;YACD,KAAK,kBAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;gBACvB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,kBAAK,CAAC,SAAS,CAAC,CAAC;gBACrC,OAAO;aACV;YACD,KAAK,kBAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAChB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,kBAAK,CAAC,aAAa,CAAC,CAAC;gBACzC,OAAO;aACV;YACD,KAAK,kBAAK,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpB,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,kBAAK,CAAC,SAAS,CAAC,CAAC;gBACrC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,kBAAK,CAAC,aAAa,CAAC,CAAC;gBACzC,OAAO;aACV;SACJ;IACL,CAAC;CACJ;AAnDD,sCAmDC"}
|
|
@@ -11,6 +11,9 @@ export interface QueryOptions {
|
|
|
11
11
|
*/
|
|
12
12
|
includeInferred?: boolean;
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Parameters for querying resources in the store that have an explicitly asserted type in the document.
|
|
16
|
+
*/
|
|
14
17
|
export interface DefinitionQueryOptions extends QueryOptions {
|
|
15
18
|
/**
|
|
16
19
|
* URI of the vocabulary that defines the resources. If `null`, returns only resources that have no `rdfs:isDefinedBy` property.
|
|
@@ -24,6 +27,10 @@ export interface DefinitionQueryOptions extends QueryOptions {
|
|
|
24
27
|
* Indicate if terms what are not *defined* in the ontology should be included in the result (default: true).
|
|
25
28
|
*/
|
|
26
29
|
includeReferenced?: boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Indicate if blank nodes should be included in the result (default: false).
|
|
32
|
+
*/
|
|
33
|
+
includeBlankNodes?: boolean;
|
|
27
34
|
}
|
|
28
35
|
/**
|
|
29
36
|
* A repository for retrieving resources from graphs.
|
|
@@ -48,7 +55,7 @@ export declare class ResourceRepository {
|
|
|
48
55
|
* @param subjectUri URI of the subject to search for.
|
|
49
56
|
* @returns true if the URI is a subject, false otherwise.
|
|
50
57
|
*/
|
|
51
|
-
hasSubject(graphUris: string | string[] | undefined, subjectUri: string): boolean;
|
|
58
|
+
hasSubject(graphUris: string | string[] | undefined, subjectUri: string | n3.Term): boolean;
|
|
52
59
|
/**
|
|
53
60
|
* Indicate if a node is explicitly defined by the given URI using the `rdfs:isDefinedBy` property, or implicitly by sharing the same namespace.
|
|
54
61
|
* @param graphUris URIs of the graphs to search.
|
|
@@ -20,11 +20,11 @@ class ResourceRepository {
|
|
|
20
20
|
* @returns
|
|
21
21
|
*/
|
|
22
22
|
skip(graphUris, node, options) {
|
|
23
|
-
if (node.termType != "NamedNode") {
|
|
23
|
+
if (!(options === null || options === void 0 ? void 0 : options.includeBlankNodes) && node.termType != "NamedNode") {
|
|
24
24
|
// We are only interested in named nodes.
|
|
25
25
|
return true;
|
|
26
26
|
}
|
|
27
|
-
if (!(options === null || options === void 0 ? void 0 : options.includeReferenced) && !this.hasSubject(graphUris, node
|
|
27
|
+
if (!(options === null || options === void 0 ? void 0 : options.includeReferenced) && !this.hasSubject(graphUris, node)) {
|
|
28
28
|
// Skip the node if it is not explicitly defined in the graph as a subject.
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
@@ -51,7 +51,13 @@ class ResourceRepository {
|
|
|
51
51
|
* @returns true if the URI is a subject, false otherwise.
|
|
52
52
|
*/
|
|
53
53
|
hasSubject(graphUris, subjectUri) {
|
|
54
|
-
|
|
54
|
+
let s;
|
|
55
|
+
if (typeof subjectUri === "string") {
|
|
56
|
+
s = n3.DataFactory.namedNode(subjectUri);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
s = subjectUri;
|
|
60
|
+
}
|
|
55
61
|
for (let _ of this.store.match(graphUris, s, null, null, false)) {
|
|
56
62
|
return true;
|
|
57
63
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-repository.js","sourceRoot":"","sources":["../../src/rdf/resource-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AAGzB,8CAAqC;AACrC,+BAA4B;
|
|
1
|
+
{"version":3,"file":"resource-repository.js","sourceRoot":"","sources":["../../src/rdf/resource-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Store } from "./store";
|
|
2
|
+
import { ConceptRepository } from "./concept-repository";
|
|
3
|
+
import { DefinitionQueryOptions } from "./resource-repository";
|
|
4
|
+
/**
|
|
5
|
+
* A repository for retrieving SHACL shapes from graphs.
|
|
6
|
+
*/
|
|
7
|
+
export declare class ShapeRepository extends ConceptRepository {
|
|
8
|
+
constructor(store: Store);
|
|
9
|
+
/**
|
|
10
|
+
* Get all shapes in the repository.
|
|
11
|
+
* @param graphUris URIs of the graphs to search, `undefined` for the default graph.
|
|
12
|
+
* @param options Optional query parameters.
|
|
13
|
+
* @returns A list of all shapes in the repository.
|
|
14
|
+
*/
|
|
15
|
+
getShapes(graphUris: string | string[] | undefined, options?: DefinitionQueryOptions): string[];
|
|
16
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ShapeRepository = void 0;
|
|
4
|
+
const ontologies_1 = require("../ontologies");
|
|
5
|
+
const concept_repository_1 = require("./concept-repository");
|
|
6
|
+
/**
|
|
7
|
+
* A repository for retrieving SHACL shapes from graphs.
|
|
8
|
+
*/
|
|
9
|
+
class ShapeRepository extends concept_repository_1.ConceptRepository {
|
|
10
|
+
constructor(store) { super(store); }
|
|
11
|
+
/**
|
|
12
|
+
* Get all shapes in the repository.
|
|
13
|
+
* @param graphUris URIs of the graphs to search, `undefined` for the default graph.
|
|
14
|
+
* @param options Optional query parameters.
|
|
15
|
+
* @returns A list of all shapes in the repository.
|
|
16
|
+
*/
|
|
17
|
+
getShapes(graphUris, options) {
|
|
18
|
+
const result = new Set();
|
|
19
|
+
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)) {
|
|
20
|
+
const s = q.subject;
|
|
21
|
+
if (!this.skip(graphUris, s, options)) {
|
|
22
|
+
result.add(s.value);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return Array.from(result);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.ShapeRepository = ShapeRepository;
|
|
29
|
+
//# sourceMappingURL=shape-repository.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shape-repository.js","sourceRoot":"","sources":["../../src/rdf/shape-repository.ts"],"names":[],"mappings":";;;AACA,8CAAiD;AAEjD,6DAAyD;AAGzD;;GAEG;AACH,MAAa,eAAgB,SAAQ,sCAAiB;IAClD,YAAY,KAAY,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAE3C;;;;;OAKG;IACH,SAAS,CAAC,SAAwC,EAAE,OAAgC;QAChF,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,kBAAK,CAAC,KAAK,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,eAAe,CAAC,EAAE;YAC9F,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC;YAEpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,EAAE;gBACnC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;aACvB;SACJ;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ;AAtBD,0CAsBC"}
|