@comunica/actor-query-operation-update-deleteinsert 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.
package/README.md CHANGED
@@ -25,10 +25,10 @@ After installing, this package can be added to your engine's configuration as fo
25
25
  {
26
26
  "@context": [
27
27
  ...
28
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^3.0.0/components/context.jsonld",
28
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^4.0.0/components/context.jsonld",
29
29
 
30
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/mediator-race/^3.0.0/components/context.jsonld",
31
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-quads/^3.0.0/components/context.jsonld"
30
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/mediator-race/^4.0.0/components/context.jsonld",
31
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-quads/^4.0.0/components/context.jsonld"
32
32
  ],
33
33
  "actors": [
34
34
  ...
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^3.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^3.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^3.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^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-operation/^4.0.0/components/context.jsonld"
6
6
  ],
7
7
  "@id": "npmd:@comunica/actor-query-operation-update-deleteinsert",
8
8
  "components": [
@@ -55,29 +55,37 @@
55
55
  "genericTypeInstances": [
56
56
  {
57
57
  "@type": "ParameterRangeGenericTypeReference",
58
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
58
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
59
59
  },
60
60
  {
61
61
  "@type": "ParameterRangeGenericTypeReference",
62
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
62
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
63
63
  },
64
64
  {
65
65
  "@type": "ParameterRangeGenericTypeReference",
66
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
66
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
67
+ },
68
+ {
69
+ "@type": "ParameterRangeGenericTypeReference",
70
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
67
71
  }
68
72
  ]
69
73
  },
70
74
  {
71
75
  "@type": "ParameterRangeGenericTypeReference",
72
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
76
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
77
+ },
78
+ {
79
+ "@type": "ParameterRangeGenericTypeReference",
80
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
73
81
  },
74
82
  {
75
83
  "@type": "ParameterRangeGenericTypeReference",
76
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
84
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
77
85
  },
78
86
  {
79
87
  "@type": "ParameterRangeGenericTypeReference",
80
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
88
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
81
89
  }
82
90
  ]
83
91
  },
@@ -87,6 +95,20 @@
87
95
  },
88
96
  "comment": "The bus this actor subscribes to."
89
97
  },
98
+ {
99
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_busFailMessage",
100
+ "range": {
101
+ "@type": "ParameterRangeUnion",
102
+ "parameterRangeElements": [
103
+ "xsd:string",
104
+ {
105
+ "@type": "ParameterRangeUndefined"
106
+ }
107
+ ]
108
+ },
109
+ "default": "Query operation processing failed: none of the configured actors were able to handle the operation type ${action.operation.type}",
110
+ "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}\""
111
+ },
90
112
  {
91
113
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_beforeActors",
92
114
  "range": {
@@ -100,15 +122,19 @@
100
122
  "genericTypeInstances": [
101
123
  {
102
124
  "@type": "ParameterRangeGenericTypeReference",
103
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
125
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
104
126
  },
105
127
  {
106
128
  "@type": "ParameterRangeGenericTypeReference",
107
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
129
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
108
130
  },
109
131
  {
110
132
  "@type": "ParameterRangeGenericTypeReference",
111
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
133
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
134
+ },
135
+ {
136
+ "@type": "ParameterRangeGenericTypeReference",
137
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^4.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
112
138
  }
113
139
  ]
114
140
  }
@@ -184,6 +210,12 @@
184
210
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_bus"
185
211
  }
186
212
  },
213
+ {
214
+ "keyRaw": "busFailMessage",
215
+ "value": {
216
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_busFailMessage"
217
+ }
218
+ },
187
219
  {
188
220
  "keyRaw": "beforeActors",
189
221
  "value": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^3.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^4.0.0/components/context.jsonld"
4
4
  ],
