@comunica/actor-query-process-sequential 4.5.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-process-sequential/^4.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^4.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-process/^4.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-process-sequential/^5.0.0/components/context.jsonld",
4
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^5.0.0/components/context.jsonld",
5
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-process/^5.0.0/components/context.jsonld"
6
6
  ],
7
7
  "@id": "npmd:@comunica/actor-query-process-sequential",
8
8
  "components": [
@@ -61,37 +61,37 @@
61
61
  "genericTypeInstances": [
62
62
  {
63
63
  "@type": "ParameterRangeGenericTypeReference",
64
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
64
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
65
65
  },
66
66
  {
67
67
  "@type": "ParameterRangeGenericTypeReference",
68
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
68
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
69
69
  },
70
70
  {
71
71
  "@type": "ParameterRangeGenericTypeReference",
72
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
72
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
73
73
  },
74
74
  {
75
75
  "@type": "ParameterRangeGenericTypeReference",
76
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
76
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
77
77
  }
78
78
  ]
79
79
  },
80
80
  {
81
81
  "@type": "ParameterRangeGenericTypeReference",
82
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
82
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
83
83
  },
84
84
  {
85
85
  "@type": "ParameterRangeGenericTypeReference",
86
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
86
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
87
87
  },
88
88
  {
89
89
  "@type": "ParameterRangeGenericTypeReference",
90
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
90
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
91
91
  },
92
92
  {
93
93
  "@type": "ParameterRangeGenericTypeReference",
94
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
94
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
95
95
  }
96
96
  ]
97
97
  },
@@ -128,19 +128,19 @@
128
128
  "genericTypeInstances": [
129
129
  {
130
130
  "@type": "ParameterRangeGenericTypeReference",
131
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
131
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
132
132
  },
133
133
  {
134
134
  "@type": "ParameterRangeGenericTypeReference",
135
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
135
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
136
136
  },
137
137
  {
138
138
  "@type": "ParameterRangeGenericTypeReference",
139
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
139
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
140
140
  },
141
141
  {
142
142
  "@type": "ParameterRangeGenericTypeReference",
143
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
143
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^5.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
144
144
  }
145
145
  ]
146
146
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-process-sequential/^4.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-process-sequential/^5.0.0/components/context.jsonld"
4
4
  ],
