@oml/owl 0.7.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/README.md +46 -0
- package/out/index.d.ts +10 -0
- package/out/index.js +12 -0
- package/out/index.js.map +1 -0
- package/out/owl/owl-abox.d.ts +79 -0
- package/out/owl/owl-abox.js +765 -0
- package/out/owl/owl-abox.js.map +1 -0
- package/out/owl/owl-imports.d.ts +9 -0
- package/out/owl/owl-imports.js +102 -0
- package/out/owl/owl-imports.js.map +1 -0
- package/out/owl/owl-interfaces.d.ts +121 -0
- package/out/owl/owl-interfaces.js +3 -0
- package/out/owl/owl-interfaces.js.map +1 -0
- package/out/owl/owl-mapper.d.ts +80 -0
- package/out/owl/owl-mapper.js +1217 -0
- package/out/owl/owl-mapper.js.map +1 -0
- package/out/owl/owl-service.d.ts +65 -0
- package/out/owl/owl-service.js +552 -0
- package/out/owl/owl-service.js.map +1 -0
- package/out/owl/owl-shacl.d.ts +28 -0
- package/out/owl/owl-shacl.js +337 -0
- package/out/owl/owl-shacl.js.map +1 -0
- package/out/owl/owl-sparql.d.ts +71 -0
- package/out/owl/owl-sparql.js +260 -0
- package/out/owl/owl-sparql.js.map +1 -0
- package/out/owl/owl-store.d.ts +32 -0
- package/out/owl/owl-store.js +142 -0
- package/out/owl/owl-store.js.map +1 -0
- package/out/owl/owl-tbox.d.ts +98 -0
- package/out/owl/owl-tbox.js +575 -0
- package/out/owl/owl-tbox.js.map +1 -0
- package/out/owl-module.d.ts +15 -0
- package/out/owl-module.js +22 -0
- package/out/owl-module.js.map +1 -0
- package/package.json +52 -0
- package/src/index.ts +12 -0
- package/src/owl/owl-abox.ts +930 -0
- package/src/owl/owl-imports.ts +108 -0
- package/src/owl/owl-interfaces.ts +145 -0
- package/src/owl/owl-mapper.ts +1510 -0
- package/src/owl/owl-service.ts +642 -0
- package/src/owl/owl-shacl.ts +400 -0
- package/src/owl/owl-sparql.ts +317 -0
- package/src/owl/owl-store.ts +173 -0
- package/src/owl/owl-tbox.ts +727 -0
- package/src/owl-module.ts +52 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owl-abox.js","sourceRoot":"","sources":["../../src/owl/owl-abox.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class ImportGraph {
|
|
2
|
+
private readonly imports;
|
|
3
|
+
private readonly importedBy;
|
|
4
|
+
update(modelUri: string, importedUris: string[]): void;
|
|
5
|
+
remove(modelUri: string): void;
|
|
6
|
+
directImportsOf(modelUri: string): string[];
|
|
7
|
+
dependentsOf(modelUri: string): string[];
|
|
8
|
+
dependenciesOf(modelUri: string): string[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
// Copyright (c) 2026 Modelware. All rights reserved.
|
|
2
|
+
export class ImportGraph {
|
|
3
|
+
constructor() {
|
|
4
|
+
// forward edges: A imports B
|
|
5
|
+
// modelUri -> set of URIs it directly imports
|
|
6
|
+
this.imports = new Map();
|
|
7
|
+
// reverse edges: B is imported by A
|
|
8
|
+
// modelUri -> set of URIs that directly depend on it
|
|
9
|
+
this.importedBy = new Map();
|
|
10
|
+
}
|
|
11
|
+
// Update the graph for a single document.
|
|
12
|
+
// Called from ReasoningService.onDocumentValidated.
|
|
13
|
+
// Replaces any existing import edges for this model.
|
|
14
|
+
update(modelUri, importedUris) {
|
|
15
|
+
const oldImports = this.imports.get(modelUri) ?? new Set();
|
|
16
|
+
for (const importedUri of oldImports) {
|
|
17
|
+
const upstream = this.importedBy.get(importedUri);
|
|
18
|
+
if (!upstream)
|
|
19
|
+
continue;
|
|
20
|
+
upstream.delete(modelUri);
|
|
21
|
+
if (upstream.size === 0) {
|
|
22
|
+
this.importedBy.delete(importedUri);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
const nextImports = new Set(importedUris);
|
|
26
|
+
this.imports.set(modelUri, nextImports);
|
|
27
|
+
for (const importedUri of nextImports) {
|
|
28
|
+
const upstream = this.importedBy.get(importedUri) ?? new Set();
|
|
29
|
+
upstream.add(modelUri);
|
|
30
|
+
this.importedBy.set(importedUri, upstream);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
// Remove a model from the graph entirely.
|
|
34
|
+
// Called when a document is removed from the workspace.
|
|
35
|
+
remove(modelUri) {
|
|
36
|
+
const ownImports = this.imports.get(modelUri) ?? new Set();
|
|
37
|
+
for (const importedUri of ownImports) {
|
|
38
|
+
const upstream = this.importedBy.get(importedUri);
|
|
39
|
+
if (!upstream)
|
|
40
|
+
continue;
|
|
41
|
+
upstream.delete(modelUri);
|
|
42
|
+
if (upstream.size === 0) {
|
|
43
|
+
this.importedBy.delete(importedUri);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
this.imports.delete(modelUri);
|
|
47
|
+
const directImporters = this.importedBy.get(modelUri) ?? new Set();
|
|
48
|
+
for (const importerUri of directImporters) {
|
|
49
|
+
const forward = this.imports.get(importerUri);
|
|
50
|
+
if (!forward)
|
|
51
|
+
continue;
|
|
52
|
+
forward.delete(modelUri);
|
|
53
|
+
if (forward.size === 0) {
|
|
54
|
+
this.imports.delete(importerUri);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
this.importedBy.delete(modelUri);
|
|
58
|
+
}
|
|
59
|
+
// Direct imports of a model - one hop only.
|
|
60
|
+
directImportsOf(modelUri) {
|
|
61
|
+
return [...(this.imports.get(modelUri) ?? [])];
|
|
62
|
+
}
|
|
63
|
+
// All models that transitively depend on modelUri.
|
|
64
|
+
// i.e. importers that would be affected by a change to modelUri.
|
|
65
|
+
dependentsOf(modelUri) {
|
|
66
|
+
const visited = new Set();
|
|
67
|
+
const worklist = [modelUri];
|
|
68
|
+
while (worklist.length > 0) {
|
|
69
|
+
const current = worklist.shift();
|
|
70
|
+
if (!current || visited.has(current))
|
|
71
|
+
continue;
|
|
72
|
+
visited.add(current);
|
|
73
|
+
const importers = this.importedBy.get(current) ?? new Set();
|
|
74
|
+
worklist.push(...importers);
|
|
75
|
+
}
|
|
76
|
+
visited.delete(modelUri);
|
|
77
|
+
return [...visited];
|
|
78
|
+
}
|
|
79
|
+
// Full transitive dependency closure of modelUri.
|
|
80
|
+
// i.e. everything modelUri imports, directly or transitively.
|
|
81
|
+
dependenciesOf(modelUri) {
|
|
82
|
+
const visited = new Set();
|
|
83
|
+
const visiting = new Set();
|
|
84
|
+
const ordered = [];
|
|
85
|
+
const visit = (uri) => {
|
|
86
|
+
if (visited.has(uri) || visiting.has(uri)) {
|
|
87
|
+
return;
|
|
88
|
+
}
|
|
89
|
+
visiting.add(uri);
|
|
90
|
+
const direct = [...(this.imports.get(uri) ?? new Set())].sort();
|
|
91
|
+
for (const dependency of direct) {
|
|
92
|
+
visit(dependency);
|
|
93
|
+
}
|
|
94
|
+
visiting.delete(uri);
|
|
95
|
+
visited.add(uri);
|
|
96
|
+
ordered.push(uri);
|
|
97
|
+
};
|
|
98
|
+
visit(modelUri);
|
|
99
|
+
return ordered.filter((uri) => uri !== modelUri);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
//# sourceMappingURL=owl-imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owl-imports.js","sourceRoot":"","sources":["../../src/owl/owl-imports.ts"],"names":[],"mappings":"AAAA,qDAAqD;AAErD,MAAM,OAAO,WAAW;IAAxB;QACI,6BAA6B;QAC7B,8CAA8C;QAC7B,YAAO,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE1D,oCAAoC;QACpC,qDAAqD;QACpC,eAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAkGjE,CAAC;IAhGG,0CAA0C;IAC1C,oDAAoD;IACpD,qDAAqD;IACrD,MAAM,CAAC,QAAgB,EAAE,YAAsB;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACnE,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACxC,KAAK,MAAM,WAAW,IAAI,WAAW,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACvE,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAC/C,CAAC;IACL,CAAC;IAED,0CAA0C;IAC1C,wDAAwD;IACxD,MAAM,CAAC,QAAgB;QACnB,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QACnE,KAAK,MAAM,WAAW,IAAI,UAAU,EAAE,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YACxB,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1B,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACxC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE9B,MAAM,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;QAC3E,KAAK,MAAM,WAAW,IAAI,eAAe,EAAE,CAAC;YACxC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YACzB,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACrB,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;YACrC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,4CAA4C;IAC5C,eAAe,CAAC,QAAgB;QAC5B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAED,mDAAmD;IACnD,iEAAiE;IACjE,YAAY,CAAC,QAAgB;QACzB,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE5B,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzB,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;gBAAE,SAAS;YAC/C,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACrB,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC;YACpE,QAAQ,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QAChC,CAAC;QAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACzB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,kDAAkD;IAClD,8DAA8D;IAC9D,cAAc,CAAC,QAAgB;QAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;QACnC,MAAM,OAAO,GAAa,EAAE,CAAC;QAE7B,MAAM,KAAK,GAAG,CAAC,GAAW,EAAQ,EAAE;YAChC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxC,OAAO;YACX,CAAC;YACD,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,EAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YACxE,KAAK,MAAM,UAAU,IAAI,MAAM,EAAE,CAAC;gBAC9B,KAAK,CAAC,UAAU,CAAC,CAAC;YACtB,CAAC;YACD,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,CAAC,CAAC;QAEF,KAAK,CAAC,QAAQ,CAAC,CAAC;QAChB,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,QAAQ,CAAC,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import type { NamedNode, Quad, Store } from 'n3';
|
|
2
|
+
import type * as RDF from '@rdfjs/types';
|
|
3
|
+
import type { Ontology } from '@oml/language';
|
|
4
|
+
import type { ChainingResult } from './owl-abox.js';
|
|
5
|
+
import type { ModelDiff, ModelGraphs } from './owl-store.js';
|
|
6
|
+
import type { TBoxIndex } from './owl-tbox.js';
|
|
7
|
+
export interface OwlMapper {
|
|
8
|
+
toQuads(ontology: Ontology): Quad[];
|
|
9
|
+
}
|
|
10
|
+
export interface OwlStore {
|
|
11
|
+
loadModel(modelUri: string, quads: Quad[]): void;
|
|
12
|
+
loadEntailments(modelUri: string, quads: Quad[]): void;
|
|
13
|
+
applyModelDelta(modelUri: string, quads: Quad[], retracted: Quad[], asserted: Quad[]): void;
|
|
14
|
+
retractModel(modelUri: string): void;
|
|
15
|
+
diffModel(modelUri: string, newQuads: Quad[]): ModelDiff;
|
|
16
|
+
clearEntailments(modelUri: string): void;
|
|
17
|
+
graphs(modelUri: string): ModelGraphs;
|
|
18
|
+
getStore(): Store;
|
|
19
|
+
}
|
|
20
|
+
export interface OwlImportGraph {
|
|
21
|
+
update(modelUri: string, importedUris: string[]): void;
|
|
22
|
+
remove(modelUri: string): void;
|
|
23
|
+
directImportsOf(modelUri: string): string[];
|
|
24
|
+
dependentsOf(modelUri: string): string[];
|
|
25
|
+
dependenciesOf(modelUri: string): string[];
|
|
26
|
+
}
|
|
27
|
+
export interface OwlTBoxChainer {
|
|
28
|
+
chain(modelUri: string): void;
|
|
29
|
+
}
|
|
30
|
+
export interface OwlTBoxIndexBuilder {
|
|
31
|
+
buildOwn(modelUri: string, ontology?: Ontology): TBoxIndex;
|
|
32
|
+
buildMerged(modelUri: string): TBoxIndex;
|
|
33
|
+
}
|
|
34
|
+
export interface OwlTBoxIndexCache {
|
|
35
|
+
getOwn(modelUri: string): TBoxIndex | undefined;
|
|
36
|
+
setOwn(modelUri: string, index: TBoxIndex): void;
|
|
37
|
+
hasOwn(modelUri: string): boolean;
|
|
38
|
+
invalidateOwn(modelUri: string): void;
|
|
39
|
+
getMerged(modelUri: string): TBoxIndex | undefined;
|
|
40
|
+
setMerged(modelUri: string, index: TBoxIndex): void;
|
|
41
|
+
hasMerged(modelUri: string): boolean;
|
|
42
|
+
isMergedDirty(modelUri: string): boolean;
|
|
43
|
+
invalidateMerged(modelUri: string): void;
|
|
44
|
+
invalidateMergedAll(modelUris: string[]): void;
|
|
45
|
+
}
|
|
46
|
+
export interface OwlABoxChainer {
|
|
47
|
+
chain(modelUri: string, tboxIndex: TBoxIndex, readModelUris: ReadonlyArray<string>, deltaPlus: Quad[], deltaMinus: Quad[]): ChainingResult;
|
|
48
|
+
}
|
|
49
|
+
export interface OwlABoxEntailmentState {
|
|
50
|
+
markDirty(modelUri: string): void;
|
|
51
|
+
markDirtyWithDelta(modelUri: string, asserted: Quad[], retracted: Quad[]): void;
|
|
52
|
+
markClean(modelUri: string): void;
|
|
53
|
+
markDirtyAll(modelUris: string[]): void;
|
|
54
|
+
isDirty(modelUri: string): boolean;
|
|
55
|
+
isAbsent(modelUri: string): boolean;
|
|
56
|
+
consumeDelta(modelUri: string): {
|
|
57
|
+
plus: Quad[];
|
|
58
|
+
minus: Quad[];
|
|
59
|
+
};
|
|
60
|
+
getValidationWarnings(modelUri: string): string[];
|
|
61
|
+
setValidationWarnings(modelUri: string, warnings: string[]): void;
|
|
62
|
+
invalidate(modelUri: string): void;
|
|
63
|
+
}
|
|
64
|
+
export interface OwlInferenceRunner {
|
|
65
|
+
runInference(modelUri: string): ChainingResult;
|
|
66
|
+
}
|
|
67
|
+
export interface OwlQueryTerm {
|
|
68
|
+
termType: 'NamedNode' | 'Literal' | 'BlankNode';
|
|
69
|
+
value: string;
|
|
70
|
+
datatype?: string;
|
|
71
|
+
language?: string;
|
|
72
|
+
}
|
|
73
|
+
export type OwlQueryRow = Map<string, OwlQueryTerm>;
|
|
74
|
+
export interface OwlQueryResult {
|
|
75
|
+
success: boolean;
|
|
76
|
+
rows: OwlQueryRow[];
|
|
77
|
+
warnings: string[];
|
|
78
|
+
error?: string;
|
|
79
|
+
}
|
|
80
|
+
export interface OwlConstructResult {
|
|
81
|
+
success: boolean;
|
|
82
|
+
quads: RDF.Quad[];
|
|
83
|
+
warnings: string[];
|
|
84
|
+
error?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface OwlSparqlService {
|
|
87
|
+
invalidateFilteredStore(modelUri: string): void;
|
|
88
|
+
removeFilteredStore(modelUri: string): void;
|
|
89
|
+
query(modelUri: string, sparql: string): Promise<OwlQueryResult>;
|
|
90
|
+
construct(modelUri: string, sparql: string): Promise<OwlConstructResult>;
|
|
91
|
+
}
|
|
92
|
+
export interface OwlShaclValidationIssue {
|
|
93
|
+
message: string;
|
|
94
|
+
focusNode?: string;
|
|
95
|
+
path?: string;
|
|
96
|
+
propertyName?: string;
|
|
97
|
+
severity?: string;
|
|
98
|
+
source?: string;
|
|
99
|
+
}
|
|
100
|
+
export interface OwlShaclValidationResult {
|
|
101
|
+
conforms: boolean;
|
|
102
|
+
issues: OwlShaclValidationIssue[];
|
|
103
|
+
error?: string;
|
|
104
|
+
}
|
|
105
|
+
export interface OwlShaclService {
|
|
106
|
+
validateShacl(modelUri: string | undefined, shaclSource: string): Promise<OwlShaclValidationResult>;
|
|
107
|
+
}
|
|
108
|
+
export interface OwlReasoningDependencies {
|
|
109
|
+
mapper: OwlMapper;
|
|
110
|
+
reasoningStore: OwlStore;
|
|
111
|
+
importGraph: OwlImportGraph;
|
|
112
|
+
tboxChainer: OwlTBoxChainer;
|
|
113
|
+
tboxIndexBuilder: OwlTBoxIndexBuilder;
|
|
114
|
+
tboxIndexCache: OwlTBoxIndexCache;
|
|
115
|
+
aboxChainer: OwlABoxChainer;
|
|
116
|
+
aboxEntailmentCache: OwlABoxEntailmentState;
|
|
117
|
+
createSparqlService: (runner: OwlInferenceRunner) => OwlSparqlService;
|
|
118
|
+
}
|
|
119
|
+
export interface OwlGraphResolver {
|
|
120
|
+
getQueryGraphs(modelUri: string): NamedNode[];
|
|
121
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owl-interfaces.js","sourceRoot":"","sources":["../../src/owl/owl-interfaces.ts"],"names":[],"mappings":"AAAA,qDAAqD"}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { Quad } from 'n3';
|
|
2
|
+
import type { Ontology } from '@oml/language';
|
|
3
|
+
export interface Oml2OwlMapperOptions {
|
|
4
|
+
emitSwrlRules?: boolean;
|
|
5
|
+
emitRelationEntitySwrlRules?: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare const OWL_ONTOLOGY_IRI = "http://opencaesar.io/oml";
|
|
8
|
+
export declare const OWL_ONTOLOGY_NAMESPACE = "http://opencaesar.io/oml#";
|
|
9
|
+
export declare const OWL_ONTOLOGY_PREFIX = "oml";
|
|
10
|
+
/**
|
|
11
|
+
* Maps an OML ontology AST into asserted RDF triples.
|
|
12
|
+
* This mirrors the high-level structure of the Java Oml2Owl mapping while focusing on asserted triples.
|
|
13
|
+
*/
|
|
14
|
+
export declare class Oml2OwlMapper {
|
|
15
|
+
private readonly options;
|
|
16
|
+
constructor(options?: Oml2OwlMapperOptions);
|
|
17
|
+
toQuads(ontology: Ontology): Quad[];
|
|
18
|
+
private mapVocabularyStatement;
|
|
19
|
+
private mapDescriptionStatement;
|
|
20
|
+
private mapAspect;
|
|
21
|
+
private mapConcept;
|
|
22
|
+
private mapRelationEntity;
|
|
23
|
+
private mapUnreifiedRelation;
|
|
24
|
+
private mapReverseRelation;
|
|
25
|
+
private mapScalar;
|
|
26
|
+
private mapAnnotationProperty;
|
|
27
|
+
private mapScalarProperty;
|
|
28
|
+
private mapConceptInstance;
|
|
29
|
+
private mapRelationInstance;
|
|
30
|
+
private mapRule;
|
|
31
|
+
private mapBuiltIn;
|
|
32
|
+
private mapRelationEntityForwardRule;
|
|
33
|
+
private mapRulePredicates;
|
|
34
|
+
private mapRulePredicate;
|
|
35
|
+
private toSwrlIArgument;
|
|
36
|
+
private toSwrlDArgument;
|
|
37
|
+
private toSwrlVariable;
|
|
38
|
+
private mapTypeAssertion;
|
|
39
|
+
private mapPropertyValueAssertion;
|
|
40
|
+
private mapAnnotations;
|
|
41
|
+
private mapAnonymousInstance;
|
|
42
|
+
private applySpecializations;
|
|
43
|
+
private applyEquivalences;
|
|
44
|
+
private applyKeys;
|
|
45
|
+
private applyScalarEquivalences;
|
|
46
|
+
private applyInstanceEnumeration;
|
|
47
|
+
private applyScalarEnumeration;
|
|
48
|
+
private applyPropertyEquivalences;
|
|
49
|
+
private applyPropertyRestrictions;
|
|
50
|
+
private createScalarFacetRestrictionNodes;
|
|
51
|
+
private mapRestriction;
|
|
52
|
+
private mapRangeRestriction;
|
|
53
|
+
private mapCardinalityRestriction;
|
|
54
|
+
private mapValueRestriction;
|
|
55
|
+
private mapSelfRestriction;
|
|
56
|
+
private applyDomainRange;
|
|
57
|
+
private applyDomains;
|
|
58
|
+
private applyRanges;
|
|
59
|
+
private applyObjectPropertyCharacteristics;
|
|
60
|
+
private quadWithGraph;
|
|
61
|
+
private createRdfList;
|
|
62
|
+
private createSwrlAtomList;
|
|
63
|
+
private createContext;
|
|
64
|
+
private buildPrefixMap;
|
|
65
|
+
private ontologyTypeIri;
|
|
66
|
+
private importedOntologyIri;
|
|
67
|
+
private getForwardIri;
|
|
68
|
+
private elementIri;
|
|
69
|
+
private getOntology;
|
|
70
|
+
private resolveIri;
|
|
71
|
+
private resolveFromRefText;
|
|
72
|
+
private normalizeNamespace;
|
|
73
|
+
private termKey;
|
|
74
|
+
private literalKey;
|
|
75
|
+
private toLiteral;
|
|
76
|
+
private toFirstUpper;
|
|
77
|
+
private deduplicateQuads;
|
|
78
|
+
}
|
|
79
|
+
export declare function createOwlOntologyQuads(): Quad[];
|
|
80
|
+
export declare function owlOntologyPrefixes(): Record<string, string>;
|