@comake/skl-js-engine 1.5.2 → 1.5.4
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/package.json +1 -1
- package/src/SklEngine.ts +8 -1
- package/src/util/TripleUtil.ts +22 -2
- package/dist/JsExecutor/PermissionBuilder.d.ts +0 -14
- package/dist/JsExecutor/PermissionBuilder.d.ts.map +0 -1
- package/dist/JsExecutor/PermissionBuilder.js +0 -58
- package/dist/JsExecutor/PermissionBuilder.js.map +0 -1
- package/dist/JsExecutor/constants.d.ts +0 -27
- package/dist/JsExecutor/constants.d.ts.map +0 -1
- package/dist/JsExecutor/constants.js +0 -30
- package/dist/JsExecutor/constants.js.map +0 -1
- package/dist/JsExecutor/denoUtils.d.ts +0 -10
- package/dist/JsExecutor/denoUtils.d.ts.map +0 -1
- package/dist/JsExecutor/denoUtils.js +0 -24
- package/dist/JsExecutor/denoUtils.js.map +0 -1
- package/dist/JsExecutor/errors.d.ts +0 -40
- package/dist/JsExecutor/errors.d.ts.map +0 -1
- package/dist/JsExecutor/errors.js +0 -67
- package/dist/JsExecutor/errors.js.map +0 -1
- package/dist/JsExecutor/examples/basic/index.d.ts +0 -1
- package/dist/JsExecutor/examples/basic/index.d.ts.map +0 -1
- package/dist/JsExecutor/examples/basic/index.js +0 -46
- package/dist/JsExecutor/examples/basic/index.js.map +0 -1
- package/dist/JsExecutor/examples/basic/process.d.ts +0 -1
- package/dist/JsExecutor/examples/basic/process.d.ts.map +0 -1
- package/dist/JsExecutor/examples/basic/process.js +0 -34
- package/dist/JsExecutor/examples/basic/process.js.map +0 -1
- package/dist/JsExecutor/examples/jsExecutor/index.d.ts +0 -2
- package/dist/JsExecutor/examples/jsExecutor/index.d.ts.map +0 -1
- package/dist/JsExecutor/examples/jsExecutor/index.js +0 -47
- package/dist/JsExecutor/examples/jsExecutor/index.js.map +0 -1
- package/dist/JsExecutor/examples/jsExecutor/process.d.ts +0 -2
- package/dist/JsExecutor/examples/jsExecutor/process.d.ts.map +0 -1
- package/dist/JsExecutor/examples/jsExecutor/process.js +0 -58
- package/dist/JsExecutor/examples/jsExecutor/process.js.map +0 -1
- package/dist/JsExecutor/index.d.ts +0 -7
- package/dist/JsExecutor/index.d.ts.map +0 -1
- package/dist/JsExecutor/index.js +0 -36
- package/dist/JsExecutor/index.js.map +0 -1
- package/dist/JsExecutor/jsExecutor.d.ts +0 -68
- package/dist/JsExecutor/jsExecutor.d.ts.map +0 -1
- package/dist/JsExecutor/jsExecutor.js +0 -171
- package/dist/JsExecutor/jsExecutor.js.map +0 -1
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.d.ts +0 -165
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.d.ts.map +0 -1
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.js +0 -335
- package/dist/JsExecutor/jsonRpc/JsonRpcClient.js.map +0 -1
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.d.ts +0 -125
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.d.ts.map +0 -1
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.js +0 -391
- package/dist/JsExecutor/jsonRpc/JsonRpcServer.js.map +0 -1
- package/dist/JsExecutor/jsonRpc/index.d.ts +0 -4
- package/dist/JsExecutor/jsonRpc/index.d.ts.map +0 -1
- package/dist/JsExecutor/jsonRpc/index.js +0 -23
- package/dist/JsExecutor/jsonRpc/index.js.map +0 -1
- package/dist/JsExecutor/jsonRpc/types.d.ts +0 -193
- package/dist/JsExecutor/jsonRpc/types.d.ts.map +0 -1
- package/dist/JsExecutor/jsonRpc/types.js +0 -37
- package/dist/JsExecutor/jsonRpc/types.js.map +0 -1
- package/dist/JsExecutor/transport/Transport.d.ts +0 -74
- package/dist/JsExecutor/transport/Transport.d.ts.map +0 -1
- package/dist/JsExecutor/transport/Transport.js +0 -14
- package/dist/JsExecutor/transport/Transport.js.map +0 -1
- package/dist/JsExecutor/transport/base/BaseTransport.d.ts +0 -51
- package/dist/JsExecutor/transport/base/BaseTransport.d.ts.map +0 -1
- package/dist/JsExecutor/transport/base/BaseTransport.js +0 -68
- package/dist/JsExecutor/transport/base/BaseTransport.js.map +0 -1
- package/dist/JsExecutor/transport/index.d.ts +0 -13
- package/dist/JsExecutor/transport/index.d.ts.map +0 -1
- package/dist/JsExecutor/transport/index.js +0 -36
- package/dist/JsExecutor/transport/index.js.map +0 -1
- package/dist/JsExecutor/transport/process/ProcessManager.d.ts +0 -96
- package/dist/JsExecutor/transport/process/ProcessManager.d.ts.map +0 -1
- package/dist/JsExecutor/transport/process/ProcessManager.js +0 -219
- package/dist/JsExecutor/transport/process/ProcessManager.js.map +0 -1
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.d.ts +0 -87
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.d.ts.map +0 -1
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.js +0 -219
- package/dist/JsExecutor/transport/stdio/ChildStdioTransport.js.map +0 -1
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.d.ts +0 -81
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.d.ts.map +0 -1
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.js +0 -259
- package/dist/JsExecutor/transport/stdio/ParentStdioTransport.js.map +0 -1
- package/dist/JsExecutor/transport/utils/MessageUtils.d.ts +0 -68
- package/dist/JsExecutor/transport/utils/MessageUtils.d.ts.map +0 -1
- package/dist/JsExecutor/transport/utils/MessageUtils.js +0 -135
- package/dist/JsExecutor/transport/utils/MessageUtils.js.map +0 -1
- package/dist/JsExecutor/transport/utils/PollingUtils.d.ts +0 -53
- package/dist/JsExecutor/transport/utils/PollingUtils.d.ts.map +0 -1
- package/dist/JsExecutor/transport/utils/PollingUtils.js +0 -92
- package/dist/JsExecutor/transport/utils/PollingUtils.js.map +0 -1
- package/dist/JsExecutor/types.d.ts +0 -113
- package/dist/JsExecutor/types.d.ts.map +0 -1
- package/dist/JsExecutor/types.js +0 -3
- package/dist/JsExecutor/types.js.map +0 -1
- package/dist/SklEngine.d.ts +0 -132
- package/dist/SklEngine.d.ts.map +0 -1
- package/dist/SklEngine.js +0 -1501
- package/dist/SklEngine.js.map +0 -1
- package/dist/SklEngineOptions.d.ts +0 -58
- package/dist/SklEngineOptions.d.ts.map +0 -1
- package/dist/SklEngineOptions.js +0 -3
- package/dist/SklEngineOptions.js.map +0 -1
- package/dist/constants.d.ts +0 -96
- package/dist/constants.d.ts.map +0 -1
- package/dist/constants.js +0 -103
- package/dist/constants.js.map +0 -1
- package/dist/customCapabilities.d.ts +0 -22
- package/dist/customCapabilities.d.ts.map +0 -1
- package/dist/customCapabilities.js +0 -45
- package/dist/customCapabilities.js.map +0 -1
- package/dist/examples/customCapabilitiesExample.d.ts +0 -2
- package/dist/examples/customCapabilitiesExample.d.ts.map +0 -1
- package/dist/examples/customCapabilitiesExample.js +0 -59
- package/dist/examples/customCapabilitiesExample.js.map +0 -1
- package/dist/executor.js +0 -216
- package/dist/hooks/globalHooks.d.ts +0 -50
- package/dist/hooks/globalHooks.d.ts.map +0 -1
- package/dist/hooks/globalHooks.js +0 -164
- package/dist/hooks/globalHooks.js.map +0 -1
- package/dist/hooks/types.d.ts +0 -9
- package/dist/hooks/types.d.ts.map +0 -1
- package/dist/hooks/types.js +0 -3
- package/dist/hooks/types.js.map +0 -1
- package/dist/index.d.ts +0 -41
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -68
- package/dist/index.js.map +0 -1
- package/dist/logger.d.ts +0 -35
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -119
- package/dist/logger.js.map +0 -1
- package/dist/mapping/Mapper.d.ts +0 -13
- package/dist/mapping/Mapper.d.ts.map +0 -1
- package/dist/mapping/Mapper.js +0 -64
- package/dist/mapping/Mapper.js.map +0 -1
- package/dist/storage/FindOperator.d.ts +0 -19
- package/dist/storage/FindOperator.d.ts.map +0 -1
- package/dist/storage/FindOperator.js +0 -23
- package/dist/storage/FindOperator.js.map +0 -1
- package/dist/storage/FindOptionsTypes.d.ts +0 -79
- package/dist/storage/FindOptionsTypes.d.ts.map +0 -1
- package/dist/storage/FindOptionsTypes.js +0 -3
- package/dist/storage/FindOptionsTypes.js.map +0 -1
- package/dist/storage/GroupOptionTypes.d.ts +0 -29
- package/dist/storage/GroupOptionTypes.d.ts.map +0 -1
- package/dist/storage/GroupOptionTypes.js +0 -3
- package/dist/storage/GroupOptionTypes.js.map +0 -1
- package/dist/storage/operator/And.d.ts +0 -4
- package/dist/storage/operator/And.d.ts.map +0 -1
- package/dist/storage/operator/And.js +0 -13
- package/dist/storage/operator/And.js.map +0 -1
- package/dist/storage/operator/Contains.d.ts +0 -3
- package/dist/storage/operator/Contains.d.ts.map +0 -1
- package/dist/storage/operator/Contains.js +0 -13
- package/dist/storage/operator/Contains.js.map +0 -1
- package/dist/storage/operator/Equal.d.ts +0 -5
- package/dist/storage/operator/Equal.d.ts.map +0 -1
- package/dist/storage/operator/Equal.js +0 -13
- package/dist/storage/operator/Equal.js.map +0 -1
- package/dist/storage/operator/Exists.d.ts +0 -3
- package/dist/storage/operator/Exists.d.ts.map +0 -1
- package/dist/storage/operator/Exists.js +0 -10
- package/dist/storage/operator/Exists.js.map +0 -1
- package/dist/storage/operator/GreaterThan.d.ts +0 -4
- package/dist/storage/operator/GreaterThan.d.ts.map +0 -1
- package/dist/storage/operator/GreaterThan.js +0 -13
- package/dist/storage/operator/GreaterThan.js.map +0 -1
- package/dist/storage/operator/GreaterThanOrEqual.d.ts +0 -4
- package/dist/storage/operator/GreaterThanOrEqual.d.ts.map +0 -1
- package/dist/storage/operator/GreaterThanOrEqual.js +0 -13
- package/dist/storage/operator/GreaterThanOrEqual.js.map +0 -1
- package/dist/storage/operator/In.d.ts +0 -4
- package/dist/storage/operator/In.d.ts.map +0 -1
- package/dist/storage/operator/In.js +0 -13
- package/dist/storage/operator/In.js.map +0 -1
- package/dist/storage/operator/Inverse.d.ts +0 -3
- package/dist/storage/operator/Inverse.d.ts.map +0 -1
- package/dist/storage/operator/Inverse.js +0 -13
- package/dist/storage/operator/Inverse.js.map +0 -1
- package/dist/storage/operator/InversePath.d.ts +0 -7
- package/dist/storage/operator/InversePath.d.ts.map +0 -1
- package/dist/storage/operator/InversePath.js +0 -13
- package/dist/storage/operator/InversePath.js.map +0 -1
- package/dist/storage/operator/InverseRelation.d.ts +0 -9
- package/dist/storage/operator/InverseRelation.d.ts.map +0 -1
- package/dist/storage/operator/InverseRelation.js +0 -13
- package/dist/storage/operator/InverseRelation.js.map +0 -1
- package/dist/storage/operator/InverseRelationOrder.d.ts +0 -8
- package/dist/storage/operator/InverseRelationOrder.d.ts.map +0 -1
- package/dist/storage/operator/InverseRelationOrder.js +0 -13
- package/dist/storage/operator/InverseRelationOrder.js.map +0 -1
- package/dist/storage/operator/LessThan.d.ts +0 -4
- package/dist/storage/operator/LessThan.d.ts.map +0 -1
- package/dist/storage/operator/LessThan.js +0 -13
- package/dist/storage/operator/LessThan.js.map +0 -1
- package/dist/storage/operator/LessThanOrEqual.d.ts +0 -4
- package/dist/storage/operator/LessThanOrEqual.d.ts.map +0 -1
- package/dist/storage/operator/LessThanOrEqual.js +0 -13
- package/dist/storage/operator/LessThanOrEqual.js.map +0 -1
- package/dist/storage/operator/Not.d.ts +0 -3
- package/dist/storage/operator/Not.d.ts.map +0 -1
- package/dist/storage/operator/Not.js +0 -13
- package/dist/storage/operator/Not.js.map +0 -1
- package/dist/storage/operator/OneOrMorePath.d.ts +0 -7
- package/dist/storage/operator/OneOrMorePath.d.ts.map +0 -1
- package/dist/storage/operator/OneOrMorePath.js +0 -13
- package/dist/storage/operator/OneOrMorePath.js.map +0 -1
- package/dist/storage/operator/Or.d.ts +0 -4
- package/dist/storage/operator/Or.d.ts.map +0 -1
- package/dist/storage/operator/Or.js +0 -13
- package/dist/storage/operator/Or.js.map +0 -1
- package/dist/storage/operator/Sequence.d.ts +0 -3
- package/dist/storage/operator/Sequence.d.ts.map +0 -1
- package/dist/storage/operator/Sequence.js +0 -13
- package/dist/storage/operator/Sequence.js.map +0 -1
- package/dist/storage/operator/SequencePath.d.ts +0 -7
- package/dist/storage/operator/SequencePath.d.ts.map +0 -1
- package/dist/storage/operator/SequencePath.js +0 -13
- package/dist/storage/operator/SequencePath.js.map +0 -1
- package/dist/storage/operator/ZeroOrMorePath.d.ts +0 -7
- package/dist/storage/operator/ZeroOrMorePath.d.ts.map +0 -1
- package/dist/storage/operator/ZeroOrMorePath.js +0 -13
- package/dist/storage/operator/ZeroOrMorePath.js.map +0 -1
- package/dist/storage/query-adapter/QueryAdapter.d.ts +0 -99
- package/dist/storage/query-adapter/QueryAdapter.d.ts.map +0 -1
- package/dist/storage/query-adapter/QueryAdapter.js +0 -3
- package/dist/storage/query-adapter/QueryAdapter.js.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts +0 -40
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js +0 -315
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapter.js.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.d.ts +0 -34
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.js +0 -3
- package/dist/storage/query-adapter/sparql/SparqlQueryAdapterOptions.js.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.d.ts +0 -104
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js +0 -1210
- package/dist/storage/query-adapter/sparql/SparqlQueryBuilder.js.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.d.ts +0 -41
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.js +0 -305
- package/dist/storage/query-adapter/sparql/SparqlUpdateBuilder.js.map +0 -1
- package/dist/storage/query-adapter/sparql/VariableGenerator.d.ts +0 -5
- package/dist/storage/query-adapter/sparql/VariableGenerator.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/VariableGenerator.js +0 -14
- package/dist/storage/query-adapter/sparql/VariableGenerator.js.map +0 -1
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts +0 -19
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js +0 -90
- package/dist/storage/query-adapter/sparql/query-executor/InMemorySparqlQueryExecutor.js.map +0 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts +0 -27
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.js +0 -116
- package/dist/storage/query-adapter/sparql/query-executor/SparqlEndpointQueryExecutor.js.map +0 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts +0 -34
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.d.ts.map +0 -1
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.js +0 -3
- package/dist/storage/query-adapter/sparql/query-executor/SparqlQueryExecutor.js.map +0 -1
- package/dist/tools/explain-findall-sparql.d.ts +0 -2
- package/dist/tools/explain-findall-sparql.d.ts.map +0 -1
- package/dist/tools/explain-findall-sparql.js +0 -303
- package/dist/tools/explain-findall-sparql.js.map +0 -1
- package/dist/util/PerformanceLogger.d.ts +0 -28
- package/dist/util/PerformanceLogger.d.ts.map +0 -1
- package/dist/util/PerformanceLogger.js +0 -223
- package/dist/util/PerformanceLogger.js.map +0 -1
- package/dist/util/ReadCacheHelper.d.ts +0 -14
- package/dist/util/ReadCacheHelper.d.ts.map +0 -1
- package/dist/util/ReadCacheHelper.js +0 -61
- package/dist/util/ReadCacheHelper.js.map +0 -1
- package/dist/util/SparqlUtil.d.ts +0 -72
- package/dist/util/SparqlUtil.d.ts.map +0 -1
- package/dist/util/SparqlUtil.js +0 -456
- package/dist/util/SparqlUtil.js.map +0 -1
- package/dist/util/TripleUtil.d.ts +0 -10
- package/dist/util/TripleUtil.d.ts.map +0 -1
- package/dist/util/TripleUtil.js +0 -402
- package/dist/util/TripleUtil.js.map +0 -1
- package/dist/util/Types.d.ts +0 -271
- package/dist/util/Types.d.ts.map +0 -1
- package/dist/util/Types.js +0 -3
- package/dist/util/Types.js.map +0 -1
- package/dist/util/Util.d.ts +0 -26
- package/dist/util/Util.d.ts.map +0 -1
- package/dist/util/Util.js +0 -138
- package/dist/util/Util.js.map +0 -1
- package/dist/util/Vocabularies/Shared.d.ts +0 -13
- package/dist/util/Vocabularies/Shared.d.ts.map +0 -1
- package/dist/util/Vocabularies/Shared.js +0 -96
- package/dist/util/Vocabularies/Shared.js.map +0 -1
- package/dist/util/Vocabularies/helper.d.ts +0 -5
- package/dist/util/Vocabularies/helper.d.ts.map +0 -1
- package/dist/util/Vocabularies/helper.js +0 -10
- package/dist/util/Vocabularies/helper.js.map +0 -1
- package/dist/util/Vocabularies/index.d.ts +0 -8
- package/dist/util/Vocabularies/index.d.ts.map +0 -1
- package/dist/util/Vocabularies/index.js +0 -114
- package/dist/util/Vocabularies/index.js.map +0 -1
- package/dist/util/safeJsonStringify.d.ts +0 -1
- package/dist/util/safeJsonStringify.d.ts.map +0 -1
- package/dist/util/safeJsonStringify.js +0 -19
- package/dist/util/safeJsonStringify.js.map +0 -1
|
@@ -1,315 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
/* eslint-disable capitalized-comments */
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.SparqlQueryAdapter = void 0;
|
|
5
|
-
const logger_1 = require("../../../logger");
|
|
6
|
-
const PerformanceLogger_1 = require("../../../util/PerformanceLogger");
|
|
7
|
-
const SparqlUtil_1 = require("../../../util/SparqlUtil");
|
|
8
|
-
const TripleUtil_1 = require("../../../util/TripleUtil");
|
|
9
|
-
const Util_1 = require("../../../util/Util");
|
|
10
|
-
const InMemorySparqlQueryExecutor_1 = require("./query-executor/InMemorySparqlQueryExecutor");
|
|
11
|
-
const SparqlEndpointQueryExecutor_1 = require("./query-executor/SparqlEndpointQueryExecutor");
|
|
12
|
-
const SparqlQueryBuilder_1 = require("./SparqlQueryBuilder");
|
|
13
|
-
const SparqlUpdateBuilder_1 = require("./SparqlUpdateBuilder");
|
|
14
|
-
/**
|
|
15
|
-
* A {@link QueryAdapter} that stores data in a database through a sparql endpoint.
|
|
16
|
-
*/
|
|
17
|
-
class SparqlQueryAdapter {
|
|
18
|
-
constructor(options) {
|
|
19
|
-
this.setTimestamps = options.setTimestamps ?? false;
|
|
20
|
-
switch (options.type) {
|
|
21
|
-
case 'memory':
|
|
22
|
-
this.queryExecutor = new InMemorySparqlQueryExecutor_1.InMemorySparqlQueryExecutor();
|
|
23
|
-
break;
|
|
24
|
-
case 'sparql':
|
|
25
|
-
this.queryExecutor = new SparqlEndpointQueryExecutor_1.SparqlEndpointQueryExecutor(options);
|
|
26
|
-
break;
|
|
27
|
-
default:
|
|
28
|
-
throw new Error('No schema source found in setSchema args.');
|
|
29
|
-
}
|
|
30
|
-
this.logger = logger_1.Logger.getInstance();
|
|
31
|
-
}
|
|
32
|
-
async executeRawQuery(query) {
|
|
33
|
-
const response = await this.queryExecutor.executeSparqlSelectAndGetDataRaw(query);
|
|
34
|
-
if (response.length === 0) {
|
|
35
|
-
return [];
|
|
36
|
-
}
|
|
37
|
-
return (0, SparqlUtil_1.selectQueryResultsAsJSValues)(response);
|
|
38
|
-
}
|
|
39
|
-
async executeRawConstructQuery(query, frame) {
|
|
40
|
-
const response = await this.queryExecutor.executeSparqlConstructAndGetDataRaw(query);
|
|
41
|
-
if (response.length === 0) {
|
|
42
|
-
return { '@graph': [] };
|
|
43
|
-
}
|
|
44
|
-
return await (0, TripleUtil_1.triplesToJsonldWithFrame)(response, frame);
|
|
45
|
-
}
|
|
46
|
-
async executeRawUpdate(query) {
|
|
47
|
-
await this.queryExecutor.executeRawSparqlUpdate(query);
|
|
48
|
-
}
|
|
49
|
-
async find(options) {
|
|
50
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.find', async () => {
|
|
51
|
-
const jsonld = await this.findAllAsJsonLd({ ...options, limit: 1 });
|
|
52
|
-
if (Array.isArray(jsonld) && !options?.skipFraming) {
|
|
53
|
-
if (jsonld.length === 0) {
|
|
54
|
-
return null;
|
|
55
|
-
}
|
|
56
|
-
if (jsonld.length === 1) {
|
|
57
|
-
return jsonld[0];
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return jsonld;
|
|
61
|
-
}, { options });
|
|
62
|
-
}
|
|
63
|
-
async findBy(where) {
|
|
64
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.findBy', async () => this.find({ where }), { where });
|
|
65
|
-
}
|
|
66
|
-
async findAll(options) {
|
|
67
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.findAll', async () => {
|
|
68
|
-
const jsonld = await this.findAllAsJsonLd(options);
|
|
69
|
-
if (Array.isArray(jsonld)) {
|
|
70
|
-
return jsonld;
|
|
71
|
-
}
|
|
72
|
-
return [jsonld];
|
|
73
|
-
}, { options });
|
|
74
|
-
}
|
|
75
|
-
async findAllAsJsonLd(options) {
|
|
76
|
-
const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
|
|
77
|
-
const { where, selectionTriples, entityOrder, rdfTypes } = await this.buildFindAllQueryData(queryBuilder, options);
|
|
78
|
-
if (entityOrder && entityOrder.length === 0) {
|
|
79
|
-
return [];
|
|
80
|
-
}
|
|
81
|
-
const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
|
|
82
|
-
const query = queryBuilder.buildConstructFromEntitySelectQuery(where, selectionTriples, options?.select, queryData.selectVariables);
|
|
83
|
-
return await this.executeEntitySelectQuery(query, options, entityOrder, rdfTypes);
|
|
84
|
-
}
|
|
85
|
-
async buildFindAllQueryData(queryBuilder, options) {
|
|
86
|
-
const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
|
|
87
|
-
const selectQueryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, {
|
|
88
|
-
...options,
|
|
89
|
-
relations: undefined
|
|
90
|
-
});
|
|
91
|
-
let rdfTypes;
|
|
92
|
-
const wherePatterns = [...selectQueryData.where, ...selectQueryData.graphWhere];
|
|
93
|
-
wherePatterns.push({
|
|
94
|
-
type: 'bgp',
|
|
95
|
-
triples: [
|
|
96
|
-
{
|
|
97
|
-
subject: SparqlUtil_1.entityVariable,
|
|
98
|
-
predicate: SparqlUtil_1.rdfTypeNamedNode,
|
|
99
|
-
object: SparqlUtil_1.rdfTypeVariable
|
|
100
|
-
}
|
|
101
|
-
]
|
|
102
|
-
});
|
|
103
|
-
const entitySelectVariable = options?.entitySelectVariable ?? SparqlUtil_1.entityVariable;
|
|
104
|
-
const groupBy = (0, Util_1.ensureArray)(selectQueryData?.group ?? options?.group ?? []);
|
|
105
|
-
groupBy.push(entitySelectVariable);
|
|
106
|
-
// All non-aggregated variables in SELECT must be in GROUP BY
|
|
107
|
-
for (const selectVariable of selectQueryData.selectVariables ?? []) {
|
|
108
|
-
if (!('aggregation' in selectVariable.expression) && selectVariable.expression.constructor.name === 'Variable') {
|
|
109
|
-
groupBy.push(selectVariable.expression);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
const entitySelectQuery = selectQueryData.where.length > 0
|
|
113
|
-
? (0, SparqlUtil_1.createSparqlSelectQuery)([
|
|
114
|
-
entitySelectVariable,
|
|
115
|
-
// (GROUP_CONCAT(DISTINCT str(?rdfType); SEPARATOR = " | ") AS ?rdfTypes)
|
|
116
|
-
{
|
|
117
|
-
expression: {
|
|
118
|
-
type: "aggregate",
|
|
119
|
-
aggregation: "group_concat",
|
|
120
|
-
separator: " | ",
|
|
121
|
-
distinct: true,
|
|
122
|
-
expression: {
|
|
123
|
-
type: "operation",
|
|
124
|
-
operator: "STR",
|
|
125
|
-
args: [SparqlUtil_1.rdfTypeVariable]
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
variable: SparqlUtil_1.rdfTypesVariable
|
|
129
|
-
},
|
|
130
|
-
...selectQueryData.selectVariables?.map(({ variable, expression }) => {
|
|
131
|
-
if (!expression)
|
|
132
|
-
return variable;
|
|
133
|
-
return {
|
|
134
|
-
variable,
|
|
135
|
-
expression
|
|
136
|
-
};
|
|
137
|
-
}) ?? []
|
|
138
|
-
], wherePatterns, selectQueryData.orders, groupBy, options?.limit, options?.offset)
|
|
139
|
-
: undefined;
|
|
140
|
-
let entityOrder;
|
|
141
|
-
/* If relations are present add them to where */
|
|
142
|
-
if ((queryData?.relationsQueryData?.unionPatterns ?? []).length > 0) {
|
|
143
|
-
queryData?.relationsQueryData?.unionPatterns.push((0, SparqlUtil_1.createSparqlGraphPattern)(SparqlUtil_1.entityVariable, [(0, SparqlUtil_1.createSparqlBasicGraphPattern)([SparqlUtil_1.entityGraphTriple])]));
|
|
144
|
-
}
|
|
145
|
-
if (queryData.orders.length > 0 && options?.limit !== 1 && entitySelectQuery) {
|
|
146
|
-
const entitySelectResponse = await this.queryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);
|
|
147
|
-
const valuesByVariable = (0, SparqlUtil_1.groupSelectQueryResultsByKey)(entitySelectResponse);
|
|
148
|
-
entityOrder = (0, SparqlUtil_1.getEntityVariableValuesFromVariables)(valuesByVariable);
|
|
149
|
-
if (entityOrder.length === 0) {
|
|
150
|
-
return {
|
|
151
|
-
where: queryData.where,
|
|
152
|
-
selectionTriples: queryData.graphSelectionTriples,
|
|
153
|
-
entityOrder: []
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
const variableValueFilters = (0, SparqlUtil_1.createValuesPatternsForVariables)({
|
|
157
|
-
[SparqlUtil_1.entityVariable.value]: valuesByVariable[SparqlUtil_1.entityVariable.value]
|
|
158
|
-
});
|
|
159
|
-
queryData.graphWhere = [...variableValueFilters, ...queryData.graphWhere];
|
|
160
|
-
}
|
|
161
|
-
else if (entitySelectQuery) {
|
|
162
|
-
// We need entity IDs for framing when:
|
|
163
|
-
// 1. There are relations (to distinguish root entities from related entities)
|
|
164
|
-
// 2. There's a type constraint (to handle subclass matching where SPARQL finds subclasses but JSON-LD needs exact types)
|
|
165
|
-
const hasRelations = (queryData?.relationsQueryData?.unionPatterns ?? []).length > 0;
|
|
166
|
-
const hasTypeConstraint = options?.where?.type !== undefined;
|
|
167
|
-
if ((hasRelations || hasTypeConstraint) && queryData.orders.length > 0) {
|
|
168
|
-
const entitySelectResponse = await this.queryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);
|
|
169
|
-
const valuesByVariable = (0, SparqlUtil_1.groupSelectQueryResultsByKey)(entitySelectResponse);
|
|
170
|
-
entityOrder = queryData.orders.length > 0 ? (0, SparqlUtil_1.getEntityVariableValuesFromVariables)(valuesByVariable) : [];
|
|
171
|
-
if (entityOrder.length === 0) {
|
|
172
|
-
return {
|
|
173
|
-
where: queryData.where,
|
|
174
|
-
selectionTriples: queryData.graphSelectionTriples,
|
|
175
|
-
entityOrder: []
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else if (hasRelations || hasTypeConstraint) {
|
|
180
|
-
const entitySelectResponse = await this.queryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);
|
|
181
|
-
const groupedResults = (0, SparqlUtil_1.groupSelectQueryResultsByKey)(entitySelectResponse);
|
|
182
|
-
const valuesByVariable = (0, SparqlUtil_1.getRdfTypeVariableValuesFromVariables)(groupedResults);
|
|
183
|
-
rdfTypes = [...new Set(valuesByVariable)];
|
|
184
|
-
// Also get entity IDs for framing to distinguish root entities from related ones
|
|
185
|
-
// entityOrder = getEntityVariableValuesFromVariables(groupedResults);
|
|
186
|
-
// if (entityOrder.length === 0) {
|
|
187
|
-
// return {
|
|
188
|
-
// where: queryData.where,
|
|
189
|
-
// selectionTriples: queryData.graphSelectionTriples,
|
|
190
|
-
// entityOrder: [],
|
|
191
|
-
// rdfTypes
|
|
192
|
-
// };
|
|
193
|
-
// }
|
|
194
|
-
}
|
|
195
|
-
// Always add the select group query to the CONSTRUCT
|
|
196
|
-
const entitySelectGroupQuery = (0, SparqlUtil_1.createSparqlSelectGroup)([entitySelectQuery]);
|
|
197
|
-
queryData.graphWhere.unshift(entitySelectGroupQuery);
|
|
198
|
-
// queryData.graphWhere = [ ...queryData.where, ...queryData.graphWhere ];
|
|
199
|
-
}
|
|
200
|
-
return {
|
|
201
|
-
where: queryData.graphWhere,
|
|
202
|
-
selectionTriples: queryData.graphSelectionTriples,
|
|
203
|
-
entityOrder,
|
|
204
|
-
rdfTypes
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
async executeEntitySelectQuery(query, options, entityOrder, rdfTypes) {
|
|
208
|
-
const responseTriples = await this.queryExecutor.executeSparqlSelectAndGetData(query);
|
|
209
|
-
return await (0, TripleUtil_1.triplesToJsonld)(responseTriples, options?.skipFraming, options?.relations, options?.where, entityOrder, rdfTypes);
|
|
210
|
-
}
|
|
211
|
-
async findAllBy(where) {
|
|
212
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.findAllBy', async () => this.findAll({ where }), { where });
|
|
213
|
-
}
|
|
214
|
-
async exists(options) {
|
|
215
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.exists', async () => {
|
|
216
|
-
const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
|
|
217
|
-
const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
|
|
218
|
-
const values = queryData.graphWhere.filter((pattern) => pattern.type === 'values');
|
|
219
|
-
const query = (0, SparqlUtil_1.creteSparqlAskQuery)([...values, ...queryData.where]);
|
|
220
|
-
return await this.queryExecutor.executeAskQueryAndGetResponse(query);
|
|
221
|
-
}, { options });
|
|
222
|
-
}
|
|
223
|
-
async count(options) {
|
|
224
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.count', async () => {
|
|
225
|
-
const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
|
|
226
|
-
const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(SparqlUtil_1.entityVariable, options);
|
|
227
|
-
const values = queryData.graphWhere.filter((pattern) => pattern.type === 'values');
|
|
228
|
-
const query = (0, SparqlUtil_1.createSparqlCountSelectQuery)(SparqlUtil_1.entityVariable, [...values, ...queryData.where], queryData.orders, options?.offset);
|
|
229
|
-
return await this.queryExecutor.executeSelectCountAndGetResponse(query);
|
|
230
|
-
}, { options });
|
|
231
|
-
}
|
|
232
|
-
async save(entityOrEntities) {
|
|
233
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.save', async () => {
|
|
234
|
-
const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });
|
|
235
|
-
const query = queryBuilder.buildUpdate(entityOrEntities);
|
|
236
|
-
await this.queryExecutor.executeSparqlUpdate(query);
|
|
237
|
-
return entityOrEntities;
|
|
238
|
-
}, { entityCount: Array.isArray(entityOrEntities) ? entityOrEntities.length : 1 });
|
|
239
|
-
}
|
|
240
|
-
async groupBy(options) {
|
|
241
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.groupBy', async () => {
|
|
242
|
-
const queryBuilder = new SparqlQueryBuilder_1.SparqlQueryBuilder();
|
|
243
|
-
const { query: selectQuery, variableMapping } = await queryBuilder.buildGroupByQuery(options);
|
|
244
|
-
const results = await this.queryExecutor.executeSparqlSelectAndGetData(selectQuery);
|
|
245
|
-
// Create reverse mapping from path to variable name
|
|
246
|
-
const reverseMapping = Object.entries(variableMapping).reduce((acc, [varName, path]) => {
|
|
247
|
-
acc[path] = varName;
|
|
248
|
-
return acc;
|
|
249
|
-
}, {});
|
|
250
|
-
// Transform results
|
|
251
|
-
const groupResults = results.map(result => {
|
|
252
|
-
const group = {};
|
|
253
|
-
options.groupBy?.forEach(path => {
|
|
254
|
-
const varName = reverseMapping[path];
|
|
255
|
-
if (!varName) {
|
|
256
|
-
throw new Error(`No variable mapping found for path: ${path}`);
|
|
257
|
-
}
|
|
258
|
-
const { value } = result[varName];
|
|
259
|
-
// Try to convert to number if possible
|
|
260
|
-
group[path] = Number.isNaN(Number(value)) ? value : Number(value);
|
|
261
|
-
});
|
|
262
|
-
if (options.dateGrouping) {
|
|
263
|
-
const dateGroupVarName = reverseMapping.dateGroup;
|
|
264
|
-
group.dateGroup = result[dateGroupVarName].value;
|
|
265
|
-
}
|
|
266
|
-
const countVarName = reverseMapping.count;
|
|
267
|
-
const entityIdsVarName = reverseMapping.entityIds;
|
|
268
|
-
return {
|
|
269
|
-
group,
|
|
270
|
-
count: Number.parseInt(result[countVarName].value, 10),
|
|
271
|
-
entityIds: result[entityIdsVarName].value.split(' ')
|
|
272
|
-
};
|
|
273
|
-
});
|
|
274
|
-
return {
|
|
275
|
-
results: groupResults,
|
|
276
|
-
meta: {
|
|
277
|
-
totalCount: groupResults.reduce((sum, curr) => sum + curr.count, 0),
|
|
278
|
-
dateRange: options.dateRange,
|
|
279
|
-
groupings: options.groupBy || []
|
|
280
|
-
}
|
|
281
|
-
};
|
|
282
|
-
}, { options });
|
|
283
|
-
}
|
|
284
|
-
async update(idOrIds, attributes) {
|
|
285
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.update', async () => {
|
|
286
|
-
const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });
|
|
287
|
-
const query = queryBuilder.buildPartialUpdate(idOrIds, attributes);
|
|
288
|
-
await this.queryExecutor.executeSparqlUpdate(query);
|
|
289
|
-
}, { idCount: Array.isArray(idOrIds) ? idOrIds.length : 1 });
|
|
290
|
-
}
|
|
291
|
-
async delete(idOrIds) {
|
|
292
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.delete', async () => {
|
|
293
|
-
const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder();
|
|
294
|
-
const query = queryBuilder.buildDeleteById(idOrIds);
|
|
295
|
-
await this.queryExecutor.executeSparqlUpdate(query);
|
|
296
|
-
}, { idCount: Array.isArray(idOrIds) ? idOrIds.length : 1 });
|
|
297
|
-
}
|
|
298
|
-
async destroy(entityOrEntities) {
|
|
299
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.destroy', async () => {
|
|
300
|
-
const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder();
|
|
301
|
-
const query = queryBuilder.buildDelete(entityOrEntities);
|
|
302
|
-
await this.queryExecutor.executeSparqlUpdate(query);
|
|
303
|
-
return entityOrEntities;
|
|
304
|
-
}, { entityCount: Array.isArray(entityOrEntities) ? entityOrEntities.length : 1 });
|
|
305
|
-
}
|
|
306
|
-
async destroyAll() {
|
|
307
|
-
return PerformanceLogger_1.PerformanceLogger.withSpan('Adapter.destroyAll', async () => {
|
|
308
|
-
const queryBuilder = new SparqlUpdateBuilder_1.SparqlUpdateBuilder();
|
|
309
|
-
const query = queryBuilder.buildDeleteAll();
|
|
310
|
-
await this.queryExecutor.executeSparqlUpdate(query);
|
|
311
|
-
});
|
|
312
|
-
}
|
|
313
|
-
}
|
|
314
|
-
exports.SparqlQueryAdapter = SparqlQueryAdapter;
|
|
315
|
-
//# sourceMappingURL=SparqlQueryAdapter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SparqlQueryAdapter.js","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryAdapter.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable capitalized-comments */\n \n/* eslint-disable @typescript-eslint/prefer-nullish-coalescing */\n/* eslint-disable indent */\n/* eslint-disable @typescript-eslint/naming-convention */\nimport type { OrArray } from '@comake/rmlmapper-js';\nimport type { GraphObject, NodeObject } from 'jsonld';\nimport type { Frame } from 'jsonld/jsonld-spec';\nimport type {\n AggregateExpression,\n ConstructQuery,\n Pattern,\n Triple,\n Variable\n} from 'sparqljs';\nimport { Logger } from '../../../logger';\nimport { PerformanceLogger } from '../../../util/PerformanceLogger';\nimport {\n createSparqlBasicGraphPattern, createSparqlCountSelectQuery, createSparqlGraphPattern,\n createSparqlSelectGroup,\n createSparqlSelectQuery,\n createValuesPatternsForVariables,\n creteSparqlAskQuery, entityGraphTriple, entityVariable, getEntityVariableValuesFromVariables,\n getRdfTypeVariableValuesFromVariables,\n groupSelectQueryResultsByKey,\n rdfTypeNamedNode,\n rdfTypesVariable,\n rdfTypeVariable,\n selectQueryResultsAsJSValues\n} from '../../../util/SparqlUtil';\nimport {\n triplesToJsonld,\n triplesToJsonldWithFrame\n} from '../../../util/TripleUtil';\nimport type { Entity } from '../../../util/Types';\nimport { ensureArray } from '../../../util/Util';\nimport type {\n FindAllOptions, FindCountOptions,\n FindExistsOptions, FindOneOptions, FindOptionsWhere\n} from '../../FindOptionsTypes';\nimport type { GroupByOptions, GroupByResponse, GroupResult } from '../../GroupOptionTypes';\nimport type { QueryAdapter, RawQueryResult } from '../QueryAdapter';\nimport { InMemorySparqlQueryExecutor } from './query-executor/InMemorySparqlQueryExecutor';\nimport { SparqlEndpointQueryExecutor } from './query-executor/SparqlEndpointQueryExecutor';\nimport type { QueryExecutor } from './query-executor/SparqlQueryExecutor';\nimport type { SparqlQueryAdapterOptions } from './SparqlQueryAdapterOptions';\nimport { SparqlQueryBuilder } from './SparqlQueryBuilder';\nimport { SparqlUpdateBuilder } from './SparqlUpdateBuilder';\n\n/**\n * A {@link QueryAdapter} that stores data in a database through a sparql endpoint.\n */\nexport class SparqlQueryAdapter implements QueryAdapter {\n protected readonly queryExecutor: QueryExecutor;\n private readonly setTimestamps: boolean;\n private readonly logger: Logger;\n\n public constructor(options: SparqlQueryAdapterOptions) {\n this.setTimestamps = options.setTimestamps ?? false;\n switch (options.type) {\n case 'memory':\n this.queryExecutor = new InMemorySparqlQueryExecutor();\n break;\n case 'sparql':\n this.queryExecutor = new SparqlEndpointQueryExecutor(options);\n break;\n default:\n throw new Error('No schema source found in setSchema args.');\n }\n this.logger = Logger.getInstance();\n }\n\n public async executeRawQuery<T extends RawQueryResult>(query: string): Promise<T[]> {\n const response =\n await this.queryExecutor.executeSparqlSelectAndGetDataRaw(query);\n if (response.length === 0) {\n return [] as T[];\n }\n return selectQueryResultsAsJSValues<T>(response);\n }\n\n public async executeRawConstructQuery(query: string, frame?: Frame): Promise<GraphObject> {\n const response = await this.queryExecutor.executeSparqlConstructAndGetDataRaw(query);\n if (response.length === 0) {\n return { '@graph': []};\n }\n return await triplesToJsonldWithFrame(response, frame);\n }\n\n public async executeRawUpdate(\n query: string\n ): Promise<void> {\n await this.queryExecutor.executeRawSparqlUpdate(query);\n }\n\n public async find(options?: FindOneOptions): Promise<Entity | null> {\n return PerformanceLogger.withSpan('Adapter.find', async() => {\n const jsonld = await this.findAllAsJsonLd({ ...options, limit: 1 });\n if (Array.isArray(jsonld) && !options?.skipFraming) {\n if (jsonld.length === 0) {\n return null;\n }\n if (jsonld.length === 1) {\n return jsonld[0] as Entity;\n }\n }\n return jsonld as Entity;\n }, { options });\n }\n\n public async findBy(where: FindOptionsWhere): Promise<Entity | null> {\n return PerformanceLogger.withSpan('Adapter.findBy', async() => this.find({ where }), { where });\n }\n\n public async findAll(options?: FindAllOptions): Promise<Entity[]> {\n return PerformanceLogger.withSpan('Adapter.findAll', async() => {\n const jsonld = await this.findAllAsJsonLd(options);\n if (Array.isArray(jsonld)) {\n return jsonld as Entity[];\n }\n return [ jsonld ] as Entity[];\n }, { options });\n }\n\n private async findAllAsJsonLd(options?: FindAllOptions): Promise<OrArray<NodeObject>> {\n const queryBuilder = new SparqlQueryBuilder();\n const { where, selectionTriples, entityOrder, rdfTypes } = await this.buildFindAllQueryData(queryBuilder, options);\n if (entityOrder && entityOrder.length === 0) {\n return [];\n }\n const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(entityVariable, options);\n const query = queryBuilder.buildConstructFromEntitySelectQuery(\n where,\n selectionTriples,\n options?.select,\n queryData.selectVariables\n );\n return await this.executeEntitySelectQuery(query, options, entityOrder, rdfTypes);\n }\n\n private async buildFindAllQueryData(\n queryBuilder: SparqlQueryBuilder,\n options?: FindAllOptions\n ): Promise<{ where: Pattern[]; selectionTriples: Triple[]; entityOrder?: string[], rdfTypes?: string[] }> {\n const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(entityVariable, options);\n const selectQueryData = queryBuilder.buildEntitySelectPatternsFromOptions(entityVariable, {\n ...options,\n relations: undefined\n });\n let rdfTypes: string[] | undefined;\n const wherePatterns: Pattern[] = [ ...selectQueryData.where, ...selectQueryData.graphWhere ];\n wherePatterns.push({\n type: 'bgp',\n triples: [\n {\n subject: entityVariable,\n predicate: rdfTypeNamedNode,\n object: rdfTypeVariable\n }\n ]\n });\n const entitySelectVariable = options?.entitySelectVariable ?? entityVariable;\n const groupBy = ensureArray(selectQueryData?.group ?? options?.group ?? []);\n groupBy.push(entitySelectVariable);\n // All non-aggregated variables in SELECT must be in GROUP BY\n for (const selectVariable of selectQueryData.selectVariables ?? []) {\n if (!('aggregation' in (selectVariable.expression as AggregateExpression)) && selectVariable.expression.constructor.name === 'Variable') {\n groupBy.push(selectVariable.expression as Variable);\n }\n }\n const entitySelectQuery = selectQueryData.where.length > 0\n ? createSparqlSelectQuery(\n [\n entitySelectVariable,\n // (GROUP_CONCAT(DISTINCT str(?rdfType); SEPARATOR = \" | \") AS ?rdfTypes)\n {\n expression: {\n type: \"aggregate\",\n aggregation: \"group_concat\",\n separator: \" | \",\n distinct: true,\n expression: {\n type: \"operation\",\n operator: \"STR\",\n args: [ rdfTypeVariable ]\n }\n },\n variable: rdfTypesVariable\n },\n ...selectQueryData.selectVariables?.map(({ variable, expression }) => {\n if (!expression) return variable;\n return {\n variable,\n expression\n };\n }) ?? []\n ],\n wherePatterns,\n selectQueryData.orders,\n groupBy,\n options?.limit,\n options?.offset\n )\n : undefined;\n let entityOrder: string[] | undefined;\n /* If relations are present add them to where */\n if ((queryData?.relationsQueryData?.unionPatterns ?? []).length > 0) {\n queryData?.relationsQueryData?.unionPatterns.push(\n createSparqlGraphPattern(entityVariable, [ createSparqlBasicGraphPattern([ entityGraphTriple ]) ])\n );\n }\n if (queryData.orders.length > 0 && options?.limit !== 1 && entitySelectQuery) {\n const entitySelectResponse =\n await this.queryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);\n const valuesByVariable = groupSelectQueryResultsByKey(entitySelectResponse);\n entityOrder = getEntityVariableValuesFromVariables(valuesByVariable);\n if (entityOrder.length === 0) {\n return {\n where: queryData.where,\n selectionTriples: queryData.graphSelectionTriples,\n entityOrder: []\n };\n }\n const variableValueFilters = createValuesPatternsForVariables({\n [entityVariable.value]: valuesByVariable[entityVariable.value]\n });\n queryData.graphWhere = [ ...variableValueFilters, ...queryData.graphWhere ];\n } else if (entitySelectQuery) {\n // We need entity IDs for framing when:\n // 1. There are relations (to distinguish root entities from related entities)\n // 2. There's a type constraint (to handle subclass matching where SPARQL finds subclasses but JSON-LD needs exact types)\n const hasRelations = (queryData?.relationsQueryData?.unionPatterns ?? []).length > 0;\n const hasTypeConstraint = options?.where?.type !== undefined;\n\n if ((hasRelations || hasTypeConstraint) && queryData.orders.length > 0) {\n const entitySelectResponse =\n await this.queryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);\n const valuesByVariable = groupSelectQueryResultsByKey(entitySelectResponse);\n entityOrder = queryData.orders.length > 0 ? getEntityVariableValuesFromVariables(valuesByVariable) : [];\n if (entityOrder.length === 0) {\n return {\n where: queryData.where,\n selectionTriples: queryData.graphSelectionTriples,\n entityOrder: []\n };\n }\n }\n else if (hasRelations || hasTypeConstraint) {\n const entitySelectResponse = await this.queryExecutor.executeSparqlSelectAndGetData(entitySelectQuery);\n const groupedResults = groupSelectQueryResultsByKey(entitySelectResponse);\n const valuesByVariable = getRdfTypeVariableValuesFromVariables(groupedResults);\n rdfTypes = [...new Set(valuesByVariable)];\n // Also get entity IDs for framing to distinguish root entities from related ones\n // entityOrder = getEntityVariableValuesFromVariables(groupedResults);\n // if (entityOrder.length === 0) {\n // return {\n // where: queryData.where,\n // selectionTriples: queryData.graphSelectionTriples,\n // entityOrder: [],\n // rdfTypes\n // };\n // }\n }\n\n // Always add the select group query to the CONSTRUCT\n const entitySelectGroupQuery = createSparqlSelectGroup([ entitySelectQuery ]);\n queryData.graphWhere.unshift(entitySelectGroupQuery);\n // queryData.graphWhere = [ ...queryData.where, ...queryData.graphWhere ];\n }\n return {\n where: queryData.graphWhere,\n selectionTriples: queryData.graphSelectionTriples,\n entityOrder,\n rdfTypes\n };\n }\n\n private async executeEntitySelectQuery(\n query: ConstructQuery,\n options?: FindAllOptions,\n entityOrder?: string[],\n rdfTypes?: string[]\n ): Promise<OrArray<NodeObject>> {\n const responseTriples = await this.queryExecutor.executeSparqlSelectAndGetData(query);\n return await triplesToJsonld(\n responseTriples,\n options?.skipFraming,\n options?.relations,\n options?.where,\n entityOrder,\n rdfTypes\n );\n }\n\n public async findAllBy(where: FindOptionsWhere): Promise<Entity[]> {\n return PerformanceLogger.withSpan('Adapter.findAllBy', async() => this.findAll({ where }), { where });\n }\n\n public async exists(options: FindExistsOptions): Promise<boolean> {\n return PerformanceLogger.withSpan('Adapter.exists', async() => {\n const queryBuilder = new SparqlQueryBuilder();\n const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(entityVariable, options);\n const values = queryData.graphWhere.filter((pattern): boolean => pattern.type === 'values');\n const query = creteSparqlAskQuery([ ...values, ...queryData.where ]);\n return await this.queryExecutor.executeAskQueryAndGetResponse(query);\n }, { options });\n }\n\n public async count(options: FindCountOptions): Promise<number> {\n return PerformanceLogger.withSpan('Adapter.count', async() => {\n const queryBuilder = new SparqlQueryBuilder();\n const queryData = queryBuilder.buildEntitySelectPatternsFromOptions(entityVariable, options);\n const values = queryData.graphWhere.filter((pattern): boolean => pattern.type === 'values');\n const query = createSparqlCountSelectQuery(\n entityVariable,\n [ ...values, ...queryData.where ],\n queryData.orders,\n options?.offset\n );\n return await this.queryExecutor.executeSelectCountAndGetResponse(query);\n }, { options });\n }\n\n public async save(entity: Entity): Promise<Entity>;\n public async save(entities: Entity[]): Promise<Entity[]>;\n public async save(entityOrEntities: Entity | Entity[]): Promise<Entity | Entity[]> {\n return PerformanceLogger.withSpan('Adapter.save', async() => {\n const queryBuilder = new SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });\n const query = queryBuilder.buildUpdate(entityOrEntities);\n await this.queryExecutor.executeSparqlUpdate(query);\n return entityOrEntities;\n }, { entityCount: Array.isArray(entityOrEntities) ? entityOrEntities.length : 1 });\n }\n\n public async groupBy(options: GroupByOptions): Promise<GroupByResponse> {\n return PerformanceLogger.withSpan('Adapter.groupBy', async() => {\n const queryBuilder = new SparqlQueryBuilder();\n const { query: selectQuery, variableMapping } = await queryBuilder.buildGroupByQuery(options);\n const results = await this.queryExecutor.executeSparqlSelectAndGetData(\n selectQuery\n );\n\n // Create reverse mapping from path to variable name\n const reverseMapping = Object.entries(variableMapping).reduce<Record<string, string>>((acc, [ varName, path ]) => {\n acc[path] = varName;\n return acc;\n }, {});\n\n // Transform results\n const groupResults: GroupResult[] = results.map(result => {\n const group: Record<string, string | number> = {};\n\n options.groupBy?.forEach(path => {\n const varName = reverseMapping[path];\n if (!varName) {\n throw new Error(`No variable mapping found for path: ${path}`);\n }\n const { value } = result[varName];\n // Try to convert to number if possible\n group[path] = Number.isNaN(Number(value)) ? value : Number(value);\n });\n\n if (options.dateGrouping) {\n const dateGroupVarName = reverseMapping.dateGroup;\n group.dateGroup = result[dateGroupVarName].value;\n }\n\n const countVarName = reverseMapping.count;\n const entityIdsVarName = reverseMapping.entityIds;\n\n return {\n group,\n count: Number.parseInt(result[countVarName].value, 10),\n entityIds: result[entityIdsVarName].value.split(' ')\n };\n });\n\n return {\n results: groupResults,\n meta: {\n totalCount: groupResults.reduce((sum, curr) => sum + curr.count, 0),\n dateRange: options.dateRange,\n groupings: options.groupBy || []\n }\n };\n }, { options });\n }\n\n public async update(id: string, attributes: Partial<Entity>): Promise<void>;\n public async update(ids: string[], attributes: Partial<Entity>): Promise<void>;\n public async update(idOrIds: string | string[], attributes: Partial<Entity>): Promise<void> {\n return PerformanceLogger.withSpan('Adapter.update', async() => {\n const queryBuilder = new SparqlUpdateBuilder({ setTimestamps: this.setTimestamps });\n const query = queryBuilder.buildPartialUpdate(idOrIds, attributes);\n await this.queryExecutor.executeSparqlUpdate(query);\n }, { idCount: Array.isArray(idOrIds) ? idOrIds.length : 1 });\n }\n\n public async delete(id: string): Promise<void>;\n public async delete(ids: string[]): Promise<void>;\n public async delete(idOrIds: string | string[]): Promise<void> {\n return PerformanceLogger.withSpan('Adapter.delete', async() => {\n const queryBuilder = new SparqlUpdateBuilder();\n const query = queryBuilder.buildDeleteById(idOrIds);\n await this.queryExecutor.executeSparqlUpdate(query);\n }, { idCount: Array.isArray(idOrIds) ? idOrIds.length : 1 });\n }\n\n public async destroy(entity: Entity): Promise<Entity>;\n public async destroy(entities: Entity[]): Promise<Entity[]>;\n public async destroy(entityOrEntities: Entity | Entity[]): Promise<Entity | Entity[]> {\n return PerformanceLogger.withSpan('Adapter.destroy', async() => {\n const queryBuilder = new SparqlUpdateBuilder();\n const query = queryBuilder.buildDelete(entityOrEntities);\n await this.queryExecutor.executeSparqlUpdate(query);\n return entityOrEntities;\n }, { entityCount: Array.isArray(entityOrEntities) ? entityOrEntities.length : 1 });\n }\n\n public async destroyAll(): Promise<void> {\n return PerformanceLogger.withSpan('Adapter.destroyAll', async() => {\n const queryBuilder = new SparqlUpdateBuilder();\n const query = queryBuilder.buildDeleteAll();\n await this.queryExecutor.executeSparqlUpdate(query);\n });\n }\n}\n"]}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
export declare type QueryAdapterType = 'memory' | 'sparql';
|
|
2
|
-
interface BaseQueryAdapterOptions {
|
|
3
|
-
/**
|
|
4
|
-
* Query Adapter type. This value is required.
|
|
5
|
-
*/
|
|
6
|
-
readonly type: QueryAdapterType;
|
|
7
|
-
/**
|
|
8
|
-
* Whether to set Dublic Core created and modified timestamps on saved entities. Defaults to false.
|
|
9
|
-
*/
|
|
10
|
-
readonly setTimestamps?: boolean;
|
|
11
|
-
}
|
|
12
|
-
interface SparqlEndpointQueryAdapterOptions extends BaseQueryAdapterOptions {
|
|
13
|
-
/**
|
|
14
|
-
* Query Adapter type.
|
|
15
|
-
*/
|
|
16
|
-
readonly type: 'sparql';
|
|
17
|
-
/**
|
|
18
|
-
* The location of the SPARQL endpoint. This value is required.
|
|
19
|
-
*/
|
|
20
|
-
readonly endpointUrl: string;
|
|
21
|
-
/**
|
|
22
|
-
* The location of the SPARQL update endpoint. Defaults to the value of endpointUrl if not set.
|
|
23
|
-
*/
|
|
24
|
-
readonly updateUrl?: string;
|
|
25
|
-
}
|
|
26
|
-
interface MemorySparqlQueryAdapterOptions extends BaseQueryAdapterOptions {
|
|
27
|
-
/**
|
|
28
|
-
* Query Adapter type.
|
|
29
|
-
*/
|
|
30
|
-
readonly type: 'memory';
|
|
31
|
-
}
|
|
32
|
-
export declare type SparqlQueryAdapterOptions = MemorySparqlQueryAdapterOptions | SparqlEndpointQueryAdapterOptions;
|
|
33
|
-
export {};
|
|
34
|
-
//# sourceMappingURL=SparqlQueryAdapterOptions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SparqlQueryAdapterOptions.d.ts","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryAdapterOptions.ts"],"names":[],"mappings":"AAAA,oBAAY,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEnD,UAAU,uBAAuB;IAC/B;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC;;OAEG;IACH,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,UAAU,iCAAkC,SAAQ,uBAAuB;IACzE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IACxB;;OAEG;IACH,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B;;OAEG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,UAAU,+BAAgC,SAAQ,uBAAuB;IACvE;;OAEG;IACH,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;CACzB;AAED,oBAAY,yBAAyB,GACnC,+BAA+B,GAC/B,iCAAiC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SparqlQueryAdapterOptions.js","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryAdapterOptions.ts"],"names":[],"mappings":"","sourcesContent":["export type QueryAdapterType = 'memory' | 'sparql';\n\ninterface BaseQueryAdapterOptions {\n /**\n * Query Adapter type. This value is required.\n */\n readonly type: QueryAdapterType;\n /**\n * Whether to set Dublic Core created and modified timestamps on saved entities. Defaults to false.\n */\n readonly setTimestamps?: boolean;\n}\n\ninterface SparqlEndpointQueryAdapterOptions extends BaseQueryAdapterOptions {\n /**\n * Query Adapter type.\n */\n readonly type: 'sparql';\n /**\n * The location of the SPARQL endpoint. This value is required.\n */\n readonly endpointUrl: string;\n /**\n * The location of the SPARQL update endpoint. Defaults to the value of endpointUrl if not set.\n */\n readonly updateUrl?: string;\n}\n\ninterface MemorySparqlQueryAdapterOptions extends BaseQueryAdapterOptions {\n /**\n * Query Adapter type.\n */\n readonly type: 'memory';\n}\n\nexport type SparqlQueryAdapterOptions =\n| MemorySparqlQueryAdapterOptions\n| SparqlEndpointQueryAdapterOptions;\n"]}
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
import type { Variable } from '@rdfjs/types';
|
|
2
|
-
import type { ConstructQuery, Expression, OperationExpression, Ordering, Pattern, SelectQuery, Triple, ValuesPattern } from 'sparqljs';
|
|
3
|
-
import type { FindOptionsOrder, FindOptionsRelations, FindOptionsSelect, FindOptionsWhere, SubQuery } from '../../FindOptionsTypes';
|
|
4
|
-
import type { GroupByOptions } from '../../GroupOptionTypes';
|
|
5
|
-
export interface NonGraphWhereQueryData {
|
|
6
|
-
values: ValuesPattern[];
|
|
7
|
-
triples: Triple[];
|
|
8
|
-
filters: OperationExpression[];
|
|
9
|
-
patterns?: Pattern[];
|
|
10
|
-
binds?: Pattern[];
|
|
11
|
-
}
|
|
12
|
-
export interface WhereQueryData extends NonGraphWhereQueryData {
|
|
13
|
-
graphValues: ValuesPattern[];
|
|
14
|
-
graphTriples: Triple[];
|
|
15
|
-
graphFilters: OperationExpression[];
|
|
16
|
-
serviceTriples?: Record<string, Triple[]>;
|
|
17
|
-
selectVariables?: {
|
|
18
|
-
variable: Variable;
|
|
19
|
-
}[];
|
|
20
|
-
}
|
|
21
|
-
export interface RelationsQueryData {
|
|
22
|
-
patterns: Pattern[];
|
|
23
|
-
selectionTriples: Triple[];
|
|
24
|
-
unionPatterns: Pattern[];
|
|
25
|
-
}
|
|
26
|
-
export interface OrderQueryData {
|
|
27
|
-
triples: Triple[];
|
|
28
|
-
filters: OperationExpression[];
|
|
29
|
-
orders: Ordering[];
|
|
30
|
-
groupByParent?: boolean;
|
|
31
|
-
patterns?: Pattern[];
|
|
32
|
-
}
|
|
33
|
-
export interface EntitySelectQueryData {
|
|
34
|
-
where: Pattern[];
|
|
35
|
-
orders: Ordering[];
|
|
36
|
-
graphWhere: Pattern[];
|
|
37
|
-
graphSelectionTriples: Triple[];
|
|
38
|
-
group?: Variable;
|
|
39
|
-
selectVariables: {
|
|
40
|
-
variable: Variable;
|
|
41
|
-
expression: Expression;
|
|
42
|
-
}[];
|
|
43
|
-
relationsQueryData?: RelationsQueryData;
|
|
44
|
-
}
|
|
45
|
-
export interface SparqlQueryBuilderOptions {
|
|
46
|
-
where?: FindOptionsWhere;
|
|
47
|
-
select?: FindOptionsSelect;
|
|
48
|
-
order?: FindOptionsOrder;
|
|
49
|
-
relations?: FindOptionsRelations;
|
|
50
|
-
subQueries?: SubQuery[];
|
|
51
|
-
}
|
|
52
|
-
export declare class SparqlQueryBuilder {
|
|
53
|
-
private readonly variableGenerator;
|
|
54
|
-
constructor();
|
|
55
|
-
buildEntitySelectPatternsFromOptions(subject: Variable, options?: SparqlQueryBuilderOptions): EntitySelectQueryData;
|
|
56
|
-
private createSubQueryPatterns;
|
|
57
|
-
private createEntityGraphFilterPattern;
|
|
58
|
-
buildConstructFromEntitySelectQuery(graphWhere: Pattern[], graphSelectionTriples: Triple[], select?: FindOptionsSelect, selectVariables?: {
|
|
59
|
-
variable: Variable;
|
|
60
|
-
expression: Expression;
|
|
61
|
-
}[]): ConstructQuery;
|
|
62
|
-
private createWhereQueryData;
|
|
63
|
-
private createWhereQueryDataForField;
|
|
64
|
-
private createWhereQueryDataForAndClause;
|
|
65
|
-
private createWhereQueryDataForOrClause;
|
|
66
|
-
private createWhereQueryDataForIdValue;
|
|
67
|
-
private createWhereQueryDataForType;
|
|
68
|
-
private createWhereQueryDataFromKeyValue;
|
|
69
|
-
private createWhereQueryDataForFindOperator;
|
|
70
|
-
private pathOperatorToPropertyPath;
|
|
71
|
-
private createWhereQueryDataForMultipleFindOperators;
|
|
72
|
-
private createWhereQueryDataForNestedWhere;
|
|
73
|
-
private createWhereQueryDataForValueObject;
|
|
74
|
-
private valueObjectToTerm;
|
|
75
|
-
private resolveFindOperatorAsExpressionWithMultipleValues;
|
|
76
|
-
private resolveFindOperatorAsExpressionForId;
|
|
77
|
-
private resolveValueToExpression;
|
|
78
|
-
private buildNotOperationForMultiValued;
|
|
79
|
-
private buildNotOperationForId;
|
|
80
|
-
private resolveValueToTerm;
|
|
81
|
-
private createOrderQueryData;
|
|
82
|
-
private createOrderQueryDataForProperty;
|
|
83
|
-
private createRelationsQueryData;
|
|
84
|
-
private createRelationsQueryDataForInverseRelation;
|
|
85
|
-
private createRelationsQueryDataForNestedRelation;
|
|
86
|
-
private createVariable;
|
|
87
|
-
private createSelectPattern;
|
|
88
|
-
private createWherePatternsFromQueryData;
|
|
89
|
-
private createGroupPatternForPath;
|
|
90
|
-
buildGroupByQuery(options: GroupByOptions): Promise<{
|
|
91
|
-
query: SelectQuery;
|
|
92
|
-
variableMapping: Record<string, string>;
|
|
93
|
-
}>;
|
|
94
|
-
private createDateGroupingBind;
|
|
95
|
-
private createYearExpression;
|
|
96
|
-
private createMonthExpression;
|
|
97
|
-
private createDayExpression;
|
|
98
|
-
private createPaddedDatePartExpression;
|
|
99
|
-
private createLessThanComparison;
|
|
100
|
-
private createPaddedStringExpression;
|
|
101
|
-
private createUnpaddedStringExpression;
|
|
102
|
-
private createDayExpressionParts;
|
|
103
|
-
}
|
|
104
|
-
//# sourceMappingURL=SparqlQueryBuilder.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SparqlQueryBuilder.d.ts","sourceRoot":"","sources":["../../../../src/storage/query-adapter/sparql/SparqlQueryBuilder.ts"],"names":[],"mappings":"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"}
|