@faubulous/mentor-rdf 0.2.9 → 0.2.10

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.
@@ -35,9 +35,8 @@ export declare class Store {
35
35
  /**
36
36
  * Get URIs of graphs related to a given graph, such as the inference graph or referenced standard ontology graphs.
37
37
  * @param graphUri A graph URI.
38
- * @param enableInference Indicates if inference should be enabled for the graph.
39
38
  */
40
- getContextGraphs(graphUri: string, enableInference?: boolean): string[];
39
+ getContextGraphs(graphUri: string): string[];
41
40
  /**
42
41
  * Load a set of triples into the store.
43
42
  * @param quads An array of quads to be loaded into the store.
@@ -55,6 +54,17 @@ export declare class Store {
55
54
  * @returns A promise that resolves to an RDF store.
56
55
  */
57
56
  loadFromStream(input: string | EventEmitter, graphUri: string, clearGraph?: boolean, onQuad?: (quad: n3.Quad) => void): Promise<Store>;
57
+ /**
58
+ * Indicates if the store contains triples in a given graph.
59
+ * @param graphUri A graph URI.
60
+ * @returns `true` if the store contains triples in the graph URI, `false` otherwise.
61
+ */
62
+ hasGraph(graphUri: n3.Quad_Graph | string): boolean;
63
+ /**
64
+ * Apply inference to the given graph and store the triples in the associated inference graph.
65
+ * @param graphUri A graph URI.
66
+ */
67
+ executeInference(graphUri: n3.Quad_Graph | string): void;
58
68
  /**
59
69
  * Delete named graphs from the store.
60
70
  * @param graphUris URIs of the graphs to be deleted.
package/out/rdf/store.js CHANGED
@@ -49,16 +49,12 @@ class Store {
49
49
  /**
50
50
  * Get URIs of graphs related to a given graph, such as the inference graph or referenced standard ontology graphs.
51
51
  * @param graphUri A graph URI.
52
- * @param enableInference Indicates if inference should be enabled for the graph.
53
52
  */
54
- getContextGraphs(graphUri, enableInference = true) {
53
+ getContextGraphs(graphUri) {
55
54
  let result = [graphUri];
56
- if (enableInference && this.reasoner) {
55
+ if (this.reasoner) {
57
56
  result.push(this.reasoner.getInferenceGraphUri(graphUri));
58
57
  }
59
- else if (enableInference && !this.reasoner) {
60
- throw new Error("Cannot enable inference without a reasoner.");
61
- }
62
58
  return result;
63
59
  }
64
60
  /**
@@ -73,14 +69,10 @@ class Store {
73
69
  // Only clear the graph once if there had been no errors.
74
70
  if (clearGraph) {
75
71
  // Note: Using the match method to clear the graph results in an error because the graph is being modified.
76
- for (let q of this._store.readQuads(null, null, null, graph)) {
77
- this._store.removeQuad(q);
78
- }
72
+ this.deleteGraphs([graphUri]);
79
73
  if (this.reasoner) {
80
74
  const inferenceGraph = new n3.NamedNode(this.reasoner.getInferenceGraphUri(graphUri));
81
- for (let q of this._store.readQuads(null, null, null, inferenceGraph)) {
82
- this._store.removeQuad(q);
83
- }
75
+ this.deleteGraphs([inferenceGraph.value]);
84
76
  }
85
77
  }
86
78
  for (let q of quads) {
@@ -109,7 +101,7 @@ class Store {
109
101
  if (error) {
110
102
  reject(error);
111
103
  }
112
- if (quad) {
104
+ else if (quad) {
113
105
  quads.push(quad);
114
106
  }
115
107
  else if (done) {
@@ -120,13 +112,41 @@ class Store {
120
112
  });
121
113
  });
122
114
  }
115
+ /**
116
+ * Indicates if the store contains triples in a given graph.
117
+ * @param graphUri A graph URI.
118
+ * @returns `true` if the store contains triples in the graph URI, `false` otherwise.
119
+ */
120
+ hasGraph(graphUri) {
121
+ if (!this.reasoner) {
122
+ return false;
123
+ }
124
+ const uri = typeof graphUri === 'string' ? new n3.NamedNode(graphUri) : graphUri;
125
+ for (const q of this._store.match(null, null, null, uri)) {
126
+ return true;
127
+ }
128
+ return false;
129
+ }
130
+ /**
131
+ * Apply inference to the given graph and store the triples in the associated inference graph.
132
+ * @param graphUri A graph URI.
133
+ */
134
+ executeInference(graphUri) {
135
+ if (this.reasoner) {
136
+ const uri = typeof graphUri === 'string' ? graphUri : graphUri.value;
137
+ this.reasoner.expand(this._store, uri);
138
+ }
139
+ }
123
140
  /**
124
141
  * Delete named graphs from the store.
125
142
  * @param graphUris URIs of the graphs to be deleted.
126
143
  */
127
144
  deleteGraphs(graphUris) {
128
145
  for (let graphUri of graphUris) {
129
- this._store.deleteGraph(new n3.NamedNode(graphUri));
146
+ const g = new n3.NamedNode(graphUri);
147
+ for (let q of this._store.match(null, null, null, g)) {
148
+ this._store.removeQuad(q);
149
+ }
130
150
  }
131
151
  }
132
152
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,+DAAyC;AAIzC;;GAEG;AACH,MAAa,KAAK;IAWd;;OAEG;IACH,IAAW,IAAI;QACX,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,YAAY,QAAoB;QArBhC;;WAEG;QACc,WAAM,GAAa,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QAmB/C,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7B,CAAC;IAED;;OAEG;IACU,uBAAuB;;YAChC,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,6CAA6C,CAAC,CAAC;YAClF,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC;YAC7E,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,gCAAgC,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,sCAAsC,CAAC,CAAC;YAC5E,MAAM,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;QAC5E,CAAC;KAAA;IAED;;;OAGG;IACH,SAAS;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,gBAAgB,CAAC,QAAgB,EAAE,kBAA2B,IAAI;QAC9D,IAAI,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC;QAExB,IAAI,eAAe,IAAI,IAAI,CAAC,QAAQ,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC7D;aAAM,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC1C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAClE;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACK,UAAU,CAAC,KAAgB,EAAE,QAAgB,EAAE,aAAsB,IAAI,EAAE,MAAgC;QAC/G,MAAM,KAAK,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;QAE7D,yDAAyD;QACzD,IAAI,UAAU,EAAE;YACZ,2GAA2G;YAC3G,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE;gBAC1D,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;aAC7B;YAED,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,MAAM,cAAc,GAAG,IAAI,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAEtF,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE;oBACnE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;iBAC7B;aACJ;SACJ;QAED,KAAK,IAAI,CAAC,IAAI,KAAK,EAAE;YACjB,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;YAEtE,IAAI,MAAM,EAAE;gBACR,MAAM,CAAC,CAAC,CAAC,CAAC;aACb;SACJ;QAED,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;SAC/C;IACL,CAAC;IAED;;;;;;;OAOG;IACU,cAAc,CAAC,KAA4B,EAAE,QAAgB,EAAE,aAAsB,IAAI,EAAE,MAAgC;;YACpI,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACnC,IAAI,KAAK,GAAc,EAAE,CAAC;gBAE1B,IAAI,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE;oBACjD,IAAI,KAAK,EAAE;wBACP,MAAM,CAAC,KAAK,CAAC,CAAC;qBACjB;oBAAC,IAAI,IAAI,EAAE;wBACR,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBACpB;yBAAM,IAAI,IAAI,EAAE;wBACb,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;wBAErD,OAAO,CAAC,IAAI,CAAC,CAAC;qBACjB;gBACL,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;;OAGG;IACH,YAAY,CAAC,SAAmB;QAC5B,KAAK,IAAI,QAAQ,IAAI,SAAS,EAAE;YAC5B,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;SACvD;IACL,CAAC;IAED;;;;;;OAMG;IACH,CAAC,KAAK,CAAC,SAA6B,EAAE,OAAwB,EAAE,SAA0B,EAAE,MAAuB;QAC/G,IAAI,CAAC,SAAS,EAAE;YACZ,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;SACxD;aAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YAClC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;SACrF;aAAM;YACH,KAAK,IAAI,KAAK,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;gBACvD,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;aAC/D;SACJ;IACL,CAAC;CACJ;AA7JD,sBA6JC"}
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/rdf/store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "ontology",
11
11
  "vocabulary"
12
12
  ],
13
- "version": "0.2.9",
13
+ "version": "0.2.10",
14
14
  "private": false,
15
15
  "author": {
16
16
  "name": "Sebastian Faubel"