5
5
  "@id": "npmd:@comunica/actor-query-operation-update-deleteinsert",
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
- "caqoudi": "npmd:@comunica/actor-query-operation-update-deleteinsert/^3.0.0/",
6
+ "caqoudi": "npmd:@comunica/actor-query-operation-update-deleteinsert/^4.0.0/",
7
7
  "ActorQueryOperationUpdateDeleteInsert": {
8
8
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert",
9
9
  "@prefix": true,
@@ -23,6 +23,9 @@
23
23
  "args_bus": {
24
24
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_bus"
25
25
  },
26
+ "args_busFailMessage": {
27
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_busFailMessage"
28
+ },
26
29
  "args_beforeActors": {
27
30
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_beforeActors",
28
31
  "@container": "@list"
@@ -42,6 +45,9 @@
42
45
  "bus": {
43
46
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_bus"
44
47
  },
48
+ "busFailMessage": {
49
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_busFailMessage"
50
+ },
45
51
  "beforeActors": {
46
52
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_beforeActors",
47
53
  "@container": "@list"
@@ -2,7 +2,7 @@ import type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-
2
2
  import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';
3
3
  import { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation';
4
4
  import type { MediatorRdfUpdateQuads } from '@comunica/bus-rdf-update-quads';
5
- import type { IActorTest } from '@comunica/core';
5
+ import type { IActorTest, TestResult } from '@comunica/core';
6
6
  import type { IQueryOperationResult, IActionContext } from '@comunica/types';
7
7
  import type { Algebra } from 'sparqlalgebrajs';
8
8
  /**
@@ -13,7 +13,7 @@ export declare class ActorQueryOperationUpdateDeleteInsert extends ActorQueryOpe
13
13
  readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;
14
14
  protected blankNodeCounter: number;
15
15
  constructor(args: IActorQueryOperationUpdateDeleteInsertArgs);
16
- testOperation(operation: Algebra.DeleteInsert, context: IActionContext): Promise<IActorTest>;
16
+ testOperation(operation: Algebra.DeleteInsert, context: IActionContext): Promise<TestResult<IActorTest>>;
17
17
  runOperation(operation: Algebra.DeleteInsert, context: IActionContext): Promise<IQueryOperationResult>;
18
18
  }
19
19
  export interface IActorQueryOperationUpdateDeleteInsertArgs extends IActorQueryOperationTypedMediatedArgs {
@@ -2,8 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ActorQueryOperationUpdateDeleteInsert = void 0;
4
4
  const actor_query_operation_construct_1 = require("@comunica/actor-query-operation-construct");
5
- const bindings_factory_1 = require("@comunica/bindings-factory");
6
5
  const bus_query_operation_1 = require("@comunica/bus-query-operation");
6
+ const context_entries_1 = require("@comunica/context-entries");
7
+ const utils_bindings_factory_1 = require("@comunica/utils-bindings-factory");
8
+ const utils_query_operation_1 = require("@comunica/utils-query-operation");
7
9
  const asynciterator_1 = require("asynciterator");
8
10
  /**
9
11
  * A comunica Update DeleteInsert Query Operation Actor.
@@ -14,14 +16,14 @@ class ActorQueryOperationUpdateDeleteInsert extends bus_query_operation_1.ActorQ
14
16
  this.blankNodeCounter = 0;
15
17
  }
16
18
  async testOperation(operation, context) {
17
- bus_query_operation_1.ActorQueryOperation.throwOnReadOnly(context);
18
- return true;
19
+ return (0, utils_query_operation_1.testReadOnly)(context);
19
20
  }
20
21
  async runOperation(operation, context) {
21
- const bindingsFactory = await bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context);
22
+ const dataFactory = context.getSafe(context_entries_1.KeysInitQuery.dataFactory);
23
+ const bindingsFactory = await utils_bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);
22
24
  // Evaluate the where clause
23
25
  const whereBindings = operation.where ?
24
- bus_query_operation_1.ActorQueryOperation.getSafeBindings(await this.mediatorQueryOperation
26
+ (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation
25
27
  .mediate({ operation: operation.where, context })).bindingsStream :
26
28
  new asynciterator_1.ArrayIterator([bindingsFactory.bindings()], { autoStart: false });
27
29
  // Construct triples using the result based on the pattern.
@@ -29,12 +31,12 @@ class ActorQueryOperationUpdateDeleteInsert extends bus_query_operation_1.ActorQ
29
31
  let quadStreamDelete;
30
32
  if (operation.insert) {
31
33
  // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls
32
- quadStreamInsert = new actor_query_operation_construct_1.BindingsToQuadsIterator(operation.insert.map(actor_query_operation_construct_1.BindingsToQuadsIterator.localizeQuad.bind(null, this.blankNodeCounter)), whereBindings.clone());
34
+ quadStreamInsert = new actor_query_operation_construct_1.BindingsToQuadsIterator(dataFactory, operation.insert.map(actor_query_operation_construct_1.BindingsToQuadsIterator.localizeQuad.bind(null, dataFactory, this.blankNodeCounter)), whereBindings.clone());
33
35
  this.blankNodeCounter++;
34
36
  }
35
37
  if (operation.delete) {
36
38
  // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls
37
- quadStreamDelete = new actor_query_operation_construct_1.BindingsToQuadsIterator(operation.delete.map(actor_query_operation_construct_1.BindingsToQuadsIterator.localizeQuad.bind(null, this.blankNodeCounter)), whereBindings.clone());
39
+ quadStreamDelete = new actor_query_operation_construct_1.BindingsToQuadsIterator(dataFactory, operation.delete.map(actor_query_operation_construct_1.BindingsToQuadsIterator.localizeQuad.bind(null, dataFactory, this.blankNodeCounter)), whereBindings.clone());
38
40
  this.blankNodeCounter++;
39
41
  }
40
42
  // Evaluate the required modifications
@@ -1 +1 @@
1
- {"version":3,"file":"ActorQueryOperationUpdateDeleteInsert.js","sourceRoot":"","sources":["ActorQueryOperationUpdateDeleteInsert.ts"],"names":[],"mappings":";;;AAAA,+FAAoF;AACpF,iEAA6D;AAG7D,uEAGuC;AAMvC,iDAA8C;AAG9C;;GAEG;AACH,MAAa,qCAAsC,SAAQ,sDAAsD;IAM/G,YAAmB,IAAgD;QACjE,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAHpB,qBAAgB,GAAG,CAAC,CAAC;IAI/B,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,SAA+B,EAC/B,OAAuB;QAEvB,yCAAmB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAA+B,EAAE,OAAuB;QAEhF,MAAM,eAAe,GAAG,MAAM,kCAAe,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;QACjG,4BAA4B;QAC5B,MAAM,aAAa,GAAmB,SAAS,CAAC,KAAK,CAAC,CAAC;YACrD,yCAAmB,CAAC,eAAe,CAAC,MAAM,IAAI,CAAC,sBAAsB;iBAClE,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACrE,IAAI,6BAAa,CAAe,CAAE,eAAe,CAAC,QAAQ,EAAE,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAExF,2DAA2D;QAC3D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,yFAAyF;YACzF,gBAAgB,GAAG,IAAI,yDAAuB,CAC5C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAC5F,aAAa,CAAC,KAAK,EAAE,CACtB,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,yFAAyF;YACzF,gBAAgB,GAAG,IAAI,yDAAuB,CAC5C,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,EAC5F,aAAa,CAAC,KAAK,EAAE,CACtB,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,sCAAsC;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACzD,gBAAgB;YAChB,gBAAgB;YAChB,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO;SACR,CAAC;IACJ,CAAC;CACF;AA3DD,sFA2DC","sourcesContent":["import { BindingsToQuadsIterator } from '@comunica/actor-query-operation-construct';\nimport { BindingsFactory } from '@comunica/bindings-factory';\nimport type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';\nimport type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport {\n ActorQueryOperation,\n ActorQueryOperationTypedMediated,\n} from '@comunica/bus-query-operation';\nimport type { MediatorRdfUpdateQuads } from '@comunica/bus-rdf-update-quads';\nimport type { IActorTest } from '@comunica/core';\nimport type { IQueryOperationResult, BindingsStream, IActionContext } from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport type { AsyncIterator } from 'asynciterator';\nimport { ArrayIterator } from 'asynciterator';\nimport type { Algebra } from 'sparqlalgebrajs';\n\n/**\n * A comunica Update DeleteInsert Query Operation Actor.\n */\nexport class ActorQueryOperationUpdateDeleteInsert extends ActorQueryOperationTypedMediated<Algebra.DeleteInsert> {\n public readonly mediatorUpdateQuads: MediatorRdfUpdateQuads;\n public readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n\n protected blankNodeCounter = 0;\n\n public constructor(args: IActorQueryOperationUpdateDeleteInsertArgs) {\n super(args, 'deleteinsert');\n }\n\n public async testOperation(\n operation: Algebra.DeleteInsert,\n context: IActionContext,\n ): Promise<IActorTest> {\n ActorQueryOperation.throwOnReadOnly(context);\n return true;\n }\n\n public async runOperation(operation: Algebra.DeleteInsert, context: IActionContext):\n Promise<IQueryOperationResult> {\n const bindingsFactory = await BindingsFactory.create(this.mediatorMergeBindingsContext, context);\n // Evaluate the where clause\n const whereBindings: BindingsStream = operation.where ?\n ActorQueryOperation.getSafeBindings(await this.mediatorQueryOperation\n .mediate({ operation: operation.where, context })).bindingsStream :\n new ArrayIterator<RDF.Bindings>([ bindingsFactory.bindings() ], { autoStart: false });\n\n // Construct triples using the result based on the pattern.\n let quadStreamInsert: AsyncIterator<RDF.Quad> | undefined;\n let quadStreamDelete: AsyncIterator<RDF.Quad> | undefined;\n if (operation.insert) {\n // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls\n quadStreamInsert = new BindingsToQuadsIterator(\n operation.insert.map(BindingsToQuadsIterator.localizeQuad.bind(null, this.blankNodeCounter)),\n whereBindings.clone(),\n );\n this.blankNodeCounter++;\n }\n if (operation.delete) {\n // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls\n quadStreamDelete = new BindingsToQuadsIterator(\n operation.delete.map(BindingsToQuadsIterator.localizeQuad.bind(null, this.blankNodeCounter)),\n whereBindings.clone(),\n );\n this.blankNodeCounter++;\n }\n\n // Evaluate the required modifications\n const { execute } = await this.mediatorUpdateQuads.mediate({\n quadStreamInsert,\n quadStreamDelete,\n context,\n });\n\n return {\n type: 'void',\n execute,\n };\n }\n}\n\nexport interface IActorQueryOperationUpdateDeleteInsertArgs extends IActorQueryOperationTypedMediatedArgs {\n /**\n * The RDF Update Quads mediator\n */\n mediatorUpdateQuads: MediatorRdfUpdateQuads;\n /**\n * A mediator for creating binding context merge handlers\n */\n mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n\n}\n"]}
1
+ {"version":3,"file":"ActorQueryOperationUpdateDeleteInsert.js","sourceRoot":"","sources":["ActorQueryOperationUpdateDeleteInsert.ts"],"names":[],"mappings":";;;AAAA,+FAAoF;AAGpF,uEAEuC;AAEvC,+DAA0D;AAG1D,6EAAmE;AACnE,2EAAgF;AAGhF,iDAA8C;AAG9C;;GAEG;AACH,MAAa,qCAAsC,SAAQ,sDAAsD;IAM/G,YAAmB,IAAgD;QACjE,KAAK,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAHpB,qBAAgB,GAAG,CAAC,CAAC;IAI/B,CAAC;IAEM,KAAK,CAAC,aAAa,CACxB,SAA+B,EAC/B,OAAuB;QAEvB,OAAO,IAAA,oCAAY,EAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAA+B,EAAE,OAAuB;QAEhF,MAAM,WAAW,GAAwB,OAAO,CAAC,OAAO,CAAC,+BAAa,CAAC,WAAW,CAAC,CAAC;QACpF,MAAM,eAAe,GAAG,MAAM,wCAAe,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9G,4BAA4B;QAC5B,MAAM,aAAa,GAAmB,SAAS,CAAC,KAAK,CAAC,CAAC;YACrD,IAAA,uCAAe,EAAC,MAAM,IAAI,CAAC,sBAAsB;iBAC9C,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;YACrE,IAAI,6BAAa,CAAe,CAAE,eAAe,CAAC,QAAQ,EAAE,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAExF,2DAA2D;QAC3D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,yFAAyF;YACzF,gBAAgB,GAAG,IAAI,yDAAuB,CAC5C,WAAW,EACX,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACzG,aAAa,CAAC,KAAK,EAAE,CACtB,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QACD,IAAI,SAAS,CAAC,MAAM,EAAE,CAAC;YACrB,yFAAyF;YACzF,gBAAgB,GAAG,IAAI,yDAAuB,CAC5C,WAAW,EACX,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,yDAAuB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC,EACzG,aAAa,CAAC,KAAK,EAAE,CACtB,CAAC;YACF,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;QAED,sCAAsC;QACtC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;YACzD,gBAAgB;YAChB,gBAAgB;YAChB,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO;SACR,CAAC;IACJ,CAAC;CACF;AA7DD,sFA6DC","sourcesContent":["import { BindingsToQuadsIterator } from '@comunica/actor-query-operation-construct';\nimport type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';\nimport type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport {\n ActorQueryOperationTypedMediated,\n} from '@comunica/bus-query-operation';\nimport type { MediatorRdfUpdateQuads } from '@comunica/bus-rdf-update-quads';\nimport { KeysInitQuery } from '@comunica/context-entries';\nimport type { IActorTest, TestResult } from '@comunica/core';\nimport type { IQueryOperationResult, BindingsStream, IActionContext, ComunicaDataFactory } from '@comunica/types';\nimport { BindingsFactory } from '@comunica/utils-bindings-factory';\nimport { getSafeBindings, testReadOnly } from '@comunica/utils-query-operation';\nimport type * as RDF from '@rdfjs/types';\nimport type { AsyncIterator } from 'asynciterator';\nimport { ArrayIterator } from 'asynciterator';\nimport type { Algebra } from 'sparqlalgebrajs';\n\n/**\n * A comunica Update DeleteInsert Query Operation Actor.\n */\nexport class ActorQueryOperationUpdateDeleteInsert extends ActorQueryOperationTypedMediated<Algebra.DeleteInsert> {\n public readonly mediatorUpdateQuads: MediatorRdfUpdateQuads;\n public readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n\n protected blankNodeCounter = 0;\n\n public constructor(args: IActorQueryOperationUpdateDeleteInsertArgs) {\n super(args, 'deleteinsert');\n }\n\n public async testOperation(\n operation: Algebra.DeleteInsert,\n context: IActionContext,\n ): Promise<TestResult<IActorTest>> {\n return testReadOnly(context);\n }\n\n public async runOperation(operation: Algebra.DeleteInsert, context: IActionContext):\n Promise<IQueryOperationResult> {\n const dataFactory: ComunicaDataFactory = context.getSafe(KeysInitQuery.dataFactory);\n const bindingsFactory = await BindingsFactory.create(this.mediatorMergeBindingsContext, context, dataFactory);\n // Evaluate the where clause\n const whereBindings: BindingsStream = operation.where ?\n getSafeBindings(await this.mediatorQueryOperation\n .mediate({ operation: operation.where, context })).bindingsStream :\n new ArrayIterator<RDF.Bindings>([ bindingsFactory.bindings() ], { autoStart: false });\n\n // Construct triples using the result based on the pattern.\n let quadStreamInsert: AsyncIterator<RDF.Quad> | undefined;\n let quadStreamDelete: AsyncIterator<RDF.Quad> | undefined;\n if (operation.insert) {\n // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls\n quadStreamInsert = new BindingsToQuadsIterator(\n dataFactory,\n operation.insert.map(BindingsToQuadsIterator.localizeQuad.bind(null, dataFactory, this.blankNodeCounter)),\n whereBindings.clone(),\n );\n this.blankNodeCounter++;\n }\n if (operation.delete) {\n // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls\n quadStreamDelete = new BindingsToQuadsIterator(\n dataFactory,\n operation.delete.map(BindingsToQuadsIterator.localizeQuad.bind(null, dataFactory, this.blankNodeCounter)),\n whereBindings.clone(),\n );\n this.blankNodeCounter++;\n }\n\n // Evaluate the required modifications\n const { execute } = await this.mediatorUpdateQuads.mediate({\n quadStreamInsert,\n quadStreamDelete,\n context,\n });\n\n return {\n type: 'void',\n execute,\n };\n }\n}\n\nexport interface IActorQueryOperationUpdateDeleteInsertArgs extends IActorQueryOperationTypedMediatedArgs {\n /**\n * The RDF Update Quads mediator\n */\n mediatorUpdateQuads: MediatorRdfUpdateQuads;\n /**\n * A mediator for creating binding context merge handlers\n */\n mediatorMergeBindingsContext: MediatorMergeBindingsContext;\n\n}\n"]}
package/package.json CHANGED
@@ -1,9 +1,13 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-operation-update-deleteinsert",
3
- "version": "3.3.0",
3
+ "version": "4.0.1",
4
4
  "description": "A update-deleteinsert 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://github.com/comunica/comunica#readme",
8
12
  "repository": "https://github.com/comunica/comunica/tree/master/packages/actor-query-operation-update-deleteinsert",
9
13
  "bugs": {
@@ -33,16 +37,18 @@
33
37
  "build:components": "componentsjs-generator"
34
38
  },
35
39
  "dependencies": {
36
- "@comunica/actor-query-operation-construct": "^3.3.0",
37
- "@comunica/bindings-factory": "^3.3.0",
38
- "@comunica/bus-merge-bindings-context": "^3.3.0",
39
- "@comunica/bus-query-operation": "^3.3.0",
40
- "@comunica/bus-rdf-update-quads": "^3.3.0",
41
- "@comunica/core": "^3.3.0",
42
- "@comunica/types": "^3.3.0",
40
+ "@comunica/actor-query-operation-construct": "^4.0.1",
41
+ "@comunica/bus-merge-bindings-context": "^4.0.1",
42
+ "@comunica/bus-query-operation": "^4.0.1",
43
+ "@comunica/bus-rdf-update-quads": "^4.0.1",
44
+ "@comunica/context-entries": "^4.0.1",
45
+ "@comunica/core": "^4.0.1",
46
+ "@comunica/types": "^4.0.1",
47
+ "@comunica/utils-bindings-factory": "^4.0.1",
48
+ "@comunica/utils-query-operation": "^4.0.1",
43
49
  "@rdfjs/types": "*",
44
50
  "asynciterator": "^3.9.0",
45
- "sparqlalgebrajs": "^4.3.7"
51
+ "sparqlalgebrajs": "^4.3.8"
46
52
  },
47
- "gitHead": "02bde397d206f1f5a523643a6a604c89e792e2f9"
53
+ "gitHead": "67831ba79e45ea1ced41fe3f83c5d6e8802dbeaa"
48
54
  }