@oslo-flanders/core 0.0.1-alpha.0 → 0.0.3-alpha.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/index.d.ts +17 -0
- package/package.json +69 -56
- package/lib/ServiceIdentifier.js.map +0 -1
- package/lib/ServiceIdentifier.ts +0 -10
- package/lib/enums/PropertyTypes.js.map +0 -1
- package/lib/enums/PropertyTypes.ts +0 -5
- package/lib/enums/Scope.js.map +0 -1
- package/lib/enums/Scope.ts +0 -6
- package/lib/interfaces/AppRunner.js.map +0 -1
- package/lib/interfaces/AppRunner.ts +0 -25
- package/lib/interfaces/IConfiguration.js.map +0 -1
- package/lib/interfaces/IConfiguration.ts +0 -8
- package/lib/interfaces/IConversionService.js.map +0 -1
- package/lib/interfaces/IConversionService.ts +0 -11
- package/lib/interfaces/IGenerationService.js.map +0 -1
- package/lib/interfaces/IGenerationService.ts +0 -9
- package/lib/interfaces/IOutputHandler.js.map +0 -1
- package/lib/interfaces/IOutputHandler.ts +0 -8
- package/lib/logging/LogLevel.js.map +0 -1
- package/lib/logging/LogLevel.ts +0 -6
- package/lib/logging/Logger.js.map +0 -1
- package/lib/logging/Logger.ts +0 -41
- package/lib/logging/VoidLogger.js.map +0 -1
- package/lib/logging/VoidLogger.ts +0 -15
- package/lib/logging/WinstonLogger.js.map +0 -1
- package/lib/logging/WinstonLogger.ts +0 -33
- package/lib/utils/N3StoreFunctions.js.map +0 -1
- package/lib/utils/N3StoreFunctions.ts +0 -268
- package/lib/utils/fetchFileOrUrl.js.map +0 -1
- package/lib/utils/fetchFileOrUrl.ts +0 -19
- package/lib/utils/namespaces.js.map +0 -1
- package/lib/utils/namespaces.ts +0 -41
- package/lib/utils/uniqueId.js.map +0 -1
- package/lib/utils/uniqueId.ts +0 -11
package/index.d.ts
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import 'reflect-metadata';
|
|
2
|
+
export * from './lib/interfaces/AppRunner';
|
|
3
|
+
export * from './lib/interfaces/IConfiguration';
|
|
4
|
+
export * from './lib/interfaces/IConversionService';
|
|
5
|
+
export * from './lib/interfaces/IGenerationService';
|
|
6
|
+
export * from './lib/interfaces/IOutputHandler';
|
|
7
|
+
export * from './lib/utils/fetchFileOrUrl';
|
|
8
|
+
export * from './lib/utils/namespaces';
|
|
9
|
+
export * from './lib/utils/uniqueId';
|
|
10
|
+
export * from './lib/utils/N3StoreFunctions';
|
|
11
|
+
export * from './lib/ServiceIdentifier';
|
|
12
|
+
export * from './lib/enums/Scope';
|
|
13
|
+
export * from './lib/enums/PropertyTypes';
|
|
14
|
+
export * from './lib/logging/LogLevel';
|
|
15
|
+
export * from './lib/logging/Logger';
|
|
16
|
+
export * from './lib/logging/VoidLogger';
|
|
17
|
+
export * from './lib/logging/WinstonLogger';
|
package/package.json
CHANGED
|
@@ -1,56 +1,69 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@oslo-flanders/core",
|
|
3
|
-
"version": "0.0.
|
|
4
|
-
"description": "Core interfaces and utilities",
|
|
5
|
-
"author": "Digitaal Vlaanderen <https://data.vlaanderen.be/id/organisatie/OVO002949>",
|
|
6
|
-
"homepage": "https://github.com/informatievlaanderen/OSLO-UML-Transformer/tree/main/packages/oslo-core#readme",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"main": "index.js",
|
|
9
|
-
"directories": {
|
|
10
|
-
"lib": "lib"
|
|
11
|
-
},
|
|
12
|
-
"files": [
|
|
13
|
-
"lib"
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
"
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
"
|
|
42
|
-
},
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
},
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@oslo-flanders/core",
|
|
3
|
+
"version": "0.0.3-alpha.0",
|
|
4
|
+
"description": "Core interfaces and utilities",
|
|
5
|
+
"author": "Digitaal Vlaanderen <https://data.vlaanderen.be/id/organisatie/OVO002949>",
|
|
6
|
+
"homepage": "https://github.com/informatievlaanderen/OSLO-UML-Transformer/tree/main/packages/oslo-core#readme",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"main": "index.js",
|
|
9
|
+
"directories": {
|
|
10
|
+
"lib": "lib"
|
|
11
|
+
},
|
|
12
|
+
"files": [
|
|
13
|
+
"lib/**/*.d.ts",
|
|
14
|
+
"lib/**/*.js",
|
|
15
|
+
"bin/**/*.d.ts",
|
|
16
|
+
"bin/**/*.js",
|
|
17
|
+
"index.d.ts",
|
|
18
|
+
"index.js"
|
|
19
|
+
],
|
|
20
|
+
"repository": {
|
|
21
|
+
"type": "git",
|
|
22
|
+
"url": "git+https://github.com/Informatievlaanderen/OSLO-UML-Transformer.git"
|
|
23
|
+
},
|
|
24
|
+
"jest": {
|
|
25
|
+
"runner": "groups",
|
|
26
|
+
"transform": {
|
|
27
|
+
"^.+\\.ts$": "ts-jest"
|
|
28
|
+
},
|
|
29
|
+
"testRegex": "/test/.*.test.ts$",
|
|
30
|
+
"moduleFileExtensions": [
|
|
31
|
+
"ts",
|
|
32
|
+
"js"
|
|
33
|
+
],
|
|
34
|
+
"collectCoverage": true,
|
|
35
|
+
"coveragePathIgnorePatterns": [
|
|
36
|
+
"/node_modules/",
|
|
37
|
+
"index.js",
|
|
38
|
+
"test/data/*",
|
|
39
|
+
"lib/utils/namespaces.ts"
|
|
40
|
+
],
|
|
41
|
+
"testEnvironment": "node"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build": "npm run build:ts",
|
|
45
|
+
"build:ts": "tsc",
|
|
46
|
+
"test:unit": "node \"../../node_modules/jest/bin/jest.js\" --group=unit"
|
|
47
|
+
},
|
|
48
|
+
"bugs": {
|
|
49
|
+
"url": "https://github.com/Informatievlaanderen/OSLO-UML-Transformer/issues"
|
|
50
|
+
},
|
|
51
|
+
"dependencies": {
|
|
52
|
+
"crypto-js": "^4.1.1",
|
|
53
|
+
"n3": "^1.16.2",
|
|
54
|
+
"node-fetch": "^2.6.7",
|
|
55
|
+
"rdf-data-factory": "^1.1.1",
|
|
56
|
+
"rdf-parse": "^2.1.1",
|
|
57
|
+
"reflect-metadata": "^0.1.13",
|
|
58
|
+
"streamify-string": "^1.0.1",
|
|
59
|
+
"winston": "^3.8.2"
|
|
60
|
+
},
|
|
61
|
+
"devDependencies": {
|
|
62
|
+
"@rdfjs/types": "^1.1.0",
|
|
63
|
+
"@types/crypto-js": "^4.1.1",
|
|
64
|
+
"@types/node-fetch": "^2.6.2",
|
|
65
|
+
"@types/streamify-string": "^1.0.0",
|
|
66
|
+
"@types/tmp": "^0.2.3"
|
|
67
|
+
},
|
|
68
|
+
"gitHead": "f749c71908781f533e0e35f0e3394ce43a8dd7c0"
|
|
69
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServiceIdentifier.js","sourceRoot":"","sources":["ServiceIdentifier.ts"],"names":[],"mappings":";;;AAAA,wDAAwD;AACxD,2DAA2D;AAC3D,oFAAoF;AACpF,MAAa,iBAAiB;;AAA9B,8CAMC;AALwB,mCAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACpD,mCAAiB,GAAG,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACpD,+BAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5C,+BAAa,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAC5C,wBAAM,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC","sourcesContent":["/* eslint-disable eslint-comments/disable-enable-pair */\r\n/* eslint-disable @typescript-eslint/no-extraneous-class */\r\n// This must be a class, because it must be possible to extend it in implementations\r\nexport class ServiceIdentifier {\r\n public static readonly ConversionService = Symbol.for('ConversionService');\r\n public static readonly GenerationService = Symbol.for('GenerationService');\r\n public static readonly Configuration = Symbol.for('Configuration');\r\n public static readonly OutputHandler = Symbol.for('OutputHandler');\r\n public static readonly Logger = Symbol.for('Logger');\r\n}\r\n"]}
|
package/lib/ServiceIdentifier.ts
DELETED
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
/* eslint-disable eslint-comments/disable-enable-pair */
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-extraneous-class */
|
|
3
|
-
// This must be a class, because it must be possible to extend it in implementations
|
|
4
|
-
export class ServiceIdentifier {
|
|
5
|
-
public static readonly ConversionService = Symbol.for('ConversionService');
|
|
6
|
-
public static readonly GenerationService = Symbol.for('GenerationService');
|
|
7
|
-
public static readonly Configuration = Symbol.for('Configuration');
|
|
8
|
-
public static readonly OutputHandler = Symbol.for('OutputHandler');
|
|
9
|
-
public static readonly Logger = Symbol.for('Logger');
|
|
10
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PropertyTypes.js","sourceRoot":"","sources":["PropertyTypes.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACtB,mFAAmE,CAAA;IACnE,+EAA+D,CAAA;IAC/D,gFAAgE,CAAA;AAClE,CAAC,EAJW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAIvB","sourcesContent":["export enum PropertyType {\r\n DataTypeProperty = 'http://www.w3.org/2002/07/owl#DatatypeProperty',\r\n ObjectProperty = 'http://www.w3.org/2002/07/owl#ObjectProperty',\r\n Property = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#Property',\r\n}\r\n"]}
|
package/lib/enums/Scope.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Scope.js","sourceRoot":"","sources":["Scope.ts"],"names":[],"mappings":";;;AAAA,IAAY,KAKX;AALD,WAAY,KAAK;IACf,4EAAmE,CAAA;IACnE,0GAAiG,CAAA;IACjG,0EAAiE,CAAA;IACjE,4EAAmE,CAAA;AACrE,CAAC,EALW,KAAK,GAAL,aAAK,KAAL,aAAK,QAKhB","sourcesContent":["export enum Scope {\r\n InPackage = 'https://data.vlaanderen.be/id/concept/scope/InPackage',\r\n InPublicationEnvironment = 'https://data.vlaanderen.be/id/concept/scope/InPublicationEnvironment',\r\n External = 'https://data.vlaanderen.be/id/concept/scope/External',\r\n Undefined = 'https://data.vlaanderen.be/id/concept/scope/Undefined'\r\n}\r\n"]}
|
package/lib/enums/Scope.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export enum Scope {
|
|
2
|
-
InPackage = 'https://data.vlaanderen.be/id/concept/scope/InPackage',
|
|
3
|
-
InPublicationEnvironment = 'https://data.vlaanderen.be/id/concept/scope/InPublicationEnvironment',
|
|
4
|
-
External = 'https://data.vlaanderen.be/id/concept/scope/External',
|
|
5
|
-
Undefined = 'https://data.vlaanderen.be/id/concept/scope/Undefined'
|
|
6
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AppRunner.js","sourceRoot":"","sources":["AppRunner.ts"],"names":[],"mappings":";;;AAAA,qCAAiC;AAcjC,MAAsB,SAAS;IACtB,UAAU,CAAC,OAAuB;QACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAS,EAAE;YAC/C,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC5B,mDAAmD;YACnD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC;CAGF;AAVD,8BAUC","sourcesContent":["import { stderr } from 'process';\r\n\r\nexport type CliArgv = string[];\r\n\r\nexport type YargsParams = {\r\n [x: string]: unknown;\r\n _: (string | number)[];\r\n $0: string;\r\n} | {\r\n [x: string]: unknown;\r\n _: (string | number)[];\r\n $0: string;\r\n};\r\n\r\nexport abstract class AppRunner {\r\n public runCliSync(process: NodeJS.Process): void {\r\n this.runCli(process.argv).catch((error): never => {\r\n stderr.write(error.message);\r\n // eslint-disable-next-line unicorn/no-process-exit\r\n process.exit(1);\r\n });\r\n }\r\n\r\n public abstract runCli(argv: CliArgv): Promise<void>;\r\n}\r\n"]}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { stderr } from 'process';
|
|
2
|
-
|
|
3
|
-
export type CliArgv = string[];
|
|
4
|
-
|
|
5
|
-
export type YargsParams = {
|
|
6
|
-
[x: string]: unknown;
|
|
7
|
-
_: (string | number)[];
|
|
8
|
-
$0: string;
|
|
9
|
-
} | {
|
|
10
|
-
[x: string]: unknown;
|
|
11
|
-
_: (string | number)[];
|
|
12
|
-
$0: string;
|
|
13
|
-
};
|
|
14
|
-
|
|
15
|
-
export abstract class AppRunner {
|
|
16
|
-
public runCliSync(process: NodeJS.Process): void {
|
|
17
|
-
this.runCli(process.argv).catch((error): never => {
|
|
18
|
-
stderr.write(error.message);
|
|
19
|
-
// eslint-disable-next-line unicorn/no-process-exit
|
|
20
|
-
process.exit(1);
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
public abstract runCli(argv: CliArgv): Promise<void>;
|
|
25
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IConfiguration.js","sourceRoot":"","sources":["IConfiguration.ts"],"names":[],"mappings":"","sourcesContent":["import type { YargsParams } from './AppRunner';\r\n\r\n/**\r\n * Interface that must be implemented by classes that contain configuration properties\r\n */\r\nexport interface IConfiguration {\r\n createFromCli: (params: YargsParams) => Promise<void>;\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IConversionService.js","sourceRoot":"","sources":["IConversionService.ts"],"names":[],"mappings":"","sourcesContent":["import type { Logger } from '../logging/Logger';\r\nimport type { IConfiguration } from './IConfiguration';\r\n\r\n/**\r\n * Interface that must be implemented by classes that convert a UML diagram to an RDF file\r\n */\r\nexport interface IConversionService {\r\n logger: Logger;\r\n configuration: IConfiguration;\r\n run: () => Promise<void>;\r\n}\r\n"]}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Logger } from '../logging/Logger';
|
|
2
|
-
import type { IConfiguration } from './IConfiguration';
|
|
3
|
-
|
|
4
|
-
/**
|
|
5
|
-
* Interface that must be implemented by classes that convert a UML diagram to an RDF file
|
|
6
|
-
*/
|
|
7
|
-
export interface IConversionService {
|
|
8
|
-
logger: Logger;
|
|
9
|
-
configuration: IConfiguration;
|
|
10
|
-
run: () => Promise<void>;
|
|
11
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IGenerationService.js","sourceRoot":"","sources":["IGenerationService.ts"],"names":[],"mappings":"","sourcesContent":["import type { IConfiguration } from './IConfiguration';\r\n\r\n/**\r\n * Interface that must be implemented by classes that use an RDF file as input and generates an artefact\r\n */\r\nexport interface IGenerationService {\r\n configuration: IConfiguration;\r\n run: () => Promise<void>;\r\n}\r\n"]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { IConfiguration } from './IConfiguration';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Interface that must be implemented by classes that use an RDF file as input and generates an artefact
|
|
5
|
-
*/
|
|
6
|
-
export interface IGenerationService {
|
|
7
|
-
configuration: IConfiguration;
|
|
8
|
-
run: () => Promise<void>;
|
|
9
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IOutputHandler.js","sourceRoot":"","sources":["IOutputHandler.ts"],"names":[],"mappings":"","sourcesContent":["import type { Quad, Store } from 'n3';\r\n\r\n/**\r\n * Writes the triples in an RDF store to a write stream\r\n */\r\nexport interface IOutputHandler {\r\n write: (store: Store<Quad>, writeStream: any) => Promise<void>;\r\n}\r\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LogLevel.js","sourceRoot":"","sources":["LogLevel.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAU,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC","sourcesContent":["export const LOG_LEVELS = <const>['error', 'warn', 'info', 'verbose', 'debug', 'silly'];\r\n\r\n/**\r\n * Different log levels, from most important to least important.\r\n */\r\nexport type LogLevel = typeof LOG_LEVELS[number];\r\n"]}
|
package/lib/logging/LogLevel.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["Logger.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yCAAuC;AAchC,IAAe,UAAU,GAAzB,MAAe,UAAU;IAGvB,KAAK,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,IAAI,CAAC,OAAe;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,IAAI,CAAC,OAAe;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,CAAC;IAEM,OAAO,CAAC,OAAe;QAC5B,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,OAAe;QAC1B,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACpC,CAAC;CACF,CAAA;AA1BqB,UAAU;IAD/B,IAAA,sBAAU,GAAE;GACS,UAAU,CA0B/B;AA1BqB,gCAAU","sourcesContent":["import { injectable } from 'inversify';\r\nimport type { LogLevel } from './LogLevel';\r\n\r\nexport interface Logger {\r\n log: (level: LogLevel, message: string) => Logger;\r\n error: (message: string) => Logger;\r\n warn: (message: string) => Logger;\r\n info: (message: string) => Logger;\r\n verbose: (message: string) => Logger;\r\n debug: (message: string) => Logger;\r\n silly: (message: string) => Logger;\r\n}\r\n\r\n@injectable()\r\nexport abstract class BaseLogger implements Logger {\r\n public abstract log(level: LogLevel, message: string): Logger;\r\n\r\n public error(message: string): Logger {\r\n return this.log('error', message);\r\n }\r\n\r\n public warn(message: string): Logger {\r\n return this.log('warn', message);\r\n }\r\n\r\n public info(message: string): Logger {\r\n return this.log('info', message);\r\n }\r\n\r\n public verbose(message: string): Logger {\r\n return this.log('verbose', message);\r\n }\r\n\r\n public debug(message: string): Logger {\r\n return this.log('debug', message);\r\n }\r\n\r\n public silly(message: string): Logger {\r\n return this.log('silly', message);\r\n }\r\n}\r\n"]}
|
package/lib/logging/Logger.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { injectable } from 'inversify';
|
|
2
|
-
import type { LogLevel } from './LogLevel';
|
|
3
|
-
|
|
4
|
-
export interface Logger {
|
|
5
|
-
log: (level: LogLevel, message: string) => Logger;
|
|
6
|
-
error: (message: string) => Logger;
|
|
7
|
-
warn: (message: string) => Logger;
|
|
8
|
-
info: (message: string) => Logger;
|
|
9
|
-
verbose: (message: string) => Logger;
|
|
10
|
-
debug: (message: string) => Logger;
|
|
11
|
-
silly: (message: string) => Logger;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
@injectable()
|
|
15
|
-
export abstract class BaseLogger implements Logger {
|
|
16
|
-
public abstract log(level: LogLevel, message: string): Logger;
|
|
17
|
-
|
|
18
|
-
public error(message: string): Logger {
|
|
19
|
-
return this.log('error', message);
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
public warn(message: string): Logger {
|
|
23
|
-
return this.log('warn', message);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
public info(message: string): Logger {
|
|
27
|
-
return this.log('info', message);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
public verbose(message: string): Logger {
|
|
31
|
-
return this.log('verbose', message);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
public debug(message: string): Logger {
|
|
35
|
-
return this.log('debug', message);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
public silly(message: string): Logger {
|
|
39
|
-
return this.log('silly', message);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"VoidLogger.js","sourceRoot":"","sources":["VoidLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuC;AAEvC,qCAAsC;AAI/B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,mBAAU;IACxC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAEM,GAAG,CAAC,KAAe,EAAE,OAAe;QACzC,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AARY,UAAU;IADtB,IAAA,sBAAU,GAAE;;GACA,UAAU,CAQtB;AARY,gCAAU","sourcesContent":["import { injectable } from 'inversify';\r\nimport type { Logger } from './Logger';\r\nimport { BaseLogger } from './Logger';\r\nimport type { LogLevel } from './LogLevel';\r\n\r\n@injectable()\r\nexport class VoidLogger extends BaseLogger {\r\n public constructor() {\r\n super();\r\n }\r\n\r\n public log(level: LogLevel, message: string): Logger {\r\n return this;\r\n }\r\n}\r\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { injectable } from 'inversify';
|
|
2
|
-
import type { Logger } from './Logger';
|
|
3
|
-
import { BaseLogger } from './Logger';
|
|
4
|
-
import type { LogLevel } from './LogLevel';
|
|
5
|
-
|
|
6
|
-
@injectable()
|
|
7
|
-
export class VoidLogger extends BaseLogger {
|
|
8
|
-
public constructor() {
|
|
9
|
-
super();
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
public log(level: LogLevel, message: string): Logger {
|
|
13
|
-
return this;
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WinstonLogger.js","sourceRoot":"","sources":["WinstonLogger.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuC;AAEvC,qCAA2D;AAC3D,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,gBAAM,CAAC;AAE7C,qCAAsC;AAGtC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,WAAW,EAAE,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC,CAAC;AAG9H,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,mBAAU;IAG3C,YAAmB,QAAkB;QACnC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,IAAA,sBAAY,EAAC;YACzB,KAAK,EAAE,QAAQ;YACf,UAAU,EAAE;gBACV,IAAI,oBAAU,CAAC,OAAO,EAAE;aACzB;YACD,MAAM,EAAE,OAAO,CACb,QAAQ,EAAE,EACV,aAAa,CACd;SACF,CAAC,CAAC;IACL,CAAC;IAEM,GAAG,CAAC,KAAe,EAAE,OAAe;QACzC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AArBY,aAAa;IADzB,IAAA,sBAAU,GAAE;;GACA,aAAa,CAqBzB;AArBY,sCAAa","sourcesContent":["import { injectable } from 'inversify';\r\nimport type { Logger as WinstonInnerLogger } from 'winston';\r\nimport { transports, createLogger, format } from 'winston';\r\nconst { combine, colorize, printf } = format;\r\n\r\nimport { BaseLogger } from './Logger';\r\nimport { LogLevel } from './LogLevel';\r\n\r\nconst messageFormat = printf(({ level, message, messageTimestamp }) => `${new Date(Date.now()).toISOString()} ${level}: ${message}`);\r\n\r\n@injectable()\r\nexport class WinstonLogger extends BaseLogger {\r\n private readonly logger: WinstonInnerLogger;\r\n\r\n public constructor(logLevel: LogLevel) {\r\n super();\r\n this.logger = createLogger({\r\n level: logLevel,\r\n transports: [\r\n new transports.Console(),\r\n ],\r\n format: combine(\r\n colorize(),\r\n messageFormat,\r\n ),\r\n });\r\n }\r\n\r\n public log(level: LogLevel, message: string): this {\r\n this.logger.log(level, message);\r\n return this;\r\n }\r\n}\r\n"]}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { injectable } from 'inversify';
|
|
2
|
-
import type { Logger as WinstonInnerLogger } from 'winston';
|
|
3
|
-
import { transports, createLogger, format } from 'winston';
|
|
4
|
-
const { combine, colorize, printf } = format;
|
|
5
|
-
|
|
6
|
-
import { BaseLogger } from './Logger';
|
|
7
|
-
import { LogLevel } from './LogLevel';
|
|
8
|
-
|
|
9
|
-
const messageFormat = printf(({ level, message, messageTimestamp }) => `${new Date(Date.now()).toISOString()} ${level}: ${message}`);
|
|
10
|
-
|
|
11
|
-
@injectable()
|
|
12
|
-
export class WinstonLogger extends BaseLogger {
|
|
13
|
-
private readonly logger: WinstonInnerLogger;
|
|
14
|
-
|
|
15
|
-
public constructor(logLevel: LogLevel) {
|
|
16
|
-
super();
|
|
17
|
-
this.logger = createLogger({
|
|
18
|
-
level: logLevel,
|
|
19
|
-
transports: [
|
|
20
|
-
new transports.Console(),
|
|
21
|
-
],
|
|
22
|
-
format: combine(
|
|
23
|
-
colorize(),
|
|
24
|
-
messageFormat,
|
|
25
|
-
),
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
public log(level: LogLevel, message: string): this {
|
|
30
|
-
this.logger.log(level, message);
|
|
31
|
-
return this;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"N3StoreFunctions.js","sourceRoot":"","sources":["N3StoreFunctions.ts"],"names":[],"mappings":"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","sourcesContent":["import type * as RDF from '@rdfjs/types';\r\nimport * as N3 from 'n3';\r\nimport rdfParser from 'rdf-parse';\r\nimport { fetchFileOrUrl } from './fetchFileOrUrl';\r\nimport { ns } from './namespaces';\r\n\r\n/**\r\n * Given a local file, it is parsed and added to an in-memory quad store\r\n * @param fileOrUrl Local path of the input file\r\n * @returns A N3 quad store\r\n */\r\nexport async function createN3Store(file: string): Promise<N3.Store> {\r\n const store = new N3.Store();\r\n const buffer = await fetchFileOrUrl(file);\r\n const textStream = require('streamify-string')(buffer.toString());\r\n\r\n return new Promise<N3.Store>((resolve, reject) => {\r\n rdfParser.parse(textStream, { path: file })\r\n .on('data', (quad: RDF.Quad) => store.addQuad(quad))\r\n .on('error', (error: unknown) => reject(error))\r\n .on('end', () => resolve(store));\r\n });\r\n}\r\n\r\n/**\r\n * Find the subject of the statement that matches the given subject, predicate and object\r\n * @param statementSubject The subject to match the statement subject\r\n * @param statementPredicate The predicate to match the statement predicate\r\n * @param statementObject The object to match the statement object\r\n * @param store An N3 quad store\r\n * @returns an RDF.Term or undefined if none found\r\n */\r\nexport function getTargetStatementId(\r\n statementSubject: RDF.Term,\r\n statementPredicate: RDF.Term,\r\n statementObject: RDF.Term,\r\n store: N3.Store,\r\n): RDF.Term | undefined {\r\n const statementIds = store.getSubjects(ns.rdf('type'), ns.rdf('Statement'), null);\r\n const statementSubjectPredicateSubjects = store.getSubjects(ns.rdf('subject'), statementSubject, null);\r\n const statementPredicatePredicateSubjects = store.getSubjects(ns.rdf('predicate'), statementPredicate, null);\r\n const statementObjectPredicateSubjects = store.getSubjects(ns.rdf('object'), statementObject, null);\r\n\r\n const targetIds = statementIds\r\n .filter(x => statementSubjectPredicateSubjects.some(y => y.value === x.value))\r\n .filter(x => statementPredicatePredicateSubjects.some(y => y.value === x.value))\r\n .filter(x => statementObjectPredicateSubjects.some(y => y.value === x.value));\r\n\r\n if (targetIds.length > 1) {\r\n throw new Error(`Found multiple statements with subject \"${statementSubject.value}\", predicate \"${statementPredicate.value}\" and object \"${statementObject.value}\".`);\r\n }\r\n\r\n return targetIds.shift();\r\n}\r\n\r\n/**\r\n * For a given subject, the quad store is queried to find the assigned URI\r\n * @param subject The subject for which the assigned URI is to be retrieved\r\n * @param store The quad store\r\n * @returns An RDF.NamedNode or undefined if not found\r\n */\r\nexport function getAssignedUri(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {\r\n return store.getObjects(subject, ns.example('assignedUri'), null).shift();\r\n}\r\n\r\n/**\r\n * Finds the assigned URI in rdf:Statements\r\n * @param subject The statement subject\r\n * @param predicate The statement predicate\r\n * @param object The statement object for which the assigned URI must be found\r\n * @param store A N3 quad store\r\n * @returns An RDF.Term or undefined if not found\r\n */\r\nexport function getAssignedUriViaStatements(\r\n subject: RDF.Term,\r\n predicate: RDF.Term,\r\n object: RDF.Term,\r\n store: N3.Store,\r\n): RDF.Term | undefined {\r\n const statementId = getTargetStatementId(subject, predicate, object, store);\r\n\r\n if (!statementId) {\r\n return undefined;\r\n }\r\n\r\n return getAssignedUri(statementId, store);\r\n}\r\n\r\n/**\r\n * Find all rdfs:labels for a given subject\r\n * @param subject The RDF.Term to find the rdfs:labels for\r\n * @param store A N3 quad store\r\n * @returns An array of RDF.Literals\r\n */\r\nexport function getLabels(subject: RDF.Term, store: N3.Store): RDF.Literal[] {\r\n return <RDF.Literal[]>store.getObjects(subject, ns.rdfs('label'), null);\r\n}\r\n\r\n/**\r\n * Finds the rdfs:label whose language tag matches the given language\r\n * @param subject The RDF.Term to find the rdfs:label for\r\n * @param store A N3 quad store\r\n * @param language A language tag\r\n * @returns An RDF.Literal or undefined if not found\r\n */\r\nexport function getLabel(subject: RDF.Term, store: N3.Store, language?: string): RDF.Literal | undefined {\r\n return getLabels(subject, store).find(x => x.language === (language || ''));\r\n}\r\n\r\n/**\r\n * Finds the rdfs:label for an RDF.Term in rdf:Statements\r\n * @param subject The statement subject\r\n * @param predicate The statement predicate\r\n * @param object The statement object for which the label must be found\r\n * @param store A N3 quad store\r\n * @param language A language tag\r\n * @returns An RDF.Literal or undefined if not found\r\n */\r\nexport function getLabelViaStatements(\r\n subject: RDF.Term,\r\n predicate: RDF.Term,\r\n object: RDF.Term,\r\n store: N3.Store,\r\n language: string,\r\n): RDF.Literal | undefined {\r\n const statementId = getTargetStatementId(subject, predicate, object, store);\r\n\r\n if (!statementId) {\r\n return undefined;\r\n }\r\n\r\n const label = getLabel(statementId, store, language);\r\n return label || getLabel(statementId, store);\r\n}\r\n\r\n/**\r\n * Find all rdfs:comments for a given subject\r\n * @param subject The RDF.Term to find the rdfs:comments for\r\n * @param store A N3 quad store\r\n * @returns An array of RDF.Literals\r\n */\r\nexport function getDefinitions(subject: RDF.Term, store: N3.Store): RDF.Literal[] {\r\n return <RDF.Literal[]>store.getObjects(subject, ns.rdfs('comment'), null);\r\n}\r\n\r\n/**\r\n * Finds the rdfs:comment whose language tag matches the given language\r\n * @param subject The RDF.Term to find the rdfs:comment for\r\n * @param store A N3 quad store\r\n * @param language A language tag\r\n * @returns An RDF.Literal or undefined if not found\r\n */\r\nexport function getDefinition(subject: RDF.Term, store: N3.Store, language?: string): RDF.Literal | undefined {\r\n return getDefinitions(subject, store).find(x => x.language === (language || ''));\r\n}\r\n\r\n/**\r\n * Finds the rdfs:comment for an RDF.Term in rdf:Statements\r\n * @param subject The statement subject\r\n * @param predicate The statement predicate\r\n * @param object The statement object for which the definition must be found\r\n * @param store A N3 quad store\r\n * @param language A language tag\r\n * @returns An RDF.Literal or undefined if not found\r\n */\r\nexport function getDefinitionViaStatements(\r\n subject: RDF.Term,\r\n predicate: RDF.Term,\r\n object: RDF.Term,\r\n store: N3.Store,\r\n language: string,\r\n): RDF.Literal | undefined {\r\n const statementId = getTargetStatementId(subject, predicate, object, store);\r\n\r\n if (!statementId) {\r\n return undefined;\r\n }\r\n\r\n const definition = getDefinition(statementId, store, language);\r\n return definition || getDefinition(statementId, store);\r\n}\r\n\r\n/**\r\n * Finds all the rdfs:subClassOf of a given RDF.Term\r\n * @param subject the RDF.Term to find the parents of\r\n * @param store A N3 quad store\r\n * @returns An array of RDF.Terms\r\n */\r\nexport function getParentsOfClass(subject: RDF.Term, store: N3.Store): RDF.Term[] {\r\n return store.getObjects(subject, ns.rdfs('subClassOf'), null);\r\n}\r\n\r\n/**\r\n * Finds the rdfs:subPropertyOf of a given RDF.Term\r\n * @param subject The RDF.Term to find the parent of\r\n * @param store A N3 quad store\r\n * @returns An RDF.Term or undefined if not found\r\n */\r\nexport function getParentOfProperty(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {\r\n return store.getObjects(subject, ns.rdfs('subPropertyOf'), null).shift();\r\n}\r\n\r\n/**\r\n * Finds the rdfs:range of a given RDF.Term\r\n * @param subject The RDF.Term to find the range of\r\n * @param store A N3 quad store\r\n * @returns An RDF.Term or undefined if not found\r\n */\r\nexport function getRange(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {\r\n return store.getObjects(subject, ns.rdfs('range'), null).shift();\r\n}\r\n\r\n/**\r\n * Finds the rdfs:domain of a given RDF.Term\r\n * @param subject The RDF.Term to find the domain of\r\n * @param store A N3 quad store\r\n * @returns An RDF.Term or undefined if not found\r\n */\r\nexport function getDomain(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {\r\n return store.getObjects(subject, ns.rdfs('domain'), null).shift();\r\n}\r\n\r\n/**\r\n * Finds all the vann:usageNotes of a given RDF.Term\r\n * @param subject The RDF.Term to find the usage notes for\r\n * @param store A N3 quad store\r\n * @returns An array of RDF.Literals\r\n */\r\nexport function getUsageNotes(subject: RDF.Term, store: N3.Store): RDF.Literal[] {\r\n return <RDF.Literal[]>store.getObjects(subject, ns.vann('usageNote'), null);\r\n}\r\n\r\n/**\r\n * Finds the vann:usageNote of which the language tag matches the given language\r\n * @param subject The RDF.Term to find the usage note for\r\n * @param store A N3 quad store\r\n * @param language A language tag\r\n * @returns An RDF.Literal or undefined if not found\r\n */\r\nexport function getUsageNote(subject: RDF.Term, store: N3.Store, language?: string): RDF.Literal | undefined {\r\n return getUsageNotes(subject, store).find(x => x.language === (language || ''));\r\n}\r\n\r\n/**\r\n * Finds the vann:usageNote for an RDF.Term in rdf:Statements\r\n * @param subject The statement subject\r\n * @param predicate The statement predicate\r\n * @param object The statement object for which the usage note must be found\r\n * @param store A N3 quad store\r\n * @param language A language tag\r\n * @returns An RDF.Literal or undefined if not found\r\n */\r\nexport function getUsageNoteViaStatements(\r\n subject: RDF.Term,\r\n predicate: RDF.Term,\r\n object: RDF.Term,\r\n store: N3.Store,\r\n language: string,\r\n): RDF.Literal | undefined {\r\n const statementId = getTargetStatementId(subject, predicate, object, store);\r\n\r\n if (!statementId) {\r\n return undefined;\r\n }\r\n\r\n const usageNote = getUsageNote(statementId, store, language);\r\n return usageNote || getUsageNote(statementId, store);\r\n}\r\n"]}
|
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
import type * as RDF from '@rdfjs/types';
|
|
2
|
-
import * as N3 from 'n3';
|
|
3
|
-
import rdfParser from 'rdf-parse';
|
|
4
|
-
import { fetchFileOrUrl } from './fetchFileOrUrl';
|
|
5
|
-
import { ns } from './namespaces';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Given a local file, it is parsed and added to an in-memory quad store
|
|
9
|
-
* @param fileOrUrl Local path of the input file
|
|
10
|
-
* @returns A N3 quad store
|
|
11
|
-
*/
|
|
12
|
-
export async function createN3Store(file: string): Promise<N3.Store> {
|
|
13
|
-
const store = new N3.Store();
|
|
14
|
-
const buffer = await fetchFileOrUrl(file);
|
|
15
|
-
const textStream = require('streamify-string')(buffer.toString());
|
|
16
|
-
|
|
17
|
-
return new Promise<N3.Store>((resolve, reject) => {
|
|
18
|
-
rdfParser.parse(textStream, { path: file })
|
|
19
|
-
.on('data', (quad: RDF.Quad) => store.addQuad(quad))
|
|
20
|
-
.on('error', (error: unknown) => reject(error))
|
|
21
|
-
.on('end', () => resolve(store));
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
/**
|
|
26
|
-
* Find the subject of the statement that matches the given subject, predicate and object
|
|
27
|
-
* @param statementSubject The subject to match the statement subject
|
|
28
|
-
* @param statementPredicate The predicate to match the statement predicate
|
|
29
|
-
* @param statementObject The object to match the statement object
|
|
30
|
-
* @param store An N3 quad store
|
|
31
|
-
* @returns an RDF.Term or undefined if none found
|
|
32
|
-
*/
|
|
33
|
-
export function getTargetStatementId(
|
|
34
|
-
statementSubject: RDF.Term,
|
|
35
|
-
statementPredicate: RDF.Term,
|
|
36
|
-
statementObject: RDF.Term,
|
|
37
|
-
store: N3.Store,
|
|
38
|
-
): RDF.Term | undefined {
|
|
39
|
-
const statementIds = store.getSubjects(ns.rdf('type'), ns.rdf('Statement'), null);
|
|
40
|
-
const statementSubjectPredicateSubjects = store.getSubjects(ns.rdf('subject'), statementSubject, null);
|
|
41
|
-
const statementPredicatePredicateSubjects = store.getSubjects(ns.rdf('predicate'), statementPredicate, null);
|
|
42
|
-
const statementObjectPredicateSubjects = store.getSubjects(ns.rdf('object'), statementObject, null);
|
|
43
|
-
|
|
44
|
-
const targetIds = statementIds
|
|
45
|
-
.filter(x => statementSubjectPredicateSubjects.some(y => y.value === x.value))
|
|
46
|
-
.filter(x => statementPredicatePredicateSubjects.some(y => y.value === x.value))
|
|
47
|
-
.filter(x => statementObjectPredicateSubjects.some(y => y.value === x.value));
|
|
48
|
-
|
|
49
|
-
if (targetIds.length > 1) {
|
|
50
|
-
throw new Error(`Found multiple statements with subject "${statementSubject.value}", predicate "${statementPredicate.value}" and object "${statementObject.value}".`);
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return targetIds.shift();
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* For a given subject, the quad store is queried to find the assigned URI
|
|
58
|
-
* @param subject The subject for which the assigned URI is to be retrieved
|
|
59
|
-
* @param store The quad store
|
|
60
|
-
* @returns An RDF.NamedNode or undefined if not found
|
|
61
|
-
*/
|
|
62
|
-
export function getAssignedUri(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {
|
|
63
|
-
return store.getObjects(subject, ns.example('assignedUri'), null).shift();
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Finds the assigned URI in rdf:Statements
|
|
68
|
-
* @param subject The statement subject
|
|
69
|
-
* @param predicate The statement predicate
|
|
70
|
-
* @param object The statement object for which the assigned URI must be found
|
|
71
|
-
* @param store A N3 quad store
|
|
72
|
-
* @returns An RDF.Term or undefined if not found
|
|
73
|
-
*/
|
|
74
|
-
export function getAssignedUriViaStatements(
|
|
75
|
-
subject: RDF.Term,
|
|
76
|
-
predicate: RDF.Term,
|
|
77
|
-
object: RDF.Term,
|
|
78
|
-
store: N3.Store,
|
|
79
|
-
): RDF.Term | undefined {
|
|
80
|
-
const statementId = getTargetStatementId(subject, predicate, object, store);
|
|
81
|
-
|
|
82
|
-
if (!statementId) {
|
|
83
|
-
return undefined;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
return getAssignedUri(statementId, store);
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Find all rdfs:labels for a given subject
|
|
91
|
-
* @param subject The RDF.Term to find the rdfs:labels for
|
|
92
|
-
* @param store A N3 quad store
|
|
93
|
-
* @returns An array of RDF.Literals
|
|
94
|
-
*/
|
|
95
|
-
export function getLabels(subject: RDF.Term, store: N3.Store): RDF.Literal[] {
|
|
96
|
-
return <RDF.Literal[]>store.getObjects(subject, ns.rdfs('label'), null);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Finds the rdfs:label whose language tag matches the given language
|
|
101
|
-
* @param subject The RDF.Term to find the rdfs:label for
|
|
102
|
-
* @param store A N3 quad store
|
|
103
|
-
* @param language A language tag
|
|
104
|
-
* @returns An RDF.Literal or undefined if not found
|
|
105
|
-
*/
|
|
106
|
-
export function getLabel(subject: RDF.Term, store: N3.Store, language?: string): RDF.Literal | undefined {
|
|
107
|
-
return getLabels(subject, store).find(x => x.language === (language || ''));
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* Finds the rdfs:label for an RDF.Term in rdf:Statements
|
|
112
|
-
* @param subject The statement subject
|
|
113
|
-
* @param predicate The statement predicate
|
|
114
|
-
* @param object The statement object for which the label must be found
|
|
115
|
-
* @param store A N3 quad store
|
|
116
|
-
* @param language A language tag
|
|
117
|
-
* @returns An RDF.Literal or undefined if not found
|
|
118
|
-
*/
|
|
119
|
-
export function getLabelViaStatements(
|
|
120
|
-
subject: RDF.Term,
|
|
121
|
-
predicate: RDF.Term,
|
|
122
|
-
object: RDF.Term,
|
|
123
|
-
store: N3.Store,
|
|
124
|
-
language: string,
|
|
125
|
-
): RDF.Literal | undefined {
|
|
126
|
-
const statementId = getTargetStatementId(subject, predicate, object, store);
|
|
127
|
-
|
|
128
|
-
if (!statementId) {
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
const label = getLabel(statementId, store, language);
|
|
133
|
-
return label || getLabel(statementId, store);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Find all rdfs:comments for a given subject
|
|
138
|
-
* @param subject The RDF.Term to find the rdfs:comments for
|
|
139
|
-
* @param store A N3 quad store
|
|
140
|
-
* @returns An array of RDF.Literals
|
|
141
|
-
*/
|
|
142
|
-
export function getDefinitions(subject: RDF.Term, store: N3.Store): RDF.Literal[] {
|
|
143
|
-
return <RDF.Literal[]>store.getObjects(subject, ns.rdfs('comment'), null);
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/**
|
|
147
|
-
* Finds the rdfs:comment whose language tag matches the given language
|
|
148
|
-
* @param subject The RDF.Term to find the rdfs:comment for
|
|
149
|
-
* @param store A N3 quad store
|
|
150
|
-
* @param language A language tag
|
|
151
|
-
* @returns An RDF.Literal or undefined if not found
|
|
152
|
-
*/
|
|
153
|
-
export function getDefinition(subject: RDF.Term, store: N3.Store, language?: string): RDF.Literal | undefined {
|
|
154
|
-
return getDefinitions(subject, store).find(x => x.language === (language || ''));
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Finds the rdfs:comment for an RDF.Term in rdf:Statements
|
|
159
|
-
* @param subject The statement subject
|
|
160
|
-
* @param predicate The statement predicate
|
|
161
|
-
* @param object The statement object for which the definition must be found
|
|
162
|
-
* @param store A N3 quad store
|
|
163
|
-
* @param language A language tag
|
|
164
|
-
* @returns An RDF.Literal or undefined if not found
|
|
165
|
-
*/
|
|
166
|
-
export function getDefinitionViaStatements(
|
|
167
|
-
subject: RDF.Term,
|
|
168
|
-
predicate: RDF.Term,
|
|
169
|
-
object: RDF.Term,
|
|
170
|
-
store: N3.Store,
|
|
171
|
-
language: string,
|
|
172
|
-
): RDF.Literal | undefined {
|
|
173
|
-
const statementId = getTargetStatementId(subject, predicate, object, store);
|
|
174
|
-
|
|
175
|
-
if (!statementId) {
|
|
176
|
-
return undefined;
|
|
177
|
-
}
|
|
178
|
-
|
|
179
|
-
const definition = getDefinition(statementId, store, language);
|
|
180
|
-
return definition || getDefinition(statementId, store);
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
/**
|
|
184
|
-
* Finds all the rdfs:subClassOf of a given RDF.Term
|
|
185
|
-
* @param subject the RDF.Term to find the parents of
|
|
186
|
-
* @param store A N3 quad store
|
|
187
|
-
* @returns An array of RDF.Terms
|
|
188
|
-
*/
|
|
189
|
-
export function getParentsOfClass(subject: RDF.Term, store: N3.Store): RDF.Term[] {
|
|
190
|
-
return store.getObjects(subject, ns.rdfs('subClassOf'), null);
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* Finds the rdfs:subPropertyOf of a given RDF.Term
|
|
195
|
-
* @param subject The RDF.Term to find the parent of
|
|
196
|
-
* @param store A N3 quad store
|
|
197
|
-
* @returns An RDF.Term or undefined if not found
|
|
198
|
-
*/
|
|
199
|
-
export function getParentOfProperty(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {
|
|
200
|
-
return store.getObjects(subject, ns.rdfs('subPropertyOf'), null).shift();
|
|
201
|
-
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* Finds the rdfs:range of a given RDF.Term
|
|
205
|
-
* @param subject The RDF.Term to find the range of
|
|
206
|
-
* @param store A N3 quad store
|
|
207
|
-
* @returns An RDF.Term or undefined if not found
|
|
208
|
-
*/
|
|
209
|
-
export function getRange(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {
|
|
210
|
-
return store.getObjects(subject, ns.rdfs('range'), null).shift();
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
/**
|
|
214
|
-
* Finds the rdfs:domain of a given RDF.Term
|
|
215
|
-
* @param subject The RDF.Term to find the domain of
|
|
216
|
-
* @param store A N3 quad store
|
|
217
|
-
* @returns An RDF.Term or undefined if not found
|
|
218
|
-
*/
|
|
219
|
-
export function getDomain(subject: RDF.Term, store: N3.Store): RDF.Term | undefined {
|
|
220
|
-
return store.getObjects(subject, ns.rdfs('domain'), null).shift();
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
/**
|
|
224
|
-
* Finds all the vann:usageNotes of a given RDF.Term
|
|
225
|
-
* @param subject The RDF.Term to find the usage notes for
|
|
226
|
-
* @param store A N3 quad store
|
|
227
|
-
* @returns An array of RDF.Literals
|
|
228
|
-
*/
|
|
229
|
-
export function getUsageNotes(subject: RDF.Term, store: N3.Store): RDF.Literal[] {
|
|
230
|
-
return <RDF.Literal[]>store.getObjects(subject, ns.vann('usageNote'), null);
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
/**
|
|
234
|
-
* Finds the vann:usageNote of which the language tag matches the given language
|
|
235
|
-
* @param subject The RDF.Term to find the usage note for
|
|
236
|
-
* @param store A N3 quad store
|
|
237
|
-
* @param language A language tag
|
|
238
|
-
* @returns An RDF.Literal or undefined if not found
|
|
239
|
-
*/
|
|
240
|
-
export function getUsageNote(subject: RDF.Term, store: N3.Store, language?: string): RDF.Literal | undefined {
|
|
241
|
-
return getUsageNotes(subject, store).find(x => x.language === (language || ''));
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
/**
|
|
245
|
-
* Finds the vann:usageNote for an RDF.Term in rdf:Statements
|
|
246
|
-
* @param subject The statement subject
|
|
247
|
-
* @param predicate The statement predicate
|
|
248
|
-
* @param object The statement object for which the usage note must be found
|
|
249
|
-
* @param store A N3 quad store
|
|
250
|
-
* @param language A language tag
|
|
251
|
-
* @returns An RDF.Literal or undefined if not found
|
|
252
|
-
*/
|
|
253
|
-
export function getUsageNoteViaStatements(
|
|
254
|
-
subject: RDF.Term,
|
|
255
|
-
predicate: RDF.Term,
|
|
256
|
-
object: RDF.Term,
|
|
257
|
-
store: N3.Store,
|
|
258
|
-
language: string,
|
|
259
|
-
): RDF.Literal | undefined {
|
|
260
|
-
const statementId = getTargetStatementId(subject, predicate, object, store);
|
|
261
|
-
|
|
262
|
-
if (!statementId) {
|
|
263
|
-
return undefined;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
const usageNote = getUsageNote(statementId, store, language);
|
|
267
|
-
return usageNote || getUsageNote(statementId, store);
|
|
268
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFileOrUrl.js","sourceRoot":"","sources":["fetchFileOrUrl.ts"],"names":[],"mappings":";;;;;;AAAA,2BAAgC;AAChC,0CAA6C;AAC7C,4DAA+B;AAExB,KAAK,UAAU,cAAc,CAAC,IAAY;IAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE;QAC7D,OAAO,CAAC,MAAM,IAAA,oBAAK,EAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;KACrC;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;QAC9B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;KACtB;IAED,IAAI,CAAC,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAA,eAAI,EAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;KACjE;IAED,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC;AACxB,CAAC;AAdD,wCAcC","sourcesContent":["import { existsSync } from 'fs';\r\nimport { readFile, stat } from 'fs/promises';\r\nimport fetch from 'node-fetch';\r\n\r\nexport async function fetchFileOrUrl(file: string): Promise<Buffer> {\r\n if (file.startsWith('http://') || file.startsWith('https://')) {\r\n return (await fetch(file)).buffer();\r\n }\r\n\r\n if (file.startsWith('file://')) {\r\n file = file.slice(7);\r\n }\r\n\r\n if (!existsSync(file) || !(await stat(file)).isFile()) {\r\n throw new Error(`Path does not refer to a valid file: ${file}`);\r\n }\r\n\r\n return readFile(file);\r\n}\r\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { existsSync } from 'fs';
|
|
2
|
-
import { readFile, stat } from 'fs/promises';
|
|
3
|
-
import fetch from 'node-fetch';
|
|
4
|
-
|
|
5
|
-
export async function fetchFileOrUrl(file: string): Promise<Buffer> {
|
|
6
|
-
if (file.startsWith('http://') || file.startsWith('https://')) {
|
|
7
|
-
return (await fetch(file)).buffer();
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
if (file.startsWith('file://')) {
|
|
11
|
-
file = file.slice(7);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
if (!existsSync(file) || !(await stat(file)).isFile()) {
|
|
15
|
-
throw new Error(`Path does not refer to a valid file: ${file}`);
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
return readFile(file);
|
|
19
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"namespaces.js","sourceRoot":"","sources":["namespaces.ts"],"names":[],"mappings":";;;AAAA,uDAA+C;AAE/C,MAAM,OAAO,GAAG,IAAI,8BAAW,EAAE,CAAC;AAElC,yCAAyC;AACzC,IAAK,QAkBJ;AAlBD,WAAK,QAAQ;IACX,2CAA+B,CAAA;IAC/B,+CAAmC,CAAA;IACnC,+CAAmC,CAAA;IACnC,iDAAqC,CAAA;IACrC,+CAAmC,CAAA;IACnC,kDAAsC,CAAA;IACtC,yDAA6C,CAAA;IAC7C,6CAAiC,CAAA;IACjC,+DAAmD,CAAA;IACnD,0DAA8C,CAAA;IAC9C,oDAAwC,CAAA;IACxC,yDAA6C,CAAA;IAC7C,qDAAyC,CAAA;IACzC,mDAAuC,CAAA;IACvC,gDAAoC,CAAA;IACpC,6CAAiC,CAAA;IACjC,+CAAmC,CAAA;AACrC,CAAC,EAlBI,QAAQ,KAAR,QAAQ,QAkBZ;AAOD,MAAM,KAAK,GAAG,GAAc,EAAE;IAC5B,MAAM,UAAU,GAAQ,EAAE,CAAC;IAC3B,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE;QAC7B,MAAM,SAAS,GAAiB,QAAS,CAAC,MAAM,CAAC,CAAC;QAClD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,GAAG,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;KACnF;IAED,OAAkB,UAAU,CAAC;AAC/B,CAAC,CAAC;AAEW,QAAA,EAAE,GAAG,KAAK,EAAE,CAAC","sourcesContent":["import { DataFactory } from 'rdf-data-factory';\r\n\r\nconst factory = new DataFactory();\r\n\r\n// TODO: remove example.org from prefixes\r\nenum Prefixes {\r\n example = 'http://example.org/',\r\n adms = 'http://www.w3.org/ns/adms#',\r\n dcat = 'http://www.w3.org/ns/dcat#',\r\n dcterms = 'http://purl.org/dc/terms/',\r\n foaf = 'http://xmlns.com/foaf/0.1/',\r\n owl = 'http://www.w3.org/2002/07/owl#',\r\n vlaanderen = 'https://data.vlaanderen.be/ns/',\r\n void = 'http://rdfs.org/ns/void#',\r\n rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',\r\n rdfs = 'http://www.w3.org/2000/01/rdf-schema#',\r\n qb = 'http://purl.org/linked-data/cube#',\r\n skos = 'http://www.w3.org/2004/02/skos/core#',\r\n xsd = 'http://www.w3.org/2001/XMLSchema#',\r\n person = 'http://www.w3.org/ns/person#',\r\n vann = 'http://purl.org/vocab/vann/',\r\n shacl = 'http://w3.org/ns/shacl#',\r\n prov = 'http://www.w3.org/ns/prov#'\r\n}\r\n\r\nexport type Namespace = {\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n [T in keyof typeof Prefixes]: Function;\r\n};\r\n\r\nconst vocab = (): Namespace => {\r\n const namespaces: any = {};\r\n for (const prefix in Prefixes) {\r\n const expansion = <string>(<any>Prefixes)[prefix];\r\n namespaces[prefix] = (localName = '') => factory.namedNode(expansion + localName);\r\n }\r\n\r\n return <Namespace>namespaces;\r\n};\r\n\r\nexport const ns = vocab();\r\n"]}
|
package/lib/utils/namespaces.ts
DELETED
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { DataFactory } from 'rdf-data-factory';
|
|
2
|
-
|
|
3
|
-
const factory = new DataFactory();
|
|
4
|
-
|
|
5
|
-
// TODO: remove example.org from prefixes
|
|
6
|
-
enum Prefixes {
|
|
7
|
-
example = 'http://example.org/',
|
|
8
|
-
adms = 'http://www.w3.org/ns/adms#',
|
|
9
|
-
dcat = 'http://www.w3.org/ns/dcat#',
|
|
10
|
-
dcterms = 'http://purl.org/dc/terms/',
|
|
11
|
-
foaf = 'http://xmlns.com/foaf/0.1/',
|
|
12
|
-
owl = 'http://www.w3.org/2002/07/owl#',
|
|
13
|
-
vlaanderen = 'https://data.vlaanderen.be/ns/',
|
|
14
|
-
void = 'http://rdfs.org/ns/void#',
|
|
15
|
-
rdf = 'http://www.w3.org/1999/02/22-rdf-syntax-ns#',
|
|
16
|
-
rdfs = 'http://www.w3.org/2000/01/rdf-schema#',
|
|
17
|
-
qb = 'http://purl.org/linked-data/cube#',
|
|
18
|
-
skos = 'http://www.w3.org/2004/02/skos/core#',
|
|
19
|
-
xsd = 'http://www.w3.org/2001/XMLSchema#',
|
|
20
|
-
person = 'http://www.w3.org/ns/person#',
|
|
21
|
-
vann = 'http://purl.org/vocab/vann/',
|
|
22
|
-
shacl = 'http://w3.org/ns/shacl#',
|
|
23
|
-
prov = 'http://www.w3.org/ns/prov#'
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
export type Namespace = {
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
28
|
-
[T in keyof typeof Prefixes]: Function;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const vocab = (): Namespace => {
|
|
32
|
-
const namespaces: any = {};
|
|
33
|
-
for (const prefix in Prefixes) {
|
|
34
|
-
const expansion = <string>(<any>Prefixes)[prefix];
|
|
35
|
-
namespaces[prefix] = (localName = '') => factory.namedNode(expansion + localName);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
return <Namespace>namespaces;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
export const ns = vocab();
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"uniqueId.js","sourceRoot":"","sources":["uniqueId.ts"],"names":[],"mappings":";;;AAAA,yCAAmC;AAEnC,SAAgB,QAAQ,CAAC,IAAY,EAAE,KAAa,EAAE,EAAU;IAC9D,MAAM,MAAM,GAAG;QACb,IAAI;QACJ,KAAK;QACL,EAAE;KACH,CAAC;IAEF,OAAO,IAAA,kBAAM,EAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AACnD,CAAC;AARD,4BAQC","sourcesContent":["import { SHA256 } from 'crypto-js';\r\n\r\nexport function uniqueId(guid: string, label: string, id: number): string {\r\n const object = {\r\n guid,\r\n label,\r\n id,\r\n };\r\n\r\n return SHA256(JSON.stringify(object)).toString();\r\n}\r\n"]}
|
package/lib/utils/uniqueId.ts
DELETED