5
5
  "@id": "npmd:@comunica/actor-query-process-sequential",
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
- "caqps": "npmd:@comunica/actor-query-process-sequential/^4.0.0/",
6
+ "caqps": "npmd:@comunica/actor-query-process-sequential/^5.0.0/",
7
7
  "ActorQueryProcessSequential": {
8
8
  "@id": "caqps:components/ActorQueryProcessSequential.jsonld#ActorQueryProcessSequential",
9
9
  "@prefix": true,
@@ -7,7 +7,7 @@ import type { IActionQueryProcess, IActorQueryProcessOutput, IActorQueryProcessA
7
7
  import { ActorQueryProcess } from '@comunica/bus-query-process';
8
8
  import type { IActorTest, TestResult } from '@comunica/core';
9
9
  import type { IActionContext, IQueryOperationResult, QueryFormatType } from '@comunica/types';
10
- import type { Algebra } from 'sparqlalgebrajs';
10
+ import type { Algebra } from '@comunica/utils-algebra';
11
11
  /**
12
12
  * A comunica Sequential Query Process Actor.
13
13
  */
@@ -4,15 +4,25 @@ exports.ActorQueryProcessSequential = void 0;
4
4
  const bus_query_process_1 = require("@comunica/bus-query-process");
5
5
  const context_entries_1 = require("@comunica/context-entries");
6
6
  const core_1 = require("@comunica/core");
7
+ const utils_algebra_1 = require("@comunica/utils-algebra");
7
8
  const utils_bindings_factory_1 = require("@comunica/utils-bindings-factory");
8
9
  const utils_query_operation_1 = require("@comunica/utils-query-operation");
9
- const sparqlalgebrajs_1 = require("sparqlalgebrajs");
10
10
  /**
11
11
  * A comunica Sequential Query Process Actor.
12
12
  */
13
13
  class ActorQueryProcessSequential extends bus_query_process_1.ActorQueryProcess {
14
+ mediatorContextPreprocess;
15
+ mediatorQueryParse;
16
+ mediatorOptimizeQueryOperation;
17
+ mediatorQueryOperation;
18
+ mediatorMergeBindingsContext;
14
19
  constructor(args) {
15
20
  super(args);
21
+ this.mediatorContextPreprocess = args.mediatorContextPreprocess;
22
+ this.mediatorQueryParse = args.mediatorQueryParse;
23
+ this.mediatorOptimizeQueryOperation = args.mediatorOptimizeQueryOperation;
24
+ this.mediatorQueryOperation = args.mediatorQueryOperation;
25
+ this.mediatorMergeBindingsContext = args.mediatorMergeBindingsContext;
16
26
  }
17
27
  async test(action) {
18
28
  if (action.context.get(context_entries_1.KeysInitQuery.explain) ?? action.context.get(new core_1.ActionContextKey('explain'))) {
@@ -50,7 +60,7 @@ class ActorQueryProcessSequential extends bus_query_process_1.ActorQueryProcess
50
60
  // Apply initial bindings in context
51
61
  if (context.has(context_entries_1.KeysInitQuery.initialBindings)) {
52
62
  const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);
53
- const algebraFactory = new sparqlalgebrajs_1.Factory(dataFactory);
63
+ const algebraFactory = new utils_algebra_1.AlgebraFactory(dataFactory);
54
64
  const bindingsFactory = await utils_bindings_factory_1.BindingsFactory
55
65
  .create(this.mediatorMergeBindingsContext, context, dataFactory);
56
66
  operation = (0, utils_query_operation_1.materializeOperation)(operation, context.get(context_entries_1.KeysInitQuery.initialBindings), algebraFactory, bindingsFactory, { strictTargetVariables: true });
@@ -1 +1 @@
1
- {"version":3,"file":"ActorQueryProcessSequential.js","sourceRoot":"","sources":["ActorQueryProcessSequential.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MediatorContextPreprocess } from '@comunica/bus-context-preprocess';\nimport type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';\nimport type { MediatorOptimizeQueryOperation } from '@comunica/bus-optimize-query-operation';\nimport type { MediatorQueryOperation } from '@comunica/bus-query-operation';\nimport type { MediatorQueryParse } from '@comunica/bus-query-parse';\nimport type {\n IActionQueryProcess,\n IActorQueryProcessOutput,\n IActorQueryProcessArgs,\n IQueryProcessSequential,\n IQueryProcessSequentialOutput,\n} from '@comunica/bus-query-process';\nimport {\n ActorQueryProcess,\n} from '@comunica/bus-query-process';\nimport { KeysInitQuery } from '@comunica/context-entries';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport { failTest, passTestVoid, ActionContextKey } from '@comunica/core';\nimport type {\n ComunicaDataFactory,\n IActionContext,\n IQueryOperationResult,\n QueryFormatType,\n} from '@comunica/types';\nimport { BindingsFactory } from '@comunica/utils-bindings-factory';\nimport { materializeOperation } from '@comunica/utils-query-operation';\n\nimport type * as RDF from '@rdfjs/types';\nimport type { Algebra } from 'sparqlalgebrajs';\nimport { Factory } from 'sparqlalgebrajs';\n\n/**\n * A comunica Sequential Query Process Actor.\n */\nexport class ActorQueryProcessSequential extends ActorQueryProcess implements IQueryProcessSequential {\n public readonly mediatorContextPreprocess: MediatorContextPreprocess;\n public readonly mediatorQueryParse: MediatorQueryParse;\n public readonly mediatorOptimizeQueryOperation: MediatorOptimizeQueryOperation;\n public readonly mediatorQueryOperation: MediatorQueryOperation;\n public readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n\n public constructor(args: IActorQueryProcessSequentialArgs) {\n super(args);\n }\n\n public async test(action: IActionQueryProcess): Promise<TestResult<IActorTest>> {\n if (action.context.get(KeysInitQuery.explain) ?? action.context.get(new ActionContextKey('explain'))) {\n return failTest(`${this.name} is not able to explain queries.`);\n }\n return passTestVoid();\n }\n\n public async run(action: IActionQueryProcess): Promise<IActorQueryProcessOutput> {\n // Run all query processing steps in sequence\n let { operation, context } = await this.parse(action.query, action.context);\n ({ operation, context } = await this.optimize(operation, context));\n const output = await this.evaluate(operation, context);\n\n return { result: output };\n }\n\n public async parse(query: QueryFormatType, context: IActionContext): Promise<IQueryProcessSequentialOutput> {\n // Pre-processing the context\n context = (await this.mediatorContextPreprocess.mediate({ context, initialize: true })).context;\n\n // Parse query\n let operation: Algebra.Operation;\n if (typeof query === 'string') {\n // Save the original query string in the context\n context = context.set(KeysInitQuery.queryString, query);\n\n const baseIRI: string | undefined = context.get(KeysInitQuery.baseIRI);\n const queryFormat: RDF.QueryFormat = context.get(KeysInitQuery.queryFormat)!;\n const queryParseOutput = await this.mediatorQueryParse.mediate({ context, query, queryFormat, baseIRI });\n operation = queryParseOutput.operation;\n // Update the baseIRI in the context if the query modified it.\n if (queryParseOutput.baseIRI) {\n context = context.set(KeysInitQuery.baseIRI, queryParseOutput.baseIRI);\n }\n } else {\n operation = query;\n }\n\n // Apply initial bindings in context\n if (context.has(KeysInitQuery.initialBindings)) {\n const dataFactory: ComunicaDataFactory = context.getSafe(KeysInitQuery.dataFactory);\n const algebraFactory = new Factory(dataFactory);\n const bindingsFactory = await BindingsFactory\n .create(this.mediatorMergeBindingsContext, context, dataFactory);\n operation = materializeOperation(\n operation,\n context.get(KeysInitQuery.initialBindings)!,\n algebraFactory,\n bindingsFactory,\n { strictTargetVariables: true },\n );\n\n // Delete the query string from the context, since our initial query might have changed\n context = context.delete(KeysInitQuery.queryString);\n }\n\n return { operation, context };\n }\n\n public async optimize(operation: Algebra.Operation, context: IActionContext): Promise<IQueryProcessSequentialOutput> {\n // Save initial query in context\n context = context.set(KeysInitQuery.query, operation);\n\n ({ operation, context } = await this.mediatorOptimizeQueryOperation.mediate({ context, operation }));\n\n // Save original query in context\n context = context.set(KeysInitQuery.query, operation);\n\n return { operation, context };\n }\n\n public async evaluate(operation: Algebra.Operation, context: IActionContext): Promise<IQueryOperationResult> {\n const output = await this.mediatorQueryOperation.mediate({ context, operation });\n output.context = context;\n return output;\n }\n}\n\nexport interface IActorQueryProcessSequentialArgs extends IActorQueryProcessArgs {\n /**\n * The context processing combinator\n */\n mediatorContextPreprocess: MediatorContextPreprocess;\n /**\n * The query parse mediator\n */\n mediatorQueryParse: MediatorQueryParse;\n /**\n * The query operation optimize mediator\n */\n mediatorOptimizeQueryOperation: MediatorOptimizeQueryOperation;\n /**\n * The query operation mediator\n */\n mediatorQueryOperation: MediatorQueryOperation;\n /**\n * A mediator for creating binding context merge handlers\n */\n mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n}\n"]}
1
+ {"version":3,"file":"ActorQueryProcessSequential.js","sourceRoot":"","sources":["ActorQueryProcessSequential.ts"],"names":[],"mappings":"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","sourcesContent":["import type { MediatorContextPreprocess } from '@comunica/bus-context-preprocess';\nimport type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';\nimport type { MediatorOptimizeQueryOperation } from '@comunica/bus-optimize-query-operation';\nimport type { MediatorQueryOperation } from '@comunica/bus-query-operation';\nimport type { MediatorQueryParse } from '@comunica/bus-query-parse';\nimport type {\n IActionQueryProcess,\n IActorQueryProcessOutput,\n IActorQueryProcessArgs,\n IQueryProcessSequential,\n IQueryProcessSequentialOutput,\n} from '@comunica/bus-query-process';\nimport {\n ActorQueryProcess,\n} from '@comunica/bus-query-process';\nimport { KeysInitQuery } from '@comunica/context-entries';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport { failTest, passTestVoid, ActionContextKey } from '@comunica/core';\nimport type {\n ComunicaDataFactory,\n IActionContext,\n IQueryOperationResult,\n QueryFormatType,\n} from '@comunica/types';\nimport { AlgebraFactory } from '@comunica/utils-algebra';\nimport type { Algebra } from '@comunica/utils-algebra';\nimport { BindingsFactory } from '@comunica/utils-bindings-factory';\nimport { materializeOperation } from '@comunica/utils-query-operation';\nimport type * as RDF from '@rdfjs/types';\n\n/**\n * A comunica Sequential Query Process Actor.\n */\nexport class ActorQueryProcessSequential extends ActorQueryProcess implements IQueryProcessSequential {\n public readonly mediatorContextPreprocess: MediatorContextPreprocess;\n public readonly mediatorQueryParse: MediatorQueryParse;\n public readonly mediatorOptimizeQueryOperation: MediatorOptimizeQueryOperation;\n public readonly mediatorQueryOperation: MediatorQueryOperation;\n public readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n\n public constructor(args: IActorQueryProcessSequentialArgs) {\n super(args);\n this.mediatorContextPreprocess = args.mediatorContextPreprocess;\n this.mediatorQueryParse = args.mediatorQueryParse;\n this.mediatorOptimizeQueryOperation = args.mediatorOptimizeQueryOperation;\n this.mediatorQueryOperation = args.mediatorQueryOperation;\n this.mediatorMergeBindingsContext = args.mediatorMergeBindingsContext;\n }\n\n public async test(action: IActionQueryProcess): Promise<TestResult<IActorTest>> {\n if (action.context.get(KeysInitQuery.explain) ?? action.context.get(new ActionContextKey('explain'))) {\n return failTest(`${this.name} is not able to explain queries.`);\n }\n return passTestVoid();\n }\n\n public async run(action: IActionQueryProcess): Promise<IActorQueryProcessOutput> {\n // Run all query processing steps in sequence\n let { operation, context } = await this.parse(action.query, action.context);\n ({ operation, context } = await this.optimize(operation, context));\n const output = await this.evaluate(operation, context);\n\n return { result: output };\n }\n\n public async parse(query: QueryFormatType, context: IActionContext): Promise<IQueryProcessSequentialOutput> {\n // Pre-processing the context\n context = (await this.mediatorContextPreprocess.mediate({ context, initialize: true })).context;\n\n // Parse query\n let operation: Algebra.Operation;\n if (typeof query === 'string') {\n // Save the original query string in the context\n context = context.set(KeysInitQuery.queryString, query);\n\n const baseIRI: string | undefined = context.get(KeysInitQuery.baseIRI);\n const queryFormat: RDF.QueryFormat = context.get(KeysInitQuery.queryFormat)!;\n const queryParseOutput = await this.mediatorQueryParse.mediate({ context, query, queryFormat, baseIRI });\n operation = queryParseOutput.operation;\n // Update the baseIRI in the context if the query modified it.\n if (queryParseOutput.baseIRI) {\n context = context.set(KeysInitQuery.baseIRI, queryParseOutput.baseIRI);\n }\n } else {\n operation = query;\n }\n\n // Apply initial bindings in context\n if (context.has(KeysInitQuery.initialBindings)) {\n const dataFactory: ComunicaDataFactory = context.getSafe(KeysInitQuery.dataFactory);\n const algebraFactory = new AlgebraFactory(dataFactory);\n const bindingsFactory = await BindingsFactory\n .create(this.mediatorMergeBindingsContext, context, dataFactory);\n operation = materializeOperation(\n operation,\n context.get(KeysInitQuery.initialBindings)!,\n algebraFactory,\n bindingsFactory,\n { strictTargetVariables: true },\n );\n\n // Delete the query string from the context, since our initial query might have changed\n context = context.delete(KeysInitQuery.queryString);\n }\n\n return { operation, context };\n }\n\n public async optimize(operation: Algebra.Operation, context: IActionContext): Promise<IQueryProcessSequentialOutput> {\n // Save initial query in context\n context = context.set(KeysInitQuery.query, operation);\n\n ({ operation, context } = await this.mediatorOptimizeQueryOperation.mediate({ context, operation }));\n\n // Save original query in context\n context = context.set(KeysInitQuery.query, operation);\n\n return { operation, context };\n }\n\n public async evaluate(operation: Algebra.Operation, context: IActionContext): Promise<IQueryOperationResult> {\n const output = await this.mediatorQueryOperation.mediate({ context, operation });\n output.context = context;\n return output;\n }\n}\n\nexport interface IActorQueryProcessSequentialArgs extends IActorQueryProcessArgs {\n /**\n * The context processing combinator\n */\n mediatorContextPreprocess: MediatorContextPreprocess;\n /**\n * The query parse mediator\n */\n mediatorQueryParse: MediatorQueryParse;\n /**\n * The query operation optimize mediator\n */\n mediatorOptimizeQueryOperation: MediatorOptimizeQueryOperation;\n /**\n * The query operation mediator\n */\n mediatorQueryOperation: MediatorQueryOperation;\n /**\n * A mediator for creating binding context merge handlers\n */\n mediatorMergeBindingsContext: MediatorMergeBindingsContext;\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-query-process-sequential",
3
- "version": "4.5.0",
3
+ "version": "5.0.0",
4
4
  "description": "A sequential query-process actor",
5
5
  "lsd:module": true,
6
6
  "license": "MIT",
@@ -41,19 +41,19 @@
41
41
  "build:components": "componentsjs-generator"
42
42
  },
43
43
  "dependencies": {
44
- "@comunica/bus-context-preprocess": "^4.5.0",
45
- "@comunica/bus-merge-bindings-context": "^4.5.0",
46
- "@comunica/bus-optimize-query-operation": "^4.5.0",
47
- "@comunica/bus-query-operation": "^4.5.0",
48
- "@comunica/bus-query-parse": "^4.5.0",
49
- "@comunica/bus-query-process": "^4.5.0",
50
- "@comunica/context-entries": "^4.5.0",
51
- "@comunica/core": "^4.5.0",
52
- "@comunica/types": "^4.5.0",
53
- "@comunica/utils-bindings-factory": "^4.5.0",
54
- "@comunica/utils-query-operation": "^4.5.0",
55
- "@rdfjs/types": "*",
56
- "sparqlalgebrajs": "^5.0.2"
44
+ "@comunica/bus-context-preprocess": "^5.0.0",
45
+ "@comunica/bus-merge-bindings-context": "^5.0.0",
46
+ "@comunica/bus-optimize-query-operation": "^5.0.0",
47
+ "@comunica/bus-query-operation": "^5.0.0",
48
+ "@comunica/bus-query-parse": "^5.0.0",
49
+ "@comunica/bus-query-process": "^5.0.0",
50
+ "@comunica/context-entries": "^5.0.0",
51
+ "@comunica/core": "^5.0.0",
52
+ "@comunica/types": "^5.0.0",
53
+ "@comunica/utils-algebra": "^5.0.0",
54
+ "@comunica/utils-bindings-factory": "^5.0.0",
55
+ "@comunica/utils-query-operation": "^5.0.0",
56
+ "@rdfjs/types": "*"
57
57
  },
58
- "gitHead": "2bcd98c387a021fc5c08d375793c205ca3d1bf0d"
58
+ "gitHead": "0b1756fdb9bef014133432489627c1bd71779bd0"
59
59
  }