@comunica/actor-optimize-query-operation-assign-sources-exhaustive 4.5.0 → 5.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -5,6 +5,10 @@
5
5
  An [Optimize Query Operation](https://github.com/comunica/comunica/tree/master/packages/bus-optimize-query-operation) actor
6
6
  that converts every quad pattern in the query to a union of quad patterns per source.
7
7
  It will similarly handle property paths.
8
+ It assumes that sources are defined in the `KeysQueryOperation.querySources` context entry.
9
+
10
+ If the `KeysQueryOperation.serviceSources` context entry exists,
11
+ SERVICE clauses will be rewritten based on those service sources.
8
12
 
9
13
  If only a single source is being queried over, it will attempt to assign the whole query operation to the source
10
14
  if the source supports such operations. Otherwise, it will fallback to the union-based approach.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^4.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-query-operation/^4.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^4.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^5.0.0/components/context.jsonld",
4
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-optimize-query-operation/^5.0.0/components/context.jsonld",
5
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^5.0.0/components/context.jsonld"
6
6
  ],
7
7
  "@id": "npmd:@comunica/actor-optimize-query-operation-assign-sources-exhaustive",
8
8
  "components": [
@@ -35,37 +35,37 @@
35
35
  "genericTypeInstances": [
36
36
  {
37
37
  "@type": "ParameterRangeGenericTypeReference",
38
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
38
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
39
39
  },
40
40
  {
41
41
  "@type": "ParameterRangeGenericTypeReference",
42
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
42
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
43
43
  },
44
44
  {
45
45
  "@type": "ParameterRangeGenericTypeReference",
46
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
46
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
47
47
  },
48
48
  {
49
49
  "@type": "ParameterRangeGenericTypeReference",
50
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
50
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
51
51
  }
52
52
  ]
53
53
  },
54
54
  {
55
55
  "@type": "ParameterRangeGenericTypeReference",
56
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
56
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
57
57
  },
58
58
  {
59
59
  "@type": "ParameterRangeGenericTypeReference",
60
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
60
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
61
61
  },
62
62
  {
63
63
  "@type": "ParameterRangeGenericTypeReference",
64
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
64
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
65
65
  },
66
66
  {
67
67
  "@type": "ParameterRangeGenericTypeReference",
68
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
68
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
69
69
  }
70
70
  ]
71
71
  },
@@ -102,19 +102,19 @@
102
102
  "genericTypeInstances": [
103
103
  {
104
104
  "@type": "ParameterRangeGenericTypeReference",
105
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
105
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
106
106
  },
107
107
  {
108
108
  "@type": "ParameterRangeGenericTypeReference",
109
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
109
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
110
110
  },
111
111
  {
112
112
  "@type": "ParameterRangeGenericTypeReference",
113
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
113
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
114
114
  },
115
115
  {
116
116
  "@type": "ParameterRangeGenericTypeReference",
117
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
117
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
118
118
  }
119
119
  ]
120
120
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^4.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^5.0.0/components/context.jsonld"
4
4
  ],
5
5
  "@id": "npmd:@comunica/actor-optimize-query-operation-assign-sources-exhaustive",
6
6
  "@type": "Module",
@@ -3,7 +3,7 @@
3
3
  "https://linkedsoftwaredependencies.org/bundles/npm/componentsjs/^6.0.0/components/context.jsonld",
4
4
  {
5
5
  "npmd": "https://linkedsoftwaredependencies.org/bundles/npm/",
6
- "caoqoase": "npmd:@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^4.0.0/",
6
+ "caoqoase": "npmd:@comunica/actor-optimize-query-operation-assign-sources-exhaustive/^5.0.0/",
7
7
  "ActorOptimizeQueryOperationAssignSourcesExhaustive": {
8
8
  "@id": "caoqoase:components/ActorOptimizeQueryOperationAssignSourcesExhaustive.jsonld#ActorOptimizeQueryOperationAssignSourcesExhaustive",
9
9
  "@prefix": true,
@@ -2,7 +2,7 @@ import type { IActionOptimizeQueryOperation, IActorOptimizeQueryOperationOutput,
2
2
  import { ActorOptimizeQueryOperation } from '@comunica/bus-optimize-query-operation';
3
3
  import type { IActorTest, TestResult } from '@comunica/core';
4
4
  import type { IQuerySourceWrapper } from '@comunica/types';
5
- import { Algebra, Factory } from 'sparqlalgebrajs';
5
+ import { Algebra, AlgebraFactory } from '@comunica/utils-algebra';
6
6
  /**
7
7
  * A comunica Assign Sources Exhaustive Optimize Query Operation Actor.
8
8
  */
@@ -14,9 +14,10 @@ export declare class ActorOptimizeQueryOperationAssignSourcesExhaustive extends
14
14
  * Assign the given sources to the leaves in the given query operation.
15
15
  * Leaves will be wrapped in a union operation and duplicated for every source.
16
16
  * The input operation will not be modified.
17
- * @param algebraFactory The algebra factory.
17
+ * @param factory The algebra factory.
18
18
  * @param operation The input operation.
19
19
  * @param sources The sources to assign.
20
+ * @param serviceSources Mapping of SERVICE names to sources.
20
21
  */
21
- assignExhaustive(algebraFactory: Factory, operation: Algebra.Operation, sources: IQuerySourceWrapper[]): Algebra.Operation;
22
+ assignExhaustive(factory: AlgebraFactory, operation: Algebra.Operation, sources: IQuerySourceWrapper[], serviceSources: Record<string, IQuerySourceWrapper>): Algebra.Operation;
22
23
  }
@@ -2,11 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ActorOptimizeQueryOperationAssignSourcesExhaustive = void 0;
4
4
  const bus_optimize_query_operation_1 = require("@comunica/bus-optimize-query-operation");
5
- const bus_rdf_update_quads_1 = require("@comunica/bus-rdf-update-quads");
6
5
  const context_entries_1 = require("@comunica/context-entries");
7
6
  const core_1 = require("@comunica/core");
7
+ const utils_algebra_1 = require("@comunica/utils-algebra");
8
8
  const utils_query_operation_1 = require("@comunica/utils-query-operation");
9
- const sparqlalgebrajs_1 = require("sparqlalgebrajs");
10
9
  /**
11
10
  * A comunica Assign Sources Exhaustive Optimize Query Operation Actor.
12
11
  */
@@ -19,32 +18,20 @@ class ActorOptimizeQueryOperationAssignSourcesExhaustive extends bus_optimize_qu
19
18
  }
20
19
  async run(action) {
21
20
  const dataFactory = action.context.getSafe(context_entries_1.KeysInitQuery.dataFactory);
22
- const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);
21
+ const algebraFactory = new utils_algebra_1.AlgebraFactory(dataFactory);
23
22
  const sources = action.context.get(context_entries_1.KeysQueryOperation.querySources) ?? [];
24
- if (sources.length === 0) {
23
+ const serviceSources = action.context.get(context_entries_1.KeysQueryOperation.serviceSources) ?? {};
24
+ if (sources.length === 0 && Object.keys(serviceSources).length === 0) {
25
25
  return { operation: action.operation, context: action.context };
26
26
  }
27
- if (sources.length === 1) {
28
- const sourceWrapper = sources[0];
29
- const destination = action.context.get(context_entries_1.KeysRdfUpdateQuads.destination);
30
- if (!destination || sourceWrapper.source.referenceValue === (0, bus_rdf_update_quads_1.getDataDestinationValue)(destination)) {
31
- try {
32
- const shape = await sourceWrapper.source.getSelectorShape(action.context);
33
- if ((0, utils_query_operation_1.doesShapeAcceptOperation)(shape, action.operation)) {
34
- return {
35
- operation: (0, utils_query_operation_1.assignOperationSource)(action.operation, sourceWrapper),
36
- context: action.context,
37
- };
38
- }
39
- }
40
- catch {
41
- // Fallback to the default case when the selector shape does not exist,
42
- // which can occur for a non-existent destination.
43
- }
44
- }
27
+ if (await (0, utils_query_operation_1.passFullOperationToSource)(action.operation, sources, action.context)) {
28
+ return {
29
+ operation: (0, utils_query_operation_1.assignOperationSource)(action.operation, sources[0]),
30
+ context: action.context,
31
+ };
45
32
  }
46
33
  return {
47
- operation: this.assignExhaustive(algebraFactory, action.operation, sources),
34
+ operation: this.assignExhaustive(algebraFactory, action.operation, sources, serviceSources),
48
35
  // We only keep queryString in the context if we only have a single source that accepts the full operation.
49
36
  // In that case, the queryString can be sent to the source as-is.
50
37
  context: action.context
@@ -55,72 +42,72 @@ class ActorOptimizeQueryOperationAssignSourcesExhaustive extends bus_optimize_qu
55
42
  * Assign the given sources to the leaves in the given query operation.
56
43
  * Leaves will be wrapped in a union operation and duplicated for every source.
57
44
  * The input operation will not be modified.
58
- * @param algebraFactory The algebra factory.
45
+ * @param factory The algebra factory.
59
46
  * @param operation The input operation.
60
47
  * @param sources The sources to assign.
48
+ * @param serviceSources Mapping of SERVICE names to sources.
61
49
  */
62
- assignExhaustive(algebraFactory, operation, sources) {
63
- // eslint-disable-next-line ts/no-this-alias
64
- const self = this;
65
- return sparqlalgebrajs_1.Util.mapOperation(operation, {
66
- [sparqlalgebrajs_1.Algebra.types.PATTERN](subOperation, factory) {
67
- if (sources.length === 1) {
68
- return {
69
- result: (0, utils_query_operation_1.assignOperationSource)(subOperation, sources[0]),
70
- recurse: false,
71
- };
72
- }
73
- return {
74
- result: factory.createUnion(sources
75
- .map(source => (0, utils_query_operation_1.assignOperationSource)(subOperation, source))),
76
- recurse: false,
77
- };
50
+ assignExhaustive(factory, operation, sources, serviceSources) {
51
+ return utils_algebra_1.algebraUtils.mapOperation(operation, {
52
+ [utils_algebra_1.Algebra.Types.PATTERN]: {
53
+ preVisitor: () => ({ continue: false }),
54
+ transform: (patternOp) => {
55
+ if (sources.length === 1) {
56
+ return (0, utils_query_operation_1.assignOperationSource)(patternOp, sources[0]);
57
+ }
58
+ return factory.createUnion(sources
59
+ .map(source => (0, utils_query_operation_1.assignOperationSource)(patternOp, source)));
60
+ },
78
61
  },
79
- [sparqlalgebrajs_1.Algebra.types.LINK](subOperation, factory) {
80
- if (sources.length === 1) {
81
- return {
82
- result: (0, utils_query_operation_1.assignOperationSource)(subOperation, sources[0]),
83
- recurse: false,
84
- };
85
- }
86
- return {
87
- result: factory.createAlt(sources
88
- .map(source => (0, utils_query_operation_1.assignOperationSource)(subOperation, source))),
89
- recurse: false,
90
- };
62
+ [utils_algebra_1.Algebra.Types.SERVICE]: {
63
+ preVisitor: () => ({ continue: false }),
64
+ transform: (serviceOp) => {
65
+ if (serviceOp.name.termType === 'NamedNode') {
66
+ let source = serviceSources[serviceOp.name.value];
67
+ if (source) {
68
+ if (serviceOp.silent) {
69
+ source = {
70
+ ...source,
71
+ context: (source.context ?? new core_1.ActionContext()).set(context_entries_1.KeysInitQuery.lenient, true),
72
+ };
73
+ }
74
+ return this.assignExhaustive(factory, serviceOp.input, [source],
75
+ // Pass empty serviceSources to ensure nested SERVICE clauses are not transformed.
76
+ {});
77
+ }
78
+ }
79
+ return serviceOp;
80
+ },
91
81
  },
92
- [sparqlalgebrajs_1.Algebra.types.NPS](subOperation, factory) {
93
- if (sources.length === 1) {
94
- return {
95
- result: (0, utils_query_operation_1.assignOperationSource)(subOperation, sources[0]),
96
- recurse: false,
97
- };
98
- }
99
- return {
100
- result: factory.createAlt(sources
101
- .map(source => (0, utils_query_operation_1.assignOperationSource)(subOperation, source))),
102
- recurse: false,
103
- };
82
+ [utils_algebra_1.Algebra.Types.CONSTRUCT]: {
83
+ preVisitor: () => ({ continue: false }),
84
+ transform: constructOp => factory.createConstruct(this.assignExhaustive(factory, constructOp.input, sources, serviceSources), constructOp.template),
104
85
  },
105
- [sparqlalgebrajs_1.Algebra.types.SERVICE](subOperation) {
106
- return {
107
- result: subOperation,
108
- recurse: false,
109
- };
86
+ [utils_algebra_1.Algebra.Types.LINK]: {
87
+ preVisitor: () => ({ continue: false }),
88
+ transform: (linkOp) => {
89
+ if (sources.length === 1) {
90
+ return (0, utils_query_operation_1.assignOperationSource)(linkOp, sources[0]);
91
+ }
92
+ return factory.createAlt(sources
93
+ .map(source => (0, utils_query_operation_1.assignOperationSource)(linkOp, source)));
94
+ },
110
95
  },
111
- [sparqlalgebrajs_1.Algebra.types.CONSTRUCT](subOperation, factory) {
112
- return {
113
- result: factory.createConstruct(self.assignExhaustive(algebraFactory, subOperation.input, sources), subOperation.template),
114
- recurse: false,
115
- };
96
+ [utils_algebra_1.Algebra.Types.NPS]: {
97
+ preVisitor: () => ({ continue: false }),
98
+ transform: (npsOp) => {
99
+ if (sources.length === 1) {
100
+ return (0, utils_query_operation_1.assignOperationSource)(npsOp, sources[0]);
101
+ }
102
+ return factory.createAlt(sources
103
+ .map(source => (0, utils_query_operation_1.assignOperationSource)(npsOp, source)));
104
+ },
116
105
  },
117
- [sparqlalgebrajs_1.Algebra.types.DELETE_INSERT](subOperation, factory) {
118
- return {
119
- result: factory.createDeleteInsert(subOperation.delete, subOperation.insert, subOperation.where ? self.assignExhaustive(algebraFactory, subOperation.where, sources) : undefined),
120
- recurse: false,
121
- };
106
+ [utils_algebra_1.Algebra.Types.DELETE_INSERT]: {
107
+ preVisitor: () => ({ continue: false }),
108
+ transform: delInsOp => factory.createDeleteInsert(delInsOp.delete, delInsOp.insert, delInsOp.where ? this.assignExhaustive(factory, delInsOp.where, sources, serviceSources) : undefined),
122
109
  },
123
- }, algebraFactory);
110
+ });
124
111
  }
125
112
  }
126
113
  exports.ActorOptimizeQueryOperationAssignSourcesExhaustive = ActorOptimizeQueryOperationAssignSourcesExhaustive;
@@ -1 +1 @@
1
- {"version":3,"file":"ActorOptimizeQueryOperationAssignSourcesExhaustive.js","sourceRoot":"","sources":["ActorOptimizeQueryOperationAssignSourcesExhaustive.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n IActionOptimizeQueryOperation,\n IActorOptimizeQueryOperationOutput,\n IActorOptimizeQueryOperationArgs,\n} from '@comunica/bus-optimize-query-operation';\nimport { ActorOptimizeQueryOperation } from '@comunica/bus-optimize-query-operation';\nimport { getDataDestinationValue } from '@comunica/bus-rdf-update-quads';\nimport { KeysInitQuery, KeysQueryOperation, KeysRdfUpdateQuads } from '@comunica/context-entries';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport { passTestVoid } from '@comunica/core';\nimport type { ComunicaDataFactory, IDataDestination, IQuerySourceWrapper } from '@comunica/types';\nimport { assignOperationSource, doesShapeAcceptOperation } from '@comunica/utils-query-operation';\nimport { Algebra, Factory, Util } from 'sparqlalgebrajs';\n\n/**\n * A comunica Assign Sources Exhaustive Optimize Query Operation Actor.\n */\nexport class ActorOptimizeQueryOperationAssignSourcesExhaustive extends ActorOptimizeQueryOperation {\n public constructor(args: IActorOptimizeQueryOperationArgs) {\n super(args);\n }\n\n public async test(_action: IActionOptimizeQueryOperation): Promise<TestResult<IActorTest>> {\n return passTestVoid();\n }\n\n public async run(action: IActionOptimizeQueryOperation): Promise<IActorOptimizeQueryOperationOutput> {\n const dataFactory: ComunicaDataFactory = action.context.getSafe(KeysInitQuery.dataFactory);\n const algebraFactory = new Factory(dataFactory);\n\n const sources: IQuerySourceWrapper[] = action.context.get(KeysQueryOperation.querySources) ?? [];\n if (sources.length === 0) {\n return { operation: action.operation, context: action.context };\n }\n if (sources.length === 1) {\n const sourceWrapper = sources[0];\n const destination: IDataDestination | undefined = action.context.get(KeysRdfUpdateQuads.destination);\n if (!destination || sourceWrapper.source.referenceValue === getDataDestinationValue(destination)) {\n try {\n const shape = await sourceWrapper.source.getSelectorShape(action.context);\n if (doesShapeAcceptOperation(shape, action.operation)) {\n return {\n operation: assignOperationSource(action.operation, sourceWrapper),\n context: action.context,\n };\n }\n } catch {\n // Fallback to the default case when the selector shape does not exist,\n // which can occur for a non-existent destination.\n }\n }\n }\n return {\n operation: this.assignExhaustive(algebraFactory, action.operation, sources),\n // We only keep queryString in the context if we only have a single source that accepts the full operation.\n // In that case, the queryString can be sent to the source as-is.\n context: action.context\n .delete(KeysInitQuery.queryString),\n };\n }\n\n /**\n * Assign the given sources to the leaves in the given query operation.\n * Leaves will be wrapped in a union operation and duplicated for every source.\n * The input operation will not be modified.\n * @param algebraFactory The algebra factory.\n * @param operation The input operation.\n * @param sources The sources to assign.\n */\n public assignExhaustive(\n algebraFactory: Factory,\n operation: Algebra.Operation,\n sources: IQuerySourceWrapper[],\n ): Algebra.Operation {\n // eslint-disable-next-line ts/no-this-alias\n const self = this;\n return Util.mapOperation(operation, {\n [Algebra.types.PATTERN](subOperation, factory) {\n if (sources.length === 1) {\n return {\n result: assignOperationSource(subOperation, sources[0]),\n recurse: false,\n };\n }\n return {\n result: factory.createUnion(sources\n .map(source => assignOperationSource(subOperation, source))),\n recurse: false,\n };\n },\n [Algebra.types.LINK](subOperation, factory) {\n if (sources.length === 1) {\n return {\n result: assignOperationSource(subOperation, sources[0]),\n recurse: false,\n };\n }\n return {\n result: factory.createAlt(sources\n .map(source => assignOperationSource(subOperation, source))),\n recurse: false,\n };\n },\n [Algebra.types.NPS](subOperation, factory) {\n if (sources.length === 1) {\n return {\n result: assignOperationSource(subOperation, sources[0]),\n recurse: false,\n };\n }\n return {\n result: factory.createAlt(sources\n .map(source => assignOperationSource(subOperation, source))),\n recurse: false,\n };\n },\n [Algebra.types.SERVICE](subOperation) {\n return {\n result: subOperation,\n recurse: false,\n };\n },\n [Algebra.types.CONSTRUCT](subOperation, factory) {\n return {\n result: factory.createConstruct(\n self.assignExhaustive(algebraFactory, subOperation.input, sources),\n subOperation.template,\n ),\n recurse: false,\n };\n },\n [Algebra.types.DELETE_INSERT](subOperation, factory) {\n return {\n result: factory.createDeleteInsert(\n subOperation.delete,\n subOperation.insert,\n subOperation.where ? self.assignExhaustive(algebraFactory, subOperation.where, sources) : undefined,\n ),\n recurse: false,\n };\n },\n }, algebraFactory);\n }\n}\n"]}
1
+ {"version":3,"file":"ActorOptimizeQueryOperationAssignSourcesExhaustive.js","sourceRoot":"","sources":["ActorOptimizeQueryOperationAssignSourcesExhaustive.ts"],"names":[],"mappings":"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","sourcesContent":["import type {\n IActionOptimizeQueryOperation,\n IActorOptimizeQueryOperationOutput,\n IActorOptimizeQueryOperationArgs,\n} from '@comunica/bus-optimize-query-operation';\nimport { ActorOptimizeQueryOperation } from '@comunica/bus-optimize-query-operation';\nimport { KeysInitQuery, KeysQueryOperation } from '@comunica/context-entries';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport { ActionContext, passTestVoid } from '@comunica/core';\nimport type { ComunicaDataFactory, IQuerySourceWrapper } from '@comunica/types';\nimport { Algebra, AlgebraFactory, algebraUtils } from '@comunica/utils-algebra';\nimport {\n assignOperationSource,\n passFullOperationToSource,\n} from '@comunica/utils-query-operation';\n\n/**\n * A comunica Assign Sources Exhaustive Optimize Query Operation Actor.\n */\nexport class ActorOptimizeQueryOperationAssignSourcesExhaustive extends ActorOptimizeQueryOperation {\n public constructor(args: IActorOptimizeQueryOperationArgs) {\n super(args);\n }\n\n public async test(_action: IActionOptimizeQueryOperation): Promise<TestResult<IActorTest>> {\n return passTestVoid();\n }\n\n public async run(action: IActionOptimizeQueryOperation): Promise<IActorOptimizeQueryOperationOutput> {\n const dataFactory: ComunicaDataFactory = action.context.getSafe(KeysInitQuery.dataFactory);\n const algebraFactory = new AlgebraFactory(dataFactory);\n\n const sources = action.context.get(KeysQueryOperation.querySources) ?? [];\n const serviceSources = action.context.get(KeysQueryOperation.serviceSources) ?? {};\n if (sources.length === 0 && Object.keys(serviceSources).length === 0) {\n return { operation: action.operation, context: action.context };\n }\n if (await passFullOperationToSource(action.operation, sources, action.context)) {\n return {\n operation: assignOperationSource(action.operation, sources[0]),\n context: action.context,\n };\n }\n return {\n operation: this.assignExhaustive(algebraFactory, action.operation, sources, serviceSources),\n // We only keep queryString in the context if we only have a single source that accepts the full operation.\n // In that case, the queryString can be sent to the source as-is.\n context: action.context\n .delete(KeysInitQuery.queryString),\n };\n }\n\n /**\n * Assign the given sources to the leaves in the given query operation.\n * Leaves will be wrapped in a union operation and duplicated for every source.\n * The input operation will not be modified.\n * @param factory The algebra factory.\n * @param operation The input operation.\n * @param sources The sources to assign.\n * @param serviceSources Mapping of SERVICE names to sources.\n */\n public assignExhaustive(\n factory: AlgebraFactory,\n operation: Algebra.Operation,\n sources: IQuerySourceWrapper[],\n serviceSources: Record<string, IQuerySourceWrapper>,\n ): Algebra.Operation {\n return algebraUtils.mapOperation(operation, {\n [Algebra.Types.PATTERN]: {\n preVisitor: () => ({ continue: false }),\n transform: (patternOp) => {\n if (sources.length === 1) {\n return assignOperationSource(patternOp, sources[0]);\n }\n return factory.createUnion(sources\n .map(source => assignOperationSource(patternOp, source)));\n },\n },\n [Algebra.Types.SERVICE]: {\n preVisitor: () => ({ continue: false }),\n transform: (serviceOp) => {\n if (serviceOp.name.termType === 'NamedNode') {\n let source = serviceSources[serviceOp.name.value];\n if (source) {\n if (serviceOp.silent) {\n source = {\n ...source,\n context: (source.context ?? new ActionContext()).set(KeysInitQuery.lenient, true),\n };\n }\n return this.assignExhaustive(\n factory,\n serviceOp.input,\n [ source ],\n // Pass empty serviceSources to ensure nested SERVICE clauses are not transformed.\n {},\n );\n }\n }\n return serviceOp;\n },\n },\n [Algebra.Types.CONSTRUCT]: {\n preVisitor: () => ({ continue: false }),\n transform: constructOp => factory.createConstruct(\n this.assignExhaustive(factory, constructOp.input, sources, serviceSources),\n constructOp.template,\n ),\n },\n [Algebra.Types.LINK]: {\n preVisitor: () => ({ continue: false }),\n transform: (linkOp) => {\n if (sources.length === 1) {\n return assignOperationSource(linkOp, sources[0]);\n }\n return factory.createAlt(sources\n .map(source => assignOperationSource(linkOp, source)));\n },\n },\n [Algebra.Types.NPS]: {\n preVisitor: () => ({ continue: false }),\n transform: (npsOp) => {\n if (sources.length === 1) {\n return assignOperationSource(npsOp, sources[0]);\n }\n return factory.createAlt(sources\n .map(source => assignOperationSource(npsOp, source)));\n },\n },\n [Algebra.Types.DELETE_INSERT]: {\n preVisitor: () => ({ continue: false }),\n transform: delInsOp => factory.createDeleteInsert(\n delInsOp.delete,\n delInsOp.insert,\n delInsOp.where ? this.assignExhaustive(factory, delInsOp.where, sources, serviceSources) : undefined,\n ),\n },\n });\n }\n}\n"]}
package/lib/index.d.ts CHANGED
File without changes
package/lib/index.js CHANGED
File without changes
package/lib/index.js.map CHANGED
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/actor-optimize-query-operation-assign-sources-exhaustive",
3
- "version": "4.5.0",
3
+ "version": "5.0.2",
4
4
  "description": "A assign-sources-exhaustive optimize-query-operation actor",
5
5
  "lsd:module": true,
6
6
  "license": "MIT",
@@ -41,13 +41,12 @@
41
41
  "build:components": "componentsjs-generator"
42
42
  },
43
43
  "dependencies": {
44
- "@comunica/bus-optimize-query-operation": "^4.5.0",
45
- "@comunica/bus-rdf-update-quads": "^4.5.0",
46
- "@comunica/context-entries": "^4.5.0",
47
- "@comunica/core": "^4.5.0",
48
- "@comunica/types": "^4.5.0",
49
- "@comunica/utils-query-operation": "^4.5.0",
50
- "sparqlalgebrajs": "^5.0.2"
44
+ "@comunica/bus-optimize-query-operation": "^5.0.2",
45
+ "@comunica/context-entries": "^5.0.2",
46
+ "@comunica/core": "^5.0.2",
47
+ "@comunica/types": "^5.0.0",
48
+ "@comunica/utils-algebra": "^5.0.0",
49
+ "@comunica/utils-query-operation": "^5.0.2"
51
50
  },
52
- "gitHead": "2bcd98c387a021fc5c08d375793c205ca3d1bf0d"
51
+ "gitHead": "3b29f914010fd2fc56682a0ceff962ef6ff24f32"
53
52
  }