@faubulous/mentor-rdf 0.2.27 → 0.2.30

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.
@@ -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(lists: Record<string, n3.Term[]>, quad: n3.Quad): void;
27
- protected inferPropertyAxioms(lists: Record<string, n3.Term[]>, quad: n3.Quad): void;
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(lists, quad) {
38
- super.inferClassAxioms(lists, quad);
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.getListItems(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.getListItems(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(lists, quad) {
147
- super.inferPropertyAxioms(lists, quad);
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":"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"}
1
+ {"version":3,"file":"owl-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/owl-reasoner.ts"],"names":[],"mappings":"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"}
@@ -1,30 +1,18 @@
1
1
  import * as n3 from "n3";
2
- import { IReasoner } from "./reasoner";
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 implements IReasoner {
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
- errors: {
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;
23
11
  protected isIgnoredNode(term: n3.Term): boolean;
24
- protected beforeInference(): void;
25
12
  protected afterInference(): void;
13
+ applyInference(quad: n3.Quad): void;
26
14
  protected assertClass(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
27
- protected inferClassAxioms(lists: Record<string, n3.Term[]>, quad: n3.Quad): void;
15
+ protected inferClassAxioms(quad: n3.Quad): void;
28
16
  protected assertProperty(subject: n3.BlankNode | n3.NamedNode | n3.Variable): void;
29
- protected inferPropertyAxioms(lists: Record<string, n3.Term[]>, quad: n3.Quad): void;
17
+ protected inferPropertyAxioms(quad: n3.Quad): void;
30
18
  }
@@ -1,87 +1,25 @@
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
- this.store = new n3.Store();
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.errors = [];
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");
80
16
  }
81
17
  isIgnoredNode(term) {
82
18
  switch (term.id) {
83
19
  case ontologies_1.skos.Concept.id:
84
20
  case ontologies_1.skos.ConceptScheme.id:
21
+ case ontologies_1.skos.Collection.id:
22
+ case ontologies_1.skos.OrderedCollection.id:
85
23
  case ontologies_1.shacl.Shape.id:
86
24
  case ontologies_1.shacl.NodeShape.id:
87
25
  case ontologies_1.shacl.PropertyShape.id:
@@ -90,13 +28,39 @@ class RdfsReasoner {
90
28
  return false;
91
29
  }
92
30
  }
93
- beforeInference() { }
94
- afterInference() { }
31
+ afterInference() {
32
+ super.afterInference();
33
+ // After all axioms have been inferred, add the inferred individuals to the graph.
34
+ const individuals = [...this.invididuals].filter(x => !this.classes.has(x) &&
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
+ for (let individual of individuals) {
41
+ this.store.addQuad(individual, ontologies_1.rdf.type, ontologies_1.owl.NamedIndividual, this.targetGraph);
42
+ }
43
+ }
44
+ applyInference(quad) {
45
+ super.applyInference(quad);
46
+ // Treat all named nodes with rdf:type definitions as potential individuals.
47
+ if (quad.subject.termType == "NamedNode" && quad.predicate.equals(ontologies_1.rdf.type)) {
48
+ // Only consider individuals that are not of a type that is ignored such as skos:Concept.
49
+ if (!this.isIgnoredNode(quad.object)) {
50
+ this.invididuals.add(quad.subject);
51
+ }
52
+ if (quad.object.id == ontologies_1.owl.Ontology.id) {
53
+ this.ontologies.add(quad.subject);
54
+ }
55
+ }
56
+ this.inferClassAxioms(quad);
57
+ this.inferPropertyAxioms(quad);
58
+ }
95
59
  assertClass(subject) {
96
60
  this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.rdfs.Class, this.targetGraph);
97
61
  this.classes.add(subject);
98
62
  }
99
- inferClassAxioms(lists, quad) {
63
+ inferClassAxioms(quad) {
100
64
  let s = quad.subject;
101
65
  let p = quad.predicate;
102
66
  let o = quad.object.termType != "Literal" ? quad.object : undefined;
@@ -152,7 +116,7 @@ class RdfsReasoner {
152
116
  this.store.addQuad(subject, ontologies_1.rdf.type, ontologies_1.rdf.Property, this.targetGraph);
153
117
  this.properties.add(subject);
154
118
  }
155
- inferPropertyAxioms(lists, quad) {
119
+ inferPropertyAxioms(quad) {
156
120
  let s = quad.subject;
157
121
  let p = quad.predicate;
158
122
  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":"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"}
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 IReasoner {
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,40 @@ 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
+ /**
37
+ * Get the URIs of ordered list members in the store.
38
+ * @param graphUris Optional graph URI or array of graph URIs to query.
39
+ * @param listUri URI of the list to get the items from.
40
+ * @returns An array of URIs of the items in the list.
41
+ */
42
+ getListItems(listUri: string): n3.Term[];
43
+ private _getListItems;
44
+ /**
45
+ * Query the store for triples matching the given pattern supporting multiple graphs.
46
+ * @param graphUris Optional graph URI or array of graph URIs to query.
47
+ * @param subject A subject URI or null to match any subject.
48
+ * @param predicate A predicate URI or null to match any predicate.
49
+ * @param object An object URI or null to match any object.
50
+ * @todo Refactor and merge with the same method in the Mentor RDF Store class.
51
+ */
52
+ match(graph: n3.Term, subject: n3.Term | null, predicate: n3.Term | null, object: n3.Term | null): Generator<import("@rdfjs/types").Quad, void, undefined>;
53
+ expand(store: n3.Store, sourceGraph: string | n3.Quad_Graph, targetGraph?: string | n3.Quad_Graph): n3.Store;
54
+ protected beforeInference(): void;
55
+ protected afterInference(): void;
56
+ abstract applyInference(quad: n3.Quad): void;
57
+ }
@@ -1,3 +1,105 @@
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
+ const ontologies_1 = require("../../ontologies");
7
+ /**
8
+ * A base class for reasoners that expand graphs with inferred triples.
9
+ */
10
+ class ReasonerBase {
11
+ constructor() {
12
+ this.store = new n3.Store();
13
+ this.errors = [];
14
+ }
15
+ getInferenceGraphUri(uri) {
16
+ let u = typeof uri == "string" ? uri : uri.value;
17
+ // This reasoner is specifically designed to work with the Mentor platform.
18
+ return u.replace(/^(http|https|urn|file):\/\//, 'mentor://');
19
+ }
20
+ isInferenceGraphUri(uri) {
21
+ let u = typeof uri == "string" ? uri : uri.value;
22
+ return u.startsWith('mentor://');
23
+ }
24
+ getGraphNode(graph) {
25
+ if (typeof graph === "string") {
26
+ return new n3.NamedNode(graph);
27
+ }
28
+ else {
29
+ return graph;
30
+ }
31
+ }
32
+ isW3CNode(term) {
33
+ return term.value.startsWith("http://www.w3.org");
34
+ }
35
+ /**
36
+ * Get the URIs of ordered list members in the store.
37
+ * @param graphUris Optional graph URI or array of graph URIs to query.
38
+ * @param listUri URI of the list to get the items from.
39
+ * @returns An array of URIs of the items in the list.
40
+ */
41
+ getListItems(listUri) {
42
+ // To do: Fix #10
43
+ const list = listUri.includes(':') ? new n3.NamedNode(listUri) : new n3.BlankNode(listUri);
44
+ return this._getListItems(list);
45
+ }
46
+ _getListItems(subject) {
47
+ var _a;
48
+ if (!this.sourceGraph) {
49
+ return [];
50
+ }
51
+ let first = Array.from(this.match(this.sourceGraph, subject, ontologies_1.rdf.first, null));
52
+ if (!first.length) {
53
+ return [];
54
+ }
55
+ const rest = Array.from(this.match(this.sourceGraph, subject, ontologies_1.rdf.rest, null));
56
+ const firstItem = first[0].object;
57
+ const restList = (_a = rest[0]) === null || _a === void 0 ? void 0 : _a.object;
58
+ if (restList.value === ontologies_1.RDF.nil) {
59
+ return [firstItem];
60
+ }
61
+ else {
62
+ const restItems = this._getListItems(restList);
63
+ return [firstItem, ...restItems];
64
+ }
65
+ }
66
+ /**
67
+ * Query the store for triples matching the given pattern supporting multiple graphs.
68
+ * @param graphUris Optional graph URI or array of graph URIs to query.
69
+ * @param subject A subject URI or null to match any subject.
70
+ * @param predicate A predicate URI or null to match any predicate.
71
+ * @param object An object URI or null to match any object.
72
+ * @todo Refactor and merge with the same method in the Mentor RDF Store class.
73
+ */
74
+ *match(graph, subject, predicate, object) {
75
+ if (graph !== undefined) {
76
+ yield* this.store.match(subject, predicate, object, graph);
77
+ }
78
+ else {
79
+ yield* this.store.match(subject, predicate, object);
80
+ }
81
+ }
82
+ expand(store, sourceGraph, targetGraph) {
83
+ if (!targetGraph) {
84
+ targetGraph = this.getInferenceGraphUri(sourceGraph);
85
+ }
86
+ this.store = store;
87
+ if (this.store.getGraphs(null, null, null).filter(g => g.id == targetGraph).length > 0) {
88
+ // Ensure the target graph is empty so this function is idempotent and consistent.
89
+ store.deleteGraph(targetGraph);
90
+ }
91
+ this.sourceGraph = this.getGraphNode(sourceGraph);
92
+ this.targetGraph = this.getGraphNode(targetGraph);
93
+ this.beforeInference();
94
+ for (let quad of store.match(null, null, null, this.sourceGraph)) {
95
+ let q = quad;
96
+ this.applyInference(q);
97
+ }
98
+ this.afterInference();
99
+ return store;
100
+ }
101
+ beforeInference() { }
102
+ afterInference() { }
103
+ }
104
+ exports.ReasonerBase = ReasonerBase;
3
105
  //# 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;AACzB,iDAA4C;AAwB5C;;GAEG;AACH,MAAsB,YAAY;IAAlC;QACc,UAAK,GAAa,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAM3B,WAAM,GAAyC,EAAE,CAAC;IAkHtE,CAAC;IAhHU,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;IAED;;;;;OAKG;IACH,YAAY,CAAC,OAAe;QACxB,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,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,aAAa,CAAC,OAAgB;;QAClC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACnB,OAAO,EAAE,CAAC;SACb;QAED,IAAI,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAG,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/E,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACf,OAAO,EAAE,CAAC;SACb;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,gBAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAE/E,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,QAAQ,CAAC,CAAC;YAE/C,OAAO,CAAC,SAAS,EAAE,GAAG,SAAS,CAAC,CAAC;SACpC;IACL,CAAC;IAED;;;;;;;OAOG;IACH,CAAC,KAAK,CAAC,KAAc,EAAE,OAAuB,EAAE,SAAyB,EAAE,MAAsB;QAC7F,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;SAC9D;aAAM;YACH,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACvD;IACL,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;AAzHD,oCAyHC"}
@@ -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":"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"}
@@ -1,10 +1,7 @@
1
1
  /// <reference types="node" />
2
2
  import * as n3 from "n3";
3
3
  import { EventEmitter } from "stream";
4
- import { IReasoner } from "./reasoners/reasoner";
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?: IReasoner;
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?: IReasoner);
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.
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import * as n3 from "n3";
2
- import { IReasoner } from "../reasoners/reasoner";
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?: IReasoner, onQuad?: (quad: n3.Quad) => void): Promise<Store>;
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?: IReasoner, onQuad?: (quad: n3.Quad) => void): Promise<Store>;
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,QAAoB,EAAE,MAAgC;;QAChH,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,QAAoB,EAAE,MAAgC;;QAC9G,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"}
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"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "ontology",
11
11
  "vocabulary"
12
12
  ],
13
- "version": "0.2.27",
13
+ "version": "0.2.30",
14
14
  "private": false,
15
15
  "author": {
16
16
  "name": "Sebastian Faubel"