@oml/owl 0.19.3 → 0.20.0
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/index.d.ts +3 -0
- package/out/index.js +3 -0
- package/out/index.js.map +1 -1
- package/out/owl/owl-abox.d.ts +16 -5
- package/out/owl/owl-abox.js +365 -188
- package/out/owl/owl-abox.js.map +1 -1
- package/out/owl/owl-imports.js +4 -2
- package/out/owl/owl-imports.js.map +1 -1
- package/out/owl/owl-interfaces.d.ts +26 -1
- package/out/owl/owl-mapper.d.ts +2 -0
- package/out/owl/owl-mapper.js +77 -38
- package/out/owl/owl-mapper.js.map +1 -1
- package/out/owl/owl-service.d.ts +4 -0
- package/out/owl/owl-service.js +139 -44
- package/out/owl/owl-service.js.map +1 -1
- package/out/owl/owl-shacl.d.ts +8 -9
- package/out/owl/owl-shacl.js +43 -117
- package/out/owl/owl-shacl.js.map +1 -1
- package/out/owl/owl-sparql-engine.d.ts +6 -0
- package/out/owl/owl-sparql-engine.js +11 -0
- package/out/owl/owl-sparql-engine.js.map +1 -0
- package/out/owl/owl-sparql-oxigraph.d.ts +34 -0
- package/out/owl/owl-sparql-oxigraph.js +436 -0
- package/out/owl/owl-sparql-oxigraph.js.map +1 -0
- package/out/owl/owl-sparql.d.ts +0 -44
- package/out/owl/owl-sparql.js +0 -320
- package/out/owl/owl-sparql.js.map +1 -1
- package/out/owl/owl-store-lean.d.ts +29 -0
- package/out/owl/owl-store-lean.js +445 -0
- package/out/owl/owl-store-lean.js.map +1 -0
- package/out/owl/owl-store.d.ts +11 -1
- package/out/owl/owl-store.js +80 -6
- package/out/owl/owl-store.js.map +1 -1
- package/package.json +3 -3
- package/src/index.ts +3 -0
- package/src/owl/owl-abox.ts +401 -200
- package/src/owl/owl-imports.ts +4 -2
- package/src/owl/owl-interfaces.ts +28 -1
- package/src/owl/owl-mapper.ts +79 -41
- package/src/owl/owl-service.ts +149 -49
- package/src/owl/owl-shacl.ts +55 -132
- package/src/owl/owl-sparql-engine.ts +34 -0
- package/src/owl/owl-sparql-oxigraph.ts +527 -0
- package/src/owl/owl-sparql.ts +3 -366
- package/src/owl/owl-store-lean.ts +438 -0
- package/src/owl/owl-store.ts +86 -7
package/out/owl/owl-sparql.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
// Copyright (c) 2026 Modelware. All rights reserved.
|
|
2
|
-
// NOTE: Comunica's QueryEngine attempts to spawn workers during construction.
|
|
3
|
-
// This works in Node.js and browser main thread. For browser Web Worker contexts (language server),
|
|
4
|
-
// the Worker constructor is mocked in browser-server.ts to prevent nested worker spawning while
|
|
5
|
-
// allowing Comunica to initialize and execute queries successfully (without parallel execution).
|
|
6
|
-
import { QueryEngine } from '@comunica/query-sparql';
|
|
7
|
-
import { DataFactory, Store } from 'n3';
|
|
8
2
|
import { deriveSelectQueryFromShacl } from './owl-shacl.js';
|
|
9
3
|
function stripSparqlComments(input) {
|
|
10
4
|
let out = '';
|
|
@@ -76,318 +70,4 @@ export function detectSparqlKind(sparql) {
|
|
|
76
70
|
return 'unknown';
|
|
77
71
|
}
|
|
78
72
|
export const deriveSelectQueryFromShape = deriveSelectQueryFromShacl;
|
|
79
|
-
// Zero-copy view over the main reasoning store with graph remapping.
|
|
80
|
-
// Instead of eagerly copying all quads into a new Store per ontology context,
|
|
81
|
-
// this delegates match() calls to the main store at query time, translating
|
|
82
|
-
// target graph names back to their source graph names on the fly.
|
|
83
|
-
// Memory cost is O(mappings) instead of O(total quads).
|
|
84
|
-
class MappedStoreView {
|
|
85
|
-
constructor(mainStore, mappings) {
|
|
86
|
-
this.mainStore = mainStore;
|
|
87
|
-
this.reverseEntries = mappings.flatMap((m) => [
|
|
88
|
-
{ sourceGraph: m.ownGraph, targetGraph: m.targetOwnGraph },
|
|
89
|
-
{ sourceGraph: m.entailmentsGraph, targetGraph: m.targetEntailmentsGraph },
|
|
90
|
-
]);
|
|
91
|
-
this.reverseMap = new Map(this.reverseEntries.map((e) => [e.targetGraph.value, e]));
|
|
92
|
-
}
|
|
93
|
-
// Comunica calls match() with specific graph terms from GRAPH patterns, or null for all graphs.
|
|
94
|
-
match(s, p, o, g) {
|
|
95
|
-
const sArg = s ?? null;
|
|
96
|
-
const pArg = p ?? null;
|
|
97
|
-
const oArg = o ?? null;
|
|
98
|
-
if (g && g.termType !== 'Variable' && g.termType !== 'DefaultGraph') {
|
|
99
|
-
const entry = this.reverseMap.get(g.value);
|
|
100
|
-
if (!entry)
|
|
101
|
-
return new Store();
|
|
102
|
-
return new Store(this.mainStore.getQuads(sArg, pArg, oArg, entry.sourceGraph)
|
|
103
|
-
.map((q) => DataFactory.quad(q.subject, q.predicate, q.object, entry.targetGraph)));
|
|
104
|
-
}
|
|
105
|
-
// All-graphs scan: deduplicate by s+p+o to match prior filtered-store behaviour.
|
|
106
|
-
const seen = new Set();
|
|
107
|
-
const quads = [];
|
|
108
|
-
for (const entry of this.reverseEntries) {
|
|
109
|
-
for (const q of this.mainStore.getQuads(sArg, pArg, oArg, entry.sourceGraph)) {
|
|
110
|
-
const key = `${q.subject.id}|${q.predicate.id}|${q.object.id}`;
|
|
111
|
-
if (!seen.has(key)) {
|
|
112
|
-
seen.add(key);
|
|
113
|
-
quads.push(DataFactory.quad(q.subject, q.predicate, q.object, entry.targetGraph));
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return new Store(quads);
|
|
118
|
-
}
|
|
119
|
-
get size() {
|
|
120
|
-
return this.reverseEntries.reduce((n, e) => n + this.mainStore.countQuads(null, null, null, e.sourceGraph), 0);
|
|
121
|
-
}
|
|
122
|
-
[Symbol.iterator]() {
|
|
123
|
-
return this.match()[Symbol.iterator]();
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
export class SparqlService {
|
|
127
|
-
constructor(reasoningStore, importGraph, aboxEntailmentCache, reasoningService, resolveOntologyIriForModelUri) {
|
|
128
|
-
this.reasoningStore = reasoningStore;
|
|
129
|
-
this.importGraph = importGraph;
|
|
130
|
-
this.aboxEntailmentCache = aboxEntailmentCache;
|
|
131
|
-
this.reasoningService = reasoningService;
|
|
132
|
-
this.engine = new QueryEngine();
|
|
133
|
-
this.filteredStoreCache = new Map();
|
|
134
|
-
this.dirtyFilteredStores = new Set();
|
|
135
|
-
this.ontologyIriResolver = resolveOntologyIriForModelUri ?? ((modelUri) => modelUri);
|
|
136
|
-
}
|
|
137
|
-
setOntologyIriResolver(resolver) {
|
|
138
|
-
this.ontologyIriResolver = resolver;
|
|
139
|
-
}
|
|
140
|
-
/**
|
|
141
|
-
* Executes a SPARQL query over the model's reasoned context.
|
|
142
|
-
* Queries must use explicit GRAPH patterns to access data.
|
|
143
|
-
* Available named graphs for a model context are:
|
|
144
|
-
* <modelNamespace> - asserted quads
|
|
145
|
-
* <modelNamespace__entailments> - inferred quads
|
|
146
|
-
* The same pattern applies to all models in the import closure.
|
|
147
|
-
*/
|
|
148
|
-
async query(modelUri, sparql) {
|
|
149
|
-
try {
|
|
150
|
-
this.ensureFreshEntailments(modelUri);
|
|
151
|
-
return await this.querySelect(modelUri, sparql);
|
|
152
|
-
}
|
|
153
|
-
catch (error) {
|
|
154
|
-
let warnings = [];
|
|
155
|
-
try {
|
|
156
|
-
warnings = this.toMissingModelsWarnings(this.getQueryContext(modelUri).missingModels);
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
warnings = [];
|
|
160
|
-
}
|
|
161
|
-
return {
|
|
162
|
-
success: false,
|
|
163
|
-
rows: [],
|
|
164
|
-
warnings,
|
|
165
|
-
error: error instanceof Error ? error.message : String(error),
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
}
|
|
169
|
-
/**
|
|
170
|
-
* Executes a SPARQL SELECT query over currently available store state.
|
|
171
|
-
* This method does not trigger inference refresh.
|
|
172
|
-
* The same named-graph contract applies as query(): explicit GRAPH patterns are required.
|
|
173
|
-
*/
|
|
174
|
-
async queryRaw(modelUri, sparql) {
|
|
175
|
-
return this.querySelect(modelUri, sparql);
|
|
176
|
-
}
|
|
177
|
-
async construct(modelUri, sparql) {
|
|
178
|
-
try {
|
|
179
|
-
this.ensureFreshEntailments(modelUri);
|
|
180
|
-
const queryContext = this.getQueryContext(modelUri);
|
|
181
|
-
const warnings = this.composeWarnings(modelUri, queryContext.missingModels);
|
|
182
|
-
const filteredStore = this.getOrCreateFilteredStore(modelUri, queryContext);
|
|
183
|
-
const baseIRI = this.resolveBaseIri(modelUri);
|
|
184
|
-
const quadsStream = await this.engine.queryQuads(sparql, {
|
|
185
|
-
sources: [filteredStore],
|
|
186
|
-
unionDefaultGraph: true,
|
|
187
|
-
baseIRI,
|
|
188
|
-
});
|
|
189
|
-
const seen = new Set();
|
|
190
|
-
const quads = [];
|
|
191
|
-
for await (const inferred of quadsStream) {
|
|
192
|
-
const key = `${inferred.subject.value}\x00${inferred.predicate.value}\x00${inferred.object.value}`;
|
|
193
|
-
if (!seen.has(key)) {
|
|
194
|
-
seen.add(key);
|
|
195
|
-
quads.push(inferred);
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return {
|
|
199
|
-
success: true,
|
|
200
|
-
quads,
|
|
201
|
-
warnings,
|
|
202
|
-
};
|
|
203
|
-
}
|
|
204
|
-
catch (error) {
|
|
205
|
-
return {
|
|
206
|
-
success: false,
|
|
207
|
-
quads: [],
|
|
208
|
-
warnings: [],
|
|
209
|
-
error: error instanceof Error ? error.message : String(error),
|
|
210
|
-
};
|
|
211
|
-
}
|
|
212
|
-
}
|
|
213
|
-
async ask(modelUri, sparql) {
|
|
214
|
-
try {
|
|
215
|
-
this.ensureFreshEntailments(modelUri);
|
|
216
|
-
const queryContext = this.getQueryContext(modelUri);
|
|
217
|
-
const warnings = this.composeWarnings(modelUri, queryContext.missingModels);
|
|
218
|
-
const filteredStore = this.getOrCreateFilteredStore(modelUri, queryContext);
|
|
219
|
-
const baseIRI = this.resolveBaseIri(modelUri);
|
|
220
|
-
const result = await this.engine.queryBoolean(sparql, {
|
|
221
|
-
sources: [filteredStore],
|
|
222
|
-
unionDefaultGraph: true,
|
|
223
|
-
baseIRI,
|
|
224
|
-
});
|
|
225
|
-
return {
|
|
226
|
-
success: true,
|
|
227
|
-
result,
|
|
228
|
-
warnings,
|
|
229
|
-
};
|
|
230
|
-
}
|
|
231
|
-
catch (error) {
|
|
232
|
-
return {
|
|
233
|
-
success: false,
|
|
234
|
-
result: false,
|
|
235
|
-
warnings: [],
|
|
236
|
-
error: error instanceof Error ? error.message : String(error),
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
}
|
|
240
|
-
getAvailableGraphs(modelUri) {
|
|
241
|
-
const seen = new Set();
|
|
242
|
-
const graphs = [];
|
|
243
|
-
for (const mapping of this.getQueryContext(modelUri).mappings) {
|
|
244
|
-
for (const graph of [mapping.targetOwnGraph, mapping.targetEntailmentsGraph]) {
|
|
245
|
-
if (seen.has(graph.value)) {
|
|
246
|
-
continue;
|
|
247
|
-
}
|
|
248
|
-
seen.add(graph.value);
|
|
249
|
-
graphs.push(graph);
|
|
250
|
-
}
|
|
251
|
-
}
|
|
252
|
-
return graphs;
|
|
253
|
-
}
|
|
254
|
-
invalidateFilteredStore(modelUri) {
|
|
255
|
-
this.filteredStoreCache.delete(modelUri);
|
|
256
|
-
this.dirtyFilteredStores.add(modelUri);
|
|
257
|
-
}
|
|
258
|
-
removeFilteredStore(modelUri) {
|
|
259
|
-
this.filteredStoreCache.delete(modelUri);
|
|
260
|
-
this.dirtyFilteredStores.delete(modelUri);
|
|
261
|
-
}
|
|
262
|
-
async querySelect(modelUri, sparql) {
|
|
263
|
-
try {
|
|
264
|
-
const queryContext = this.getQueryContext(modelUri);
|
|
265
|
-
const warnings = this.composeWarnings(modelUri, queryContext.missingModels);
|
|
266
|
-
const filteredStore = this.getOrCreateFilteredStore(modelUri, queryContext);
|
|
267
|
-
const baseIRI = this.resolveBaseIri(modelUri);
|
|
268
|
-
const bindingsStream = await this.engine.queryBindings(sparql, {
|
|
269
|
-
sources: [filteredStore],
|
|
270
|
-
unionDefaultGraph: true,
|
|
271
|
-
baseIRI,
|
|
272
|
-
});
|
|
273
|
-
const rows = [];
|
|
274
|
-
for await (const binding of bindingsStream) {
|
|
275
|
-
const row = new Map();
|
|
276
|
-
binding.forEach((value, variable) => {
|
|
277
|
-
if (!this.isQueryValueTerm(value)) {
|
|
278
|
-
return;
|
|
279
|
-
}
|
|
280
|
-
const variableName = variable.value;
|
|
281
|
-
row.set(variableName, this.toRdfTerm(value));
|
|
282
|
-
});
|
|
283
|
-
rows.push(row);
|
|
284
|
-
}
|
|
285
|
-
return {
|
|
286
|
-
success: true,
|
|
287
|
-
rows,
|
|
288
|
-
warnings,
|
|
289
|
-
};
|
|
290
|
-
}
|
|
291
|
-
catch (error) {
|
|
292
|
-
const queryContext = this.getQueryContext(modelUri);
|
|
293
|
-
const warnings = this.composeWarnings(modelUri, queryContext.missingModels);
|
|
294
|
-
return {
|
|
295
|
-
success: false,
|
|
296
|
-
rows: [],
|
|
297
|
-
warnings,
|
|
298
|
-
error: error instanceof Error ? error.message : String(error),
|
|
299
|
-
};
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
ensureFreshEntailments(modelUri) {
|
|
303
|
-
const closure = [modelUri, ...this.importGraph.dependenciesOf(modelUri)];
|
|
304
|
-
const requiresRefresh = closure.some((uri) => this.aboxEntailmentCache.isDirty(uri) || this.aboxEntailmentCache.isAbsent(uri));
|
|
305
|
-
if (requiresRefresh) {
|
|
306
|
-
this.reasoningService.runInference(modelUri);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
resolveBaseIri(modelUri) {
|
|
310
|
-
try {
|
|
311
|
-
return this.reasoningStore.graphs(modelUri).own.value;
|
|
312
|
-
}
|
|
313
|
-
catch {
|
|
314
|
-
return modelUri;
|
|
315
|
-
}
|
|
316
|
-
}
|
|
317
|
-
getQueryContext(modelUri) {
|
|
318
|
-
const allUris = [modelUri, ...this.importGraph.dependenciesOf(modelUri)];
|
|
319
|
-
const seen = new Set();
|
|
320
|
-
const mappings = [];
|
|
321
|
-
const missingModels = [];
|
|
322
|
-
for (const uri of allUris) {
|
|
323
|
-
let own;
|
|
324
|
-
let entailments;
|
|
325
|
-
try {
|
|
326
|
-
({ own, entailments } = this.reasoningStore.graphs(uri));
|
|
327
|
-
}
|
|
328
|
-
catch {
|
|
329
|
-
missingModels.push(uri);
|
|
330
|
-
continue;
|
|
331
|
-
}
|
|
332
|
-
if (seen.has(uri)) {
|
|
333
|
-
continue;
|
|
334
|
-
}
|
|
335
|
-
seen.add(uri);
|
|
336
|
-
const resolved = this.ontologyIriResolver(uri);
|
|
337
|
-
if (!resolved || resolved === uri) {
|
|
338
|
-
throw new Error(`Missing ontology IRI mapping for model '${uri}'.`);
|
|
339
|
-
}
|
|
340
|
-
const ontologyIri = this.toOntologyGraphIri(resolved);
|
|
341
|
-
mappings.push({
|
|
342
|
-
ownGraph: own,
|
|
343
|
-
entailmentsGraph: entailments,
|
|
344
|
-
targetOwnGraph: DataFactory.namedNode(ontologyIri),
|
|
345
|
-
targetEntailmentsGraph: DataFactory.namedNode(`${ontologyIri}__entailments`),
|
|
346
|
-
});
|
|
347
|
-
}
|
|
348
|
-
return { mappings, missingModels };
|
|
349
|
-
}
|
|
350
|
-
toOntologyGraphIri(iri) {
|
|
351
|
-
if (iri.endsWith('#')) {
|
|
352
|
-
return iri.slice(0, -1);
|
|
353
|
-
}
|
|
354
|
-
return iri;
|
|
355
|
-
}
|
|
356
|
-
toRdfTerm(term) {
|
|
357
|
-
if (term.termType === 'NamedNode') {
|
|
358
|
-
return { termType: 'NamedNode', value: term.value };
|
|
359
|
-
}
|
|
360
|
-
if (term.termType === 'BlankNode') {
|
|
361
|
-
return { termType: 'BlankNode', value: term.value };
|
|
362
|
-
}
|
|
363
|
-
const literal = term;
|
|
364
|
-
return {
|
|
365
|
-
termType: 'Literal',
|
|
366
|
-
value: term.value,
|
|
367
|
-
datatype: literal.datatype.value,
|
|
368
|
-
language: literal.language,
|
|
369
|
-
};
|
|
370
|
-
}
|
|
371
|
-
isQueryValueTerm(term) {
|
|
372
|
-
return term.termType === 'NamedNode' || term.termType === 'BlankNode' || term.termType === 'Literal';
|
|
373
|
-
}
|
|
374
|
-
toMissingModelsWarnings(missingModels) {
|
|
375
|
-
return missingModels.map((modelUri) => `Model not loaded: ${modelUri}`);
|
|
376
|
-
}
|
|
377
|
-
composeWarnings(modelUri, missingModels) {
|
|
378
|
-
const closureWarnings = [modelUri, ...this.importGraph.dependenciesOf(modelUri)]
|
|
379
|
-
.flatMap((uri) => this.aboxEntailmentCache.getValidationWarnings(uri));
|
|
380
|
-
return [...new Set([...this.toMissingModelsWarnings(missingModels), ...closureWarnings])];
|
|
381
|
-
}
|
|
382
|
-
getOrCreateFilteredStore(modelUri, queryContext) {
|
|
383
|
-
const cached = this.filteredStoreCache.get(modelUri);
|
|
384
|
-
if (cached && !this.dirtyFilteredStores.has(modelUri)) {
|
|
385
|
-
return cached;
|
|
386
|
-
}
|
|
387
|
-
const view = new MappedStoreView(this.reasoningStore.getStore(), queryContext.mappings);
|
|
388
|
-
this.filteredStoreCache.set(modelUri, view);
|
|
389
|
-
this.dirtyFilteredStores.delete(modelUri);
|
|
390
|
-
return view;
|
|
391
|
-
}
|
|
392
|
-
}
|
|
393
73
|
//# sourceMappingURL=owl-sparql.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"owl-sparql.js","sourceRoot":"","sources":["../../src/owl/owl-sparql.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"owl-sparql.js","sourceRoot":"","sources":["../../src/owl/owl-sparql.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Quad, Store } from 'n3';
|
|
2
|
+
import type { ModelDiff, ModelGraphs } from './owl-store.js';
|
|
3
|
+
import type { OwlStore, ScopeFactVisitor } from './owl-interfaces.js';
|
|
4
|
+
export declare class LeanReasoningStore implements OwlStore {
|
|
5
|
+
private readonly store;
|
|
6
|
+
private readonly modelGraphs;
|
|
7
|
+
private readonly entailedRows;
|
|
8
|
+
private readonly modelDataGen;
|
|
9
|
+
private bumpDataGen;
|
|
10
|
+
getModelDataGen(modelUri: string): number;
|
|
11
|
+
loadModel(modelUri: string, quads: Quad[]): void;
|
|
12
|
+
loadEntailments(modelUri: string, quads: Quad[]): void;
|
|
13
|
+
addEntailment(modelUri: string, q: Quad): void;
|
|
14
|
+
removeEntailment(modelUri: string, q: Quad): void;
|
|
15
|
+
applyModelDelta(modelUri: string, quads: Quad[], retracted: Quad[], asserted: Quad[]): void;
|
|
16
|
+
retractModel(modelUri: string): void;
|
|
17
|
+
diffModel(modelUri: string, newQuads: Quad[]): ModelDiff;
|
|
18
|
+
clearEntailments(modelUri: string): void;
|
|
19
|
+
graphs(modelUri: string): ModelGraphs;
|
|
20
|
+
getStore(): Store;
|
|
21
|
+
forEachAssertedFact(modelUri: string, visit: ScopeFactVisitor): void;
|
|
22
|
+
forEachEntailedFact(modelUri: string, visit: ScopeFactVisitor): void;
|
|
23
|
+
private resolveGraphs;
|
|
24
|
+
private graphsFromModelUri;
|
|
25
|
+
private requireGraphs;
|
|
26
|
+
private withGraph;
|
|
27
|
+
private removeGraph;
|
|
28
|
+
private quadKey;
|
|
29
|
+
}
|