@faubulous/mentor-rdf 0.1.8 → 0.1.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.
- package/{dist → out}/rdf/class-repository.d.ts +14 -6
- package/{dist → out}/rdf/class-repository.js +36 -20
- package/out/rdf/class-repository.js.map +1 -0
- package/{dist → out}/rdf/index.d.ts +6 -5
- package/{dist → out}/rdf/index.js +6 -5
- package/out/rdf/index.js.map +1 -0
- package/out/rdf/parsers/rdf-syntax.d.ts +14 -0
- package/out/rdf/parsers/rdf-syntax.js +19 -0
- package/out/rdf/parsers/rdf-syntax.js.map +1 -0
- package/out/rdf/parsers/tokenizer.d.ts +17 -0
- package/out/rdf/parsers/tokenizer.js +30 -0
- package/out/rdf/parsers/tokenizer.js.map +1 -0
- package/out/rdf/parsers/trig-syntax-parser.d.ts +13 -0
- package/out/rdf/parsers/trig-syntax-parser.js +29 -0
- package/out/rdf/parsers/trig-syntax-parser.js.map +1 -0
- package/out/rdf/parsing/rdf-syntax.d.ts +11 -0
- package/out/rdf/parsing/rdf-syntax.js +16 -0
- package/out/rdf/parsing/rdf-syntax.js.map +1 -0
- package/out/rdf/parsing/tokenizer.d.ts +11 -0
- package/out/rdf/parsing/tokenizer.js +31 -0
- package/out/rdf/parsing/tokenizer.js.map +1 -0
- package/out/rdf/parsing/trig-syntax-parser.d.ts +10 -0
- package/out/rdf/parsing/trig-syntax-parser.js +26 -0
- package/out/rdf/parsing/trig-syntax-parser.js.map +1 -0
- package/{dist → out}/rdf/property-repository.js.map +1 -1
- package/{dist/rdf → out/rdf/reasoners}/owl-reasoner.js +1 -1
- package/out/rdf/reasoners/owl-reasoner.js.map +1 -0
- package/out/rdf/reasoners/rdfs-reasoner.js +118 -0
- package/out/rdf/reasoners/rdfs-reasoner.js.map +1 -0
- package/{dist/rdf → out/rdf/reasoners}/reasoner.js.map +1 -1
- package/out/rdf/reasoning/owl-reasoner.d.ts +9 -0
- package/out/rdf/reasoning/owl-reasoner.js +109 -0
- package/out/rdf/reasoning/owl-reasoner.js.map +1 -0
- package/out/rdf/reasoning/rdfs-reasoner.d.ts +12 -0
- package/{dist/rdf → out/rdf/reasoning}/rdfs-reasoner.js +1 -1
- package/out/rdf/reasoning/rdfs-reasoner.js.map +1 -0
- package/out/rdf/reasoning/reasoner.d.ts +10 -0
- package/out/rdf/reasoning/reasoner.js +3 -0
- package/out/rdf/reasoning/reasoner.js.map +1 -0
- package/{dist → out}/rdf/store-factory.d.ts +1 -8
- package/{dist → out}/rdf/store-factory.js +1 -15
- package/out/rdf/store-factory.js.map +1 -0
- package/out/rdf/tests/helpers.d.ts +19 -0
- package/out/rdf/tests/helpers.js +36 -0
- package/out/rdf/tests/helpers.js.map +1 -0
- package/out/rdf/tests/ontologies/gist.d.ts +1067 -0
- package/out/rdf/tests/ontologies/gist.js +1072 -0
- package/out/rdf/tests/ontologies/gist.js.map +1 -0
- package/out/rdf/tests/ontologies/index.d.ts +2 -0
- package/out/rdf/tests/ontologies/index.js +6 -0
- package/out/rdf/tests/ontologies/index.js.map +1 -0
- package/out/rdf/tests/ontologies/schema.d.ts +12075 -0
- package/out/rdf/tests/ontologies/schema.js +12080 -0
- package/out/rdf/tests/ontologies/schema.js.map +1 -0
- package/package.json +59 -57
- package/dist/rdf/class-repository.js.map +0 -1
- package/dist/rdf/index.js.map +0 -1
- package/dist/rdf/owl-reasoner.js.map +0 -1
- package/dist/rdf/rdfs-reasoner.js.map +0 -1
- package/dist/rdf/store-factory.js.map +0 -1
- /package/{dist → out}/index.d.ts +0 -0
- /package/{dist → out}/index.js +0 -0
- /package/{dist → out}/index.js.map +0 -0
- /package/{dist → out}/ontologies/index.d.ts +0 -0
- /package/{dist → out}/ontologies/index.js +0 -0
- /package/{dist → out}/ontologies/index.js.map +0 -0
- /package/{dist → out}/ontologies/owl.d.ts +0 -0
- /package/{dist → out}/ontologies/owl.js +0 -0
- /package/{dist → out}/ontologies/owl.js.map +0 -0
- /package/{dist → out}/ontologies/rdf.d.ts +0 -0
- /package/{dist → out}/ontologies/rdf.js +0 -0
- /package/{dist → out}/ontologies/rdf.js.map +0 -0
- /package/{dist → out}/ontologies/rdfa.d.ts +0 -0
- /package/{dist → out}/ontologies/rdfa.js +0 -0
- /package/{dist → out}/ontologies/rdfa.js.map +0 -0
- /package/{dist → out}/ontologies/rdfs.d.ts +0 -0
- /package/{dist → out}/ontologies/rdfs.js +0 -0
- /package/{dist → out}/ontologies/rdfs.js.map +0 -0
- /package/{dist → out}/ontologies/shacl.d.ts +0 -0
- /package/{dist → out}/ontologies/shacl.js +0 -0
- /package/{dist → out}/ontologies/shacl.js.map +0 -0
- /package/{dist → out}/ontologies/skos.d.ts +0 -0
- /package/{dist → out}/ontologies/skos.js +0 -0
- /package/{dist → out}/ontologies/skos.js.map +0 -0
- /package/{dist → out}/ontologies/xsd.d.ts +0 -0
- /package/{dist → out}/ontologies/xsd.js +0 -0
- /package/{dist → out}/ontologies/xsd.js.map +0 -0
- /package/{dist → out}/rdf/individual-repository.d.ts +0 -0
- /package/{dist → out}/rdf/individual-repository.js +0 -0
- /package/{dist → out}/rdf/individual-repository.js.map +0 -0
- /package/{dist → out}/rdf/property-repository.d.ts +0 -0
- /package/{dist → out}/rdf/property-repository.js +0 -0
- /package/{dist/rdf → out/rdf/reasoners}/owl-reasoner.d.ts +0 -0
- /package/{dist/rdf → out/rdf/reasoners}/rdfs-reasoner.d.ts +0 -0
- /package/{dist/rdf → out/rdf/reasoners}/reasoner.d.ts +0 -0
- /package/{dist/rdf → out/rdf/reasoners}/reasoner.js +0 -0
- /package/{dist → out}/rdf/resource-repository.d.ts +0 -0
- /package/{dist → out}/rdf/resource-repository.js +0 -0
- /package/{dist → out}/rdf/resource-repository.js.map +0 -0
- /package/{dist → out}/rdf/test/ontologies/gist.d.ts +0 -0
- /package/{dist → out}/rdf/test/ontologies/gist.js +0 -0
- /package/{dist → out}/rdf/test/ontologies/gist.js.map +0 -0
- /package/{dist → out}/rdf/test/ontologies/index.d.ts +0 -0
- /package/{dist → out}/rdf/test/ontologies/index.js +0 -0
- /package/{dist → out}/rdf/test/ontologies/index.js.map +0 -0
- /package/{dist → out}/rdf/test/ontologies/schema.d.ts +0 -0
- /package/{dist → out}/rdf/test/ontologies/schema.js +0 -0
- /package/{dist → out}/rdf/test/ontologies/schema.js.map +0 -0
- /package/{dist → out}/rdf/vocabulary-generator.d.ts +0 -0
- /package/{dist → out}/rdf/vocabulary-generator.js +0 -0
- /package/{dist → out}/rdf/vocabulary-generator.js.map +0 -0
|
@@ -1,21 +1,28 @@
|
|
|
1
1
|
import * as n3 from "n3";
|
|
2
2
|
import { ResourceRepository } from "./resource-repository";
|
|
3
|
+
interface ClassRetrievalOptions {
|
|
4
|
+
/**
|
|
5
|
+
* Indicate if classes what are not defined in the ontology should be included when retrieving classes (default true).
|
|
6
|
+
*/
|
|
7
|
+
includeReferencedClasses?: boolean;
|
|
8
|
+
}
|
|
3
9
|
/**
|
|
4
10
|
* A repository for retrieving classes from graphs.
|
|
5
11
|
*/
|
|
6
12
|
export declare class ClassRepository extends ResourceRepository {
|
|
7
13
|
constructor(store: n3.Store);
|
|
14
|
+
private _skip;
|
|
8
15
|
/**
|
|
9
16
|
* Get all classes in the repository.
|
|
10
17
|
* @returns A list of all classes in the repository.
|
|
11
18
|
*/
|
|
12
|
-
getClasses(): string[];
|
|
19
|
+
getClasses(options?: ClassRetrievalOptions): string[];
|
|
13
20
|
/**
|
|
14
21
|
* Get the super classes of a given class.
|
|
15
22
|
* @param subject URI of a class.
|
|
16
23
|
* @returns An array of super classes of the given class, an empty array if the class has no super classes.
|
|
17
24
|
*/
|
|
18
|
-
getSuperClasses(subject: string): string[];
|
|
25
|
+
getSuperClasses(subject: string, options?: ClassRetrievalOptions): string[];
|
|
19
26
|
/**
|
|
20
27
|
* Recursively find the first path from a given class to a root class.
|
|
21
28
|
* @param subject URI of a class.
|
|
@@ -29,24 +36,24 @@ export declare class ClassRepository extends ResourceRepository {
|
|
|
29
36
|
* @param subject URI of a class.
|
|
30
37
|
* @returns A string array containing the first path that is found from the given class to a root class.
|
|
31
38
|
*/
|
|
32
|
-
getRootClassPath(subject: string): string[];
|
|
39
|
+
getRootClassPath(subject: string, options?: ClassRetrievalOptions): string[];
|
|
33
40
|
/**
|
|
34
41
|
* Indicate if there are sub classes of a given class.
|
|
35
42
|
* @param subject URI of a class.
|
|
36
43
|
* @returns true if the class has sub classes, false otherwise.
|
|
37
44
|
*/
|
|
38
|
-
hasSubClasses(subject: string): boolean;
|
|
45
|
+
hasSubClasses(subject: string, options?: ClassRetrievalOptions): boolean;
|
|
39
46
|
/**
|
|
40
47
|
* Get the sub classes of a given class or all root classes.
|
|
41
48
|
* @param subject URI of a class or undefined to get all root classes.
|
|
42
49
|
* @returns An array of sub classes of the given class, an empty array if the class has no sub classes.
|
|
43
50
|
*/
|
|
44
|
-
getSubClasses(subject?: string): string[];
|
|
51
|
+
getSubClasses(subject?: string, options?: ClassRetrievalOptions): string[];
|
|
45
52
|
/**
|
|
46
53
|
* Get all classes from the repository that have no super classes.
|
|
47
54
|
* @returns An array of root classes in the repository.
|
|
48
55
|
*/
|
|
49
|
-
getRootClasses(): string[];
|
|
56
|
+
getRootClasses(options?: ClassRetrievalOptions): string[];
|
|
50
57
|
/**
|
|
51
58
|
* Indicate if there is an equivalent class of a given class.
|
|
52
59
|
* @param subject URI of a class.
|
|
@@ -54,3 +61,4 @@ export declare class ClassRepository extends ResourceRepository {
|
|
|
54
61
|
*/
|
|
55
62
|
hasEquivalentClass(uri: string): boolean;
|
|
56
63
|
}
|
|
64
|
+
export {};
|
|
@@ -10,15 +10,24 @@ const resource_repository_1 = require("./resource-repository");
|
|
|
10
10
|
*/
|
|
11
11
|
class ClassRepository extends resource_repository_1.ResourceRepository {
|
|
12
12
|
constructor(store) { super(store); }
|
|
13
|
+
_skip(node, options) {
|
|
14
|
+
if (node.termType != "NamedNode") {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if ((options === null || options === void 0 ? void 0 : options.includeReferencedClasses) === false && !this.hasSubject(node.value)) {
|
|
18
|
+
return true;
|
|
19
|
+
}
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
13
22
|
/**
|
|
14
23
|
* Get all classes in the repository.
|
|
15
24
|
* @returns A list of all classes in the repository.
|
|
16
25
|
*/
|
|
17
|
-
getClasses() {
|
|
26
|
+
getClasses(options) {
|
|
18
27
|
const result = new Set();
|
|
19
28
|
for (let q of this.store.match(null, ontologies_1.rdf.type, ontologies_1.rdfs.Class)) {
|
|
20
29
|
const s = q.subject;
|
|
21
|
-
if (s
|
|
30
|
+
if (this._skip(s, options)) {
|
|
22
31
|
continue;
|
|
23
32
|
}
|
|
24
33
|
result.add(s.value);
|
|
@@ -30,17 +39,17 @@ class ClassRepository extends resource_repository_1.ResourceRepository {
|
|
|
30
39
|
* @param subject URI of a class.
|
|
31
40
|
* @returns An array of super classes of the given class, an empty array if the class has no super classes.
|
|
32
41
|
*/
|
|
33
|
-
getSuperClasses(subject) {
|
|
34
|
-
const result =
|
|
42
|
+
getSuperClasses(subject, options) {
|
|
43
|
+
const result = new Set();
|
|
35
44
|
const s = n3.DataFactory.namedNode(subject);
|
|
36
45
|
for (let q of this.store.match(s, ontologies_1.rdfs.subClassOf, null)) {
|
|
37
46
|
const o = q.object;
|
|
38
|
-
if (o
|
|
47
|
+
if (this._skip(o, options)) {
|
|
39
48
|
continue;
|
|
40
49
|
}
|
|
41
|
-
result.
|
|
50
|
+
result.add(o.value);
|
|
42
51
|
}
|
|
43
|
-
return result;
|
|
52
|
+
return Array.from(result);
|
|
44
53
|
}
|
|
45
54
|
/**
|
|
46
55
|
* Recursively find the first path from a given class to a root class.
|
|
@@ -49,10 +58,10 @@ class ClassRepository extends resource_repository_1.ResourceRepository {
|
|
|
49
58
|
* @param backtrack Set of URIs that have already been visited.
|
|
50
59
|
* @returns The first path that is found from the given class to a root class.
|
|
51
60
|
*/
|
|
52
|
-
_getRootClassPath(subject, path, backtrack) {
|
|
53
|
-
const superClasses = this.getSuperClasses(subject);
|
|
61
|
+
_getRootClassPath(subject, path, backtrack, options) {
|
|
62
|
+
const superClasses = this.getSuperClasses(subject, options);
|
|
54
63
|
for (let o of superClasses.filter(o => !backtrack.has(o))) {
|
|
55
|
-
return this._getRootClassPath(o, [...path, o], backtrack);
|
|
64
|
+
return this._getRootClassPath(o, [...path, o], backtrack, options);
|
|
56
65
|
}
|
|
57
66
|
return path;
|
|
58
67
|
}
|
|
@@ -61,18 +70,23 @@ class ClassRepository extends resource_repository_1.ResourceRepository {
|
|
|
61
70
|
* @param subject URI of a class.
|
|
62
71
|
* @returns A string array containing the first path that is found from the given class to a root class.
|
|
63
72
|
*/
|
|
64
|
-
getRootClassPath(subject) {
|
|
65
|
-
return this._getRootClassPath(subject, [], new Set());
|
|
73
|
+
getRootClassPath(subject, options) {
|
|
74
|
+
return this._getRootClassPath(subject, [], new Set(), options);
|
|
66
75
|
}
|
|
67
76
|
/**
|
|
68
77
|
* Indicate if there are sub classes of a given class.
|
|
69
78
|
* @param subject URI of a class.
|
|
70
79
|
* @returns true if the class has sub classes, false otherwise.
|
|
71
80
|
*/
|
|
72
|
-
hasSubClasses(subject) {
|
|
81
|
+
hasSubClasses(subject, options) {
|
|
73
82
|
const o = n3.DataFactory.namedNode(subject);
|
|
74
83
|
for (let _q of this.store.match(null, ontologies_1.rdfs.subClassOf, o)) {
|
|
75
|
-
|
|
84
|
+
if (this._skip(_q.subject, options)) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
return true;
|
|
89
|
+
}
|
|
76
90
|
}
|
|
77
91
|
return false;
|
|
78
92
|
}
|
|
@@ -81,13 +95,13 @@ class ClassRepository extends resource_repository_1.ResourceRepository {
|
|
|
81
95
|
* @param subject URI of a class or undefined to get all root classes.
|
|
82
96
|
* @returns An array of sub classes of the given class, an empty array if the class has no sub classes.
|
|
83
97
|
*/
|
|
84
|
-
getSubClasses(subject) {
|
|
98
|
+
getSubClasses(subject, options) {
|
|
85
99
|
if (subject) {
|
|
86
100
|
const result = new Set();
|
|
87
101
|
const o = n3.DataFactory.namedNode(subject);
|
|
88
102
|
for (let q of this.store.match(null, ontologies_1.rdfs.subClassOf, o)) {
|
|
89
103
|
const s = q.subject;
|
|
90
|
-
if (s
|
|
104
|
+
if (this._skip(s, options)) {
|
|
91
105
|
continue;
|
|
92
106
|
}
|
|
93
107
|
result.add(s.value);
|
|
@@ -95,27 +109,29 @@ class ClassRepository extends resource_repository_1.ResourceRepository {
|
|
|
95
109
|
return Array.from(result);
|
|
96
110
|
}
|
|
97
111
|
else {
|
|
98
|
-
return this.getRootClasses();
|
|
112
|
+
return this.getRootClasses(options);
|
|
99
113
|
}
|
|
100
114
|
}
|
|
101
115
|
/**
|
|
102
116
|
* Get all classes from the repository that have no super classes.
|
|
103
117
|
* @returns An array of root classes in the repository.
|
|
104
118
|
*/
|
|
105
|
-
getRootClasses() {
|
|
119
|
+
getRootClasses(options) {
|
|
106
120
|
const classes = new Set();
|
|
107
121
|
const subclasses = new Set();
|
|
122
|
+
// 1. Get all classes that are defined in the ontology.
|
|
108
123
|
for (let q of this.store.match(null, ontologies_1.rdf.type, ontologies_1.rdfs.Class)) {
|
|
109
124
|
const s = q.subject;
|
|
110
|
-
if (s
|
|
125
|
+
if (this._skip(s, options)) {
|
|
111
126
|
continue;
|
|
112
127
|
}
|
|
113
128
|
classes.add(s.value);
|
|
114
129
|
}
|
|
130
|
+
// 2. Get all classes that have a sub class relationship.
|
|
115
131
|
for (let q of this.store.match(null, ontologies_1.rdfs.subClassOf, null)) {
|
|
116
132
|
const s = q.subject;
|
|
117
133
|
const o = q.object;
|
|
118
|
-
if (s
|
|
134
|
+
if (this._skip(s, options) || this._skip(o, options)) {
|
|
119
135
|
continue;
|
|
120
136
|
}
|
|
121
137
|
classes.add(s.value);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"class-repository.js","sourceRoot":"","sources":["../../src/rdf/class-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
export * from "./resource-repository";
|
|
2
1
|
export * from "./class-repository";
|
|
3
|
-
export * from "./property-repository";
|
|
4
2
|
export * from "./individual-repository";
|
|
5
|
-
export * from "./
|
|
6
|
-
export * from "./
|
|
3
|
+
export * from "./parsers/rdf-syntax";
|
|
4
|
+
export * from "./parsers/tokenizer";
|
|
5
|
+
export * from "./property-repository";
|
|
6
|
+
export * from "./reasoners/owl-reasoner";
|
|
7
|
+
export * from "./reasoners/rdfs-reasoner";
|
|
8
|
+
export * from "./resource-repository";
|
|
7
9
|
export * from "./store-factory";
|
|
8
|
-
export * from "./vocabulary-generator";
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const tslib_1 = require("tslib");
|
|
4
|
-
tslib_1.__exportStar(require("./resource-repository"), exports);
|
|
5
4
|
tslib_1.__exportStar(require("./class-repository"), exports);
|
|
6
|
-
tslib_1.__exportStar(require("./property-repository"), exports);
|
|
7
5
|
tslib_1.__exportStar(require("./individual-repository"), exports);
|
|
8
|
-
tslib_1.__exportStar(require("./
|
|
9
|
-
tslib_1.__exportStar(require("./
|
|
6
|
+
tslib_1.__exportStar(require("./parsers/rdf-syntax"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./parsers/tokenizer"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./property-repository"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./reasoners/owl-reasoner"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./reasoners/rdfs-reasoner"), exports);
|
|
11
|
+
tslib_1.__exportStar(require("./resource-repository"), exports);
|
|
10
12
|
tslib_1.__exportStar(require("./store-factory"), exports);
|
|
11
|
-
tslib_1.__exportStar(require("./vocabulary-generator"), exports);
|
|
12
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/rdf/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC,+DAAqC;AACrC,8DAAoC;AACpC,gEAAsC;AACtC,mEAAyC;AACzC,oEAA0C;AAC1C,gEAAsC;AACtC,0DAAgC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enumerates the RDF syntaxes supported by the Mentor RDF library.
|
|
3
|
+
*/
|
|
4
|
+
export declare enum RdfSyntax {
|
|
5
|
+
N3 = "n3",
|
|
6
|
+
NTriples = "ntriples",
|
|
7
|
+
NQuads = "nquads",
|
|
8
|
+
Turtle = "turtle",
|
|
9
|
+
TriG = "trig",
|
|
10
|
+
TriX = "trix",
|
|
11
|
+
JsonLd = "jsonld",
|
|
12
|
+
RdfXml = "rdfxml",
|
|
13
|
+
Sparql = "sparql"
|
|
14
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RdfSyntax = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Enumerates the RDF syntaxes supported by the Mentor RDF library.
|
|
6
|
+
*/
|
|
7
|
+
var RdfSyntax;
|
|
8
|
+
(function (RdfSyntax) {
|
|
9
|
+
RdfSyntax["N3"] = "n3";
|
|
10
|
+
RdfSyntax["NTriples"] = "ntriples";
|
|
11
|
+
RdfSyntax["NQuads"] = "nquads";
|
|
12
|
+
RdfSyntax["Turtle"] = "turtle";
|
|
13
|
+
RdfSyntax["TriG"] = "trig";
|
|
14
|
+
RdfSyntax["TriX"] = "trix";
|
|
15
|
+
RdfSyntax["JsonLd"] = "jsonld";
|
|
16
|
+
RdfSyntax["RdfXml"] = "rdfxml";
|
|
17
|
+
RdfSyntax["Sparql"] = "sparql";
|
|
18
|
+
})(RdfSyntax || (exports.RdfSyntax = RdfSyntax = {}));
|
|
19
|
+
//# sourceMappingURL=rdf-syntax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rdf-syntax.js","sourceRoot":"","sources":["../../../src/rdf/parsers/rdf-syntax.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,sBAAS,CAAA;IACT,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACrB,CAAC,EAVW,SAAS,yBAAT,SAAS,QAUpB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { IRecognitionException } from "chevrotain";
|
|
2
|
+
import { IToken } from "millan";
|
|
3
|
+
import { RdfSyntax } from "./rdf-syntax";
|
|
4
|
+
/**
|
|
5
|
+
* Parse result of the RDF tokenizer.
|
|
6
|
+
*/
|
|
7
|
+
export interface TokenizerResult {
|
|
8
|
+
tokens: IToken[];
|
|
9
|
+
syntaxErrors: IRecognitionException[];
|
|
10
|
+
semanticErrors: IRecognitionException[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Parses RDF data into tokens.
|
|
14
|
+
*/
|
|
15
|
+
export declare class Tokenizer {
|
|
16
|
+
static parseData(data: string, syntax: RdfSyntax): Promise<TokenizerResult>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tokenizer = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const millan_1 = require("millan");
|
|
6
|
+
const rdf_syntax_1 = require("./rdf-syntax");
|
|
7
|
+
const trig_syntax_parser_1 = require("./trig-syntax-parser");
|
|
8
|
+
/**
|
|
9
|
+
* Parses RDF data into tokens.
|
|
10
|
+
*/
|
|
11
|
+
class Tokenizer {
|
|
12
|
+
static parseData(data, syntax) {
|
|
13
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
14
|
+
if (syntax === rdf_syntax_1.RdfSyntax.Sparql) {
|
|
15
|
+
const parser = new millan_1.W3SpecSparqlParser();
|
|
16
|
+
const { errors, comments } = parser.parse(data);
|
|
17
|
+
const tokens = comments ? [...parser.input, ...comments] : parser.input;
|
|
18
|
+
return { tokens, syntaxErrors: errors, semanticErrors: [] };
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
const parser = new trig_syntax_parser_1.TrigSyntaxParser();
|
|
22
|
+
const { errors, semanticErrors, comments } = parser.parse(data);
|
|
23
|
+
const tokens = [...parser.input, ...comments];
|
|
24
|
+
return { tokens, syntaxErrors: errors, semanticErrors };
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.Tokenizer = Tokenizer;
|
|
30
|
+
//# sourceMappingURL=tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/rdf/parsers/tokenizer.ts"],"names":[],"mappings":";;;;AACA,mCAAoD;AACpD,6CAAyC;AACzC,6DAAwD;AAWxD;;GAEG;AACH,MAAa,SAAS;IAClB,MAAM,CAAO,SAAS,CAAC,IAAY,EAAE,MAAiB;;YAClD,IAAI,MAAM,KAAK,sBAAS,CAAC,MAAM,EAAE;gBAC7B,MAAM,MAAM,GAAG,IAAI,2BAAkB,EAAE,CAAC;gBAExC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAExE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;aAC/D;iBAAM;gBACH,MAAM,MAAM,GAAG,IAAI,qCAAgB,EAAE,CAAC;gBAEtC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;gBAE9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;aAC3D;QACL,CAAC;KAAA;CACJ;AAlBD,8BAkBC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { IRecognitionException, IToken } from "chevrotain";
|
|
2
|
+
import { TrigParser } from "millan";
|
|
3
|
+
/**
|
|
4
|
+
* An extended version of the Millan Trig parser that also returns comments.
|
|
5
|
+
*/
|
|
6
|
+
export declare class TrigSyntaxParser extends TrigParser {
|
|
7
|
+
parse: (document: string) => {
|
|
8
|
+
errors: IRecognitionException[];
|
|
9
|
+
semanticErrors: IRecognitionException[];
|
|
10
|
+
comments: IToken[];
|
|
11
|
+
cst: any;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrigSyntaxParser = void 0;
|
|
4
|
+
const millan_1 = require("millan");
|
|
5
|
+
/**
|
|
6
|
+
* An extended version of the Millan Trig parser that also returns comments.
|
|
7
|
+
*/
|
|
8
|
+
class TrigSyntaxParser extends millan_1.TrigParser {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.parse = (document) => {
|
|
12
|
+
const result = this.lexer.tokenize(document);
|
|
13
|
+
this.input = result.tokens;
|
|
14
|
+
const cst = this.turtleDoc(0, ['standard']);
|
|
15
|
+
const errors = [...this.errors];
|
|
16
|
+
const semanticErrors = [...this.semanticErrors];
|
|
17
|
+
const comments = result.groups.comments || [];
|
|
18
|
+
this.resetManagedState();
|
|
19
|
+
return {
|
|
20
|
+
errors,
|
|
21
|
+
semanticErrors,
|
|
22
|
+
comments,
|
|
23
|
+
cst,
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.TrigSyntaxParser = TrigSyntaxParser;
|
|
29
|
+
//# sourceMappingURL=trig-syntax-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trig-syntax-parser.js","sourceRoot":"","sources":["../../../src/rdf/parsers/trig-syntax-parser.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AAEpC;;GAEG;AACH,MAAa,gBAAiB,SAAQ,mBAAU;IAAhD;;QACW,UAAK,GAAG,CAAC,QAAgB,EAK9B,EAAE;YACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAA4B,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,cAAc,GAA4B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAE9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO;gBACH,MAAM;gBACN,cAAc;gBACd,QAAQ;gBACR,GAAG;aACN,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AAzBD,4CAyBC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RdfSyntax = void 0;
|
|
4
|
+
var RdfSyntax;
|
|
5
|
+
(function (RdfSyntax) {
|
|
6
|
+
RdfSyntax["N3"] = "n3";
|
|
7
|
+
RdfSyntax["NTriples"] = "ntriples";
|
|
8
|
+
RdfSyntax["NQuads"] = "nquads";
|
|
9
|
+
RdfSyntax["Turtle"] = "turtle";
|
|
10
|
+
RdfSyntax["TriG"] = "trig";
|
|
11
|
+
RdfSyntax["TriX"] = "trix";
|
|
12
|
+
RdfSyntax["JsonLd"] = "jsonld";
|
|
13
|
+
RdfSyntax["RdfXml"] = "rdfxml";
|
|
14
|
+
RdfSyntax["Sparql"] = "sparql";
|
|
15
|
+
})(RdfSyntax || (exports.RdfSyntax = RdfSyntax = {}));
|
|
16
|
+
//# sourceMappingURL=rdf-syntax.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rdf-syntax.js","sourceRoot":"","sources":["../../../src/rdf/parsing/rdf-syntax.ts"],"names":[],"mappings":";;;AAAA,IAAY,SAUX;AAVD,WAAY,SAAS;IACjB,sBAAS,CAAA;IACT,kCAAqB,CAAA;IACrB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;AACrB,CAAC,EAVW,SAAS,yBAAT,SAAS,QAUpB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IRecognitionException } from "chevrotain";
|
|
2
|
+
import { IToken } from "millan";
|
|
3
|
+
import { RdfSyntax } from "./rdf-syntax";
|
|
4
|
+
export interface TokenizerResult {
|
|
5
|
+
tokens: IToken[];
|
|
6
|
+
syntaxErrors: IRecognitionException[];
|
|
7
|
+
semanticErrors: IRecognitionException[];
|
|
8
|
+
}
|
|
9
|
+
export declare class Tokenizer {
|
|
10
|
+
static parseData(data: string, syntax: RdfSyntax): Promise<TokenizerResult>;
|
|
11
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Tokenizer = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const millan_1 = require("millan");
|
|
6
|
+
const rdf_syntax_1 = require("./rdf-syntax");
|
|
7
|
+
const trig_syntax_parser_1 = require("./trig-syntax-parser");
|
|
8
|
+
class Tokenizer {
|
|
9
|
+
// static async parseFile(filePath: string, syntax: RdfSyntax): Promise<TokenizerResult> {
|
|
10
|
+
// const data = fs.readFileSync(filePath).toString();
|
|
11
|
+
// return this.parseData(data, syntax);
|
|
12
|
+
// }
|
|
13
|
+
static parseData(data, syntax) {
|
|
14
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
15
|
+
if (syntax === rdf_syntax_1.RdfSyntax.Sparql) {
|
|
16
|
+
const parser = new millan_1.W3SpecSparqlParser();
|
|
17
|
+
const { errors, comments } = parser.parse(data);
|
|
18
|
+
const tokens = comments ? [...parser.input, ...comments] : parser.input;
|
|
19
|
+
return { tokens, syntaxErrors: errors, semanticErrors: [] };
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
const parser = new trig_syntax_parser_1.TrigSyntaxParser();
|
|
23
|
+
const { errors, semanticErrors, comments } = parser.parse(data);
|
|
24
|
+
const tokens = [...parser.input, ...comments];
|
|
25
|
+
return { tokens, syntaxErrors: errors, semanticErrors };
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.Tokenizer = Tokenizer;
|
|
31
|
+
//# sourceMappingURL=tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/rdf/parsing/tokenizer.ts"],"names":[],"mappings":";;;;AAEA,mCAAoD;AACpD,6CAAyC;AACzC,6DAAwD;AAQxD,MAAa,SAAS;IAClB,0FAA0F;IAC1F,yDAAyD;IAEzD,2CAA2C;IAE3C,IAAI;IAEJ,MAAM,CAAO,SAAS,CAAC,IAAY,EAAE,MAAiB;;YAClD,IAAI,MAAM,KAAK,sBAAS,CAAC,MAAM,EAAE;gBAC7B,MAAM,MAAM,GAAG,IAAI,2BAAkB,EAAE,CAAC;gBAExC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;gBAExE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC;aAC/D;iBAAM;gBACH,MAAM,MAAM,GAAG,IAAI,qCAAgB,EAAE,CAAC;gBAEtC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAChE,MAAM,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,GAAG,QAAQ,CAAC,CAAC;gBAE9C,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;aAC3D;QACL,CAAC;KAAA;CACJ;AAzBD,8BAyBC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { IRecognitionException, IToken } from "chevrotain";
|
|
2
|
+
import { TrigParser } from "millan";
|
|
3
|
+
export declare class TrigSyntaxParser extends TrigParser {
|
|
4
|
+
parse: (document: string) => {
|
|
5
|
+
errors: IRecognitionException[];
|
|
6
|
+
semanticErrors: IRecognitionException[];
|
|
7
|
+
comments: IToken[];
|
|
8
|
+
cst: any;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TrigSyntaxParser = void 0;
|
|
4
|
+
const millan_1 = require("millan");
|
|
5
|
+
class TrigSyntaxParser extends millan_1.TrigParser {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.parse = (document) => {
|
|
9
|
+
const result = this.lexer.tokenize(document);
|
|
10
|
+
this.input = result.tokens;
|
|
11
|
+
const cst = this.turtleDoc(0, ['standard']);
|
|
12
|
+
const errors = [...this.errors];
|
|
13
|
+
const semanticErrors = [...this.semanticErrors];
|
|
14
|
+
const comments = result.groups.comments || [];
|
|
15
|
+
this.resetManagedState();
|
|
16
|
+
return {
|
|
17
|
+
errors,
|
|
18
|
+
semanticErrors,
|
|
19
|
+
comments,
|
|
20
|
+
cst,
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.TrigSyntaxParser = TrigSyntaxParser;
|
|
26
|
+
//# sourceMappingURL=trig-syntax-parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"trig-syntax-parser.js","sourceRoot":"","sources":["../../../src/rdf/parsing/trig-syntax-parser.ts"],"names":[],"mappings":";;;AACA,mCAAoC;AAEpC,MAAa,gBAAiB,SAAQ,mBAAU;IAAhD;;QACW,UAAK,GAAG,CAAC,QAAgB,EAK9B,EAAE;YACA,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAE7C,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC;YAE3B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC5C,MAAM,MAAM,GAA4B,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,cAAc,GAA4B,CAAC,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC;YACzE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;YAE9C,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAEzB,OAAO;gBACH,MAAM;gBACN,cAAc;gBACd,QAAQ;gBACR,GAAG;aACN,CAAC;QACN,CAAC,CAAC;IACN,CAAC;CAAA;AAzBD,4CAyBC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"property-repository.js","sourceRoot":"","sources":["../../src/rdf/property-repository.ts"],"names":[],"mappings":";;;;AAAA,+CAAyB;AACzB,8CAA+C;
|
|
1
|
+
{"version":3,"file":"property-repository.js","sourceRoot":"","sources":["../../src/rdf/property-repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.OwlReasoner = void 0;
|
|
4
|
-
const ontologies_1 = require("
|
|
4
|
+
const ontologies_1 = require("../../ontologies");
|
|
5
5
|
const rdfs_reasoner_1 = require("./rdfs-reasoner");
|
|
6
6
|
/**
|
|
7
7
|
* A simple OWL reasoner that expands the graph with inferred triples.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"owl-reasoner.js","sourceRoot":"","sources":["../../../src/rdf/reasoners/owl-reasoner.ts"],"names":[],"mappings":"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"}
|