@comunica/actor-query-operation-source 3.3.0 → 4.0.1

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.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-source/^3.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^3.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^3.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-source/^4.0.0/components/context.jsonld",
4
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^4.0.0/components/context.jsonld",
5
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^4.0.0/components/context.jsonld"
6
6
  ],
7
7
  "@id": "npmd:@comunica/actor-query-operation-source",
8
8
  "components": [
@@ -35,29 +35,37 @@
35
35
  "genericTypeInstances": [
36
36
  {
37
37
  "@type": "ParameterRangeGenericTypeReference",
38
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
38
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
39
39
  },
40
40
  {
41
41
  "@type": "ParameterRangeGenericTypeReference",
42
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
42
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
43
43
  },
44
44
  {
45
45
  "@type": "ParameterRangeGenericTypeReference",
46
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
46
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
47
+ },
48
+ {
49
+ "@type": "ParameterRangeGenericTypeReference",
50
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
47
51
  }
48
52
  ]
49
53
  },
50
54
  {
51
55
  "@type": "ParameterRangeGenericTypeReference",
52
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
56
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
57
+ },
58
+ {
59
+ "@type": "ParameterRangeGenericTypeReference",
60
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
53
61
  },
54
62
  {
55
63
  "@type": "ParameterRangeGenericTypeReference",
56
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
64
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
57
65
  },
58
66
  {
59
67
  "@type": "ParameterRangeGenericTypeReference",
60
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
68
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
61
69
  }
62
70
  ]
63
71
  },
@@ -67,6 +75,20 @@
67
75
  },
68
76
  "comment": "The bus this actor subscribes to."
69
77
  },
78
+ {
79
+ "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_busFailMessage",
80
+ "range": {
81
+ "@type": "ParameterRangeUnion",
82
+ "parameterRangeElements": [
83
+ "xsd:string",
84
+ {
85
+ "@type": "ParameterRangeUndefined"
86
+ }
87
+ ]
88
+ },
89
+ "default": "Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}",
90
+ "comment": "The message that will be configured in the bus for reporting failures. This message may be a template string that contains references to the executed `action`. For example, the following templated string is allowed: \"RDF dereferencing failed: no actors could handle ${action.handle.mediaType}\""
91
+ },
70
92
  {
71
93
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_beforeActors",
72
94
  "range": {
@@ -80,15 +102,19 @@
80
102
  "genericTypeInstances": [
81
103
  {
82
104
  "@type": "ParameterRangeGenericTypeReference",
83
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
105
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
84
106
  },
85
107
  {
86
108
  "@type": "ParameterRangeGenericTypeReference",
87
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
109
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
88
110
  },
89
111
  {
90
112
  "@type": "ParameterRangeGenericTypeReference",
91
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
113
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
114
+ },
115
+ {
116
+ "@type": "ParameterRangeGenericTypeReference",
117
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
92
118
  }
93
119
  ]
94
120
  }
@@ -131,6 +157,12 @@
131
157
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_bus"
132
158
  }
133
159
  },
160
+ {
161
+ "keyRaw": "busFailMessage",
162
+ "value": {
163
+ "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_busFailMessage"
164
+ }
165
+ },
134
166
  {
135
167
  "keyRaw": "beforeActors",
136
168
  "value": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-source/^3.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-source/^4.0.0/components/context.jsonld"
4
4
  ],
5
5
  "@id": "npmd:@comunica/actor-query-operation-source",
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
- "caqos": "npmd:@comunica/actor-query-operation-source/^3.0.0/",
6
+ "caqos": "npmd:@comunica/actor-query-operation-source/^4.0.0/",
7
7
  "ActorQueryOperationSource": {
8
8
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource",
9
9
  "@prefix": true,
@@ -14,6 +14,9 @@
14
14
  "args_bus": {
15
15
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_bus"
16
16
  },
17
+ "args_busFailMessage": {
18
+ "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_busFailMessage"
19
+ },
17
20
  "args_beforeActors": {
18
21
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_beforeActors",
19
22
  "@container": "@list"
@@ -24,6 +27,9 @@
24
27
  "bus": {
25
28
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_bus"
26
29
  },
30
+ "busFailMessage": {
31
+ "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_busFailMessage"
32
+ },
27
33
  "beforeActors": {
28
34
  "@id": "caqos:components/ActorQueryOperationSource.jsonld#ActorQueryOperationSource_args_beforeActors",
29
35
  "@container": "@list"
@@ -1,12 +1,12 @@
1
1
  import type { IActionQueryOperation, IActorQueryOperationArgs } from '@comunica/bus-query-operation';
2
2
  import { ActorQueryOperation } from '@comunica/bus-query-operation';
3
- import type { IActorTest } from '@comunica/core';
3
+ import type { IActorTest, TestResult } from '@comunica/core';
4
4
  import type { IQueryOperationResult } from '@comunica/types';
5
5
  /**
6
6
  * A comunica Source Query Operation Actor.
7
7
  */
8
8
  export declare class ActorQueryOperationSource extends ActorQueryOperation {
9
9
  constructor(args: IActorQueryOperationArgs);
10
- test(action: IActionQueryOperation): Promise<IActorTest>;
10
+ test(action: IActionQueryOperation): Promise<TestResult<IActorTest>>;
11
11
  run(action: IActionQueryOperation): Promise<IQueryOperationResult>;
12
12
  }
@@ -3,7 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ActorQueryOperationSource = void 0;
4
4
  const bus_query_operation_1 = require("@comunica/bus-query-operation");
5
5
  const context_entries_1 = require("@comunica/context-entries");
6
- const metadata_1 = require("@comunica/metadata");
6
+ const core_1 = require("@comunica/core");
7
+ const utils_metadata_1 = require("@comunica/utils-metadata");
8
+ const utils_query_operation_1 = require("@comunica/utils-query-operation");
7
9
  const sparqlalgebrajs_1 = require("sparqlalgebrajs");
8
10
  /**
9
11
  * A comunica Source Query Operation Actor.
@@ -13,10 +15,10 @@ class ActorQueryOperationSource extends bus_query_operation_1.ActorQueryOperatio
13
15
  super(args);
14
16
  }
15
17
  async test(action) {
16
- if (!bus_query_operation_1.ActorQueryOperation.getOperationSource(action.operation)) {
17
- throw new Error(`Actor ${this.name} requires an operation with source annotation.`);
18
+ if (!(0, utils_query_operation_1.getOperationSource)(action.operation)) {
19
+ return (0, core_1.failTest)(`Actor ${this.name} requires an operation with source annotation.`);
18
20
  }
19
- return { httpRequests: 1 };
21
+ return (0, core_1.passTest)({ httpRequests: 1 });
20
22
  }
21
23
  async run(action) {
22
24
  // Log to physical plan
@@ -26,7 +28,7 @@ class ActorQueryOperationSource extends bus_query_operation_1.ActorQueryOperatio
26
28
  physicalQueryPlanLogger.logOperation(action.operation.type, undefined, action.operation, action.context.get(context_entries_1.KeysInitQuery.physicalQueryPlanNode), this.name, {});
27
29
  action.context = action.context.set(context_entries_1.KeysInitQuery.physicalQueryPlanNode, action.operation);
28
30
  }
29
- const sourceWrapper = bus_query_operation_1.ActorQueryOperation.getOperationSource(action.operation);
31
+ const sourceWrapper = (0, utils_query_operation_1.getOperationSource)(action.operation);
30
32
  const mergedContext = sourceWrapper.context ? action.context.merge(sourceWrapper.context) : action.context;
31
33
  // Check if the operation is a CONSTRUCT query
32
34
  // We recurse because it may be wrapped in other operations such as SLICE and FROM
@@ -40,7 +42,7 @@ class ActorQueryOperationSource extends bus_query_operation_1.ActorQueryOperatio
40
42
  // If so, delegate to queryQuads
41
43
  if (construct) {
42
44
  const quadStream = sourceWrapper.source.queryQuads(action.operation, mergedContext);
43
- const metadata = (0, metadata_1.getMetadataQuads)(quadStream);
45
+ const metadata = (0, utils_metadata_1.getMetadataQuads)(quadStream);
44
46
  return {
45
47
  type: 'quads',
46
48
  quadStream,
@@ -69,7 +71,7 @@ class ActorQueryOperationSource extends bus_query_operation_1.ActorQueryOperatio
69
71
  };
70
72
  }
71
73
  const bindingsStream = sourceWrapper.source.queryBindings(action.operation, mergedContext);
72
- const metadata = (0, metadata_1.getMetadataBindings)(bindingsStream);
74
+ const metadata = (0, utils_metadata_1.getMetadataBindings)(bindingsStream);
73
75
  return {
74
76
  type: 'bindings',
75
77
  bindingsStream,
@@ -1 +1 @@
1
- {"version":3,"file":"ActorQueryOperationSource.js","sourceRoot":"","sources":["ActorQueryOperationSource.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IActionQueryOperation, IActorQueryOperationArgs } from '@comunica/bus-query-operation';\nimport { ActorQueryOperation } from '@comunica/bus-query-operation';\nimport { KeysInitQuery } from '@comunica/context-entries';\nimport type { IActorTest } from '@comunica/core';\nimport { getMetadataBindings, getMetadataQuads } from '@comunica/metadata';\nimport type {\n IPhysicalQueryPlanLogger,\n IQueryOperationResult,\n IQuerySourceWrapper,\n} from '@comunica/types';\nimport { Algebra, Util } from 'sparqlalgebrajs';\n\n/**\n * A comunica Source Query Operation Actor.\n */\nexport class ActorQueryOperationSource extends ActorQueryOperation {\n public constructor(args: IActorQueryOperationArgs) {\n super(args);\n }\n\n public async test(action: IActionQueryOperation): Promise<IActorTest> {\n if (!ActorQueryOperation.getOperationSource(action.operation)) {\n throw new Error(`Actor ${this.name} requires an operation with source annotation.`);\n }\n return { httpRequests: 1 };\n }\n\n public async run(action: IActionQueryOperation): Promise<IQueryOperationResult> {\n // Log to physical plan\n const physicalQueryPlanLogger: IPhysicalQueryPlanLogger | undefined = action.context\n .get(KeysInitQuery.physicalQueryPlanLogger);\n if (physicalQueryPlanLogger) {\n physicalQueryPlanLogger.logOperation(\n action.operation.type,\n undefined,\n action.operation,\n action.context.get(KeysInitQuery.physicalQueryPlanNode),\n this.name,\n {},\n );\n action.context = action.context.set(KeysInitQuery.physicalQueryPlanNode, action.operation);\n }\n\n const sourceWrapper: IQuerySourceWrapper = ActorQueryOperation.getOperationSource(action.operation)!;\n const mergedContext = sourceWrapper.context ? action.context.merge(sourceWrapper.context) : action.context;\n\n // Check if the operation is a CONSTRUCT query\n // We recurse because it may be wrapped in other operations such as SLICE and FROM\n let construct = false;\n Util.recurseOperation(action.operation, {\n construct(): boolean {\n construct = true;\n return false;\n },\n });\n // If so, delegate to queryQuads\n if (construct) {\n const quadStream = sourceWrapper.source.queryQuads(action.operation, mergedContext);\n const metadata = getMetadataQuads(quadStream);\n return {\n type: 'quads',\n quadStream,\n metadata,\n };\n }\n\n // eslint-disable-next-line ts/switch-exhaustiveness-check\n switch (action.operation.type) {\n case Algebra.types.ASK:\n return {\n type: 'boolean',\n execute: () => sourceWrapper.source.queryBoolean(<Algebra.Ask>action.operation, mergedContext),\n };\n case Algebra.types.COMPOSITE_UPDATE:\n case Algebra.types.DELETE_INSERT:\n case Algebra.types.LOAD:\n case Algebra.types.CLEAR:\n case Algebra.types.CREATE:\n case Algebra.types.DROP:\n case Algebra.types.ADD:\n case Algebra.types.MOVE:\n case Algebra.types.COPY:\n return {\n type: 'void',\n execute: () => sourceWrapper.source.queryVoid(<Algebra.Update>action.operation, mergedContext),\n };\n }\n\n const bindingsStream = sourceWrapper.source.queryBindings(action.operation, mergedContext);\n const metadata = getMetadataBindings(bindingsStream);\n return {\n type: 'bindings',\n bindingsStream,\n metadata,\n };\n }\n}\n"]}
1
+ {"version":3,"file":"ActorQueryOperationSource.js","sourceRoot":"","sources":["ActorQueryOperationSource.ts"],"names":[],"mappings":"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","sourcesContent":["import type { IActionQueryOperation, IActorQueryOperationArgs } from '@comunica/bus-query-operation';\nimport { ActorQueryOperation } from '@comunica/bus-query-operation';\nimport { KeysInitQuery } from '@comunica/context-entries';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport { failTest, passTest } from '@comunica/core';\nimport type {\n IPhysicalQueryPlanLogger,\n IQueryOperationResult,\n IQuerySourceWrapper,\n} from '@comunica/types';\nimport { getMetadataBindings, getMetadataQuads } from '@comunica/utils-metadata';\nimport { getOperationSource } from '@comunica/utils-query-operation';\nimport { Algebra, Util } from 'sparqlalgebrajs';\n\n/**\n * A comunica Source Query Operation Actor.\n */\nexport class ActorQueryOperationSource extends ActorQueryOperation {\n public constructor(args: IActorQueryOperationArgs) {\n super(args);\n }\n\n public async test(action: IActionQueryOperation): Promise<TestResult<IActorTest>> {\n if (!getOperationSource(action.operation)) {\n return failTest(`Actor ${this.name} requires an operation with source annotation.`);\n }\n return passTest({ httpRequests: 1 });\n }\n\n public async run(action: IActionQueryOperation): Promise<IQueryOperationResult> {\n // Log to physical plan\n const physicalQueryPlanLogger: IPhysicalQueryPlanLogger | undefined = action.context\n .get(KeysInitQuery.physicalQueryPlanLogger);\n if (physicalQueryPlanLogger) {\n physicalQueryPlanLogger.logOperation(\n action.operation.type,\n undefined,\n action.operation,\n action.context.get(KeysInitQuery.physicalQueryPlanNode),\n this.name,\n {},\n );\n action.context = action.context.set(KeysInitQuery.physicalQueryPlanNode, action.operation);\n }\n\n const sourceWrapper: IQuerySourceWrapper = getOperationSource(action.operation)!;\n const mergedContext = sourceWrapper.context ? action.context.merge(sourceWrapper.context) : action.context;\n\n // Check if the operation is a CONSTRUCT query\n // We recurse because it may be wrapped in other operations such as SLICE and FROM\n let construct = false;\n Util.recurseOperation(action.operation, {\n construct(): boolean {\n construct = true;\n return false;\n },\n });\n // If so, delegate to queryQuads\n if (construct) {\n const quadStream = sourceWrapper.source.queryQuads(action.operation, mergedContext);\n const metadata = getMetadataQuads(quadStream);\n return {\n type: 'quads',\n quadStream,\n metadata,\n };\n }\n\n // eslint-disable-next-line ts/switch-exhaustiveness-check\n switch (action.operation.type) {\n case Algebra.types.ASK:\n return {\n type: 'boolean',\n execute: () => sourceWrapper.source.queryBoolean(<Algebra.Ask>action.operation, mergedContext),\n };\n case Algebra.types.COMPOSITE_UPDATE:\n case Algebra.types.DELETE_INSERT:\n case Algebra.types.LOAD:\n case Algebra.types.CLEAR:\n case Algebra.types.CREATE:\n case Algebra.types.DROP:\n case Algebra.types.ADD:\n case Algebra.types.MOVE:\n case Algebra.types.COPY:\n return {\n type: 'void',\n execute: () => sourceWrapper.source.queryVoid(<Algebra.Update>action.operation, mergedContext),\n };\n }\n\n const bindingsStream = sourceWrapper.source.queryBindings(action.operation, mergedContext);\n const metadata = getMetadataBindings(bindingsStream);\n return {\n type: 'bindings',\n bindingsStream,\n metadata,\n };\n }\n}\n"]}
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-operation-source",
3
- "version": "3.3.0",
3
+ "version": "4.0.1",
4
4
  "description": "A source query-operation actor",
5
5
  "lsd:module": true,
6
6
  "license": "MIT",
7
+ "funding": {
8
+ "type": "opencollective",
9
+ "url": "https://opencollective.com/comunica-association"
10
+ },
7
11
  "homepage": "https://comunica.dev/",
8
12
  "repository": {
9
13
  "type": "git",
@@ -37,12 +41,13 @@
37
41
  "build:components": "componentsjs-generator"
38
42
  },
39
43
  "dependencies": {
40
- "@comunica/bus-query-operation": "^3.3.0",
41
- "@comunica/context-entries": "^3.3.0",
42
- "@comunica/core": "^3.3.0",
43
- "@comunica/metadata": "^3.3.0",
44
- "@comunica/types": "^3.3.0",
45
- "sparqlalgebrajs": "^4.3.7"
44
+ "@comunica/bus-query-operation": "^4.0.1",
45
+ "@comunica/context-entries": "^4.0.1",
46
+ "@comunica/core": "^4.0.1",
47
+ "@comunica/types": "^4.0.1",
48
+ "@comunica/utils-metadata": "^4.0.1",
49
+ "@comunica/utils-query-operation": "^4.0.1",
50
+ "sparqlalgebrajs": "^4.3.8"
46
51
  },
47
- "gitHead": "02bde397d206f1f5a523643a6a604c89e792e2f9"
52
+ "gitHead": "67831ba79e45ea1ced41fe3f83c5d6e8802dbeaa"
48
53
  }