@comunica/actor-query-operation-update-deleteinsert 3.2.4-alpha.47.0 → 3.3.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.
@@ -64,10 +64,6 @@
64
64
  {
65
65
  "@type": "ParameterRangeGenericTypeReference",
66
66
  "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
67
- },
68
- {
69
- "@type": "ParameterRangeGenericTypeReference",
70
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
71
67
  }
72
68
  ]
73
69
  },
@@ -82,10 +78,6 @@
82
78
  {
83
79
  "@type": "ParameterRangeGenericTypeReference",
84
80
  "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
85
- },
86
- {
87
- "@type": "ParameterRangeGenericTypeReference",
88
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
89
81
  }
90
82
  ]
91
83
  },
@@ -95,20 +87,6 @@
95
87
  },
96
88
  "comment": "The bus this actor subscribes to."
97
89
  },
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
- },
112
90
  {
113
91
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_beforeActors",
114
92
  "range": {
@@ -131,10 +109,6 @@
131
109
  {
132
110
  "@type": "ParameterRangeGenericTypeReference",
133
111
  "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
134
- },
135
- {
136
- "@type": "ParameterRangeGenericTypeReference",
137
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_TS"
138
112
  }
139
113
  ]
140
114
  }
@@ -210,12 +184,6 @@
210
184
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_bus"
211
185
  }
212
186
  },
213
- {
214
- "keyRaw": "busFailMessage",
215
- "value": {
216
- "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_busFailMessage"
217
- }
218
- },
219
187
  {
220
188
  "keyRaw": "beforeActors",
221
189
  "value": {
@@ -23,9 +23,6 @@
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
- },
29
26
  "args_beforeActors": {
30
27
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_beforeActors",
31
28
  "@container": "@list"
@@ -45,9 +42,6 @@
45
42
  "bus": {
46
43
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_bus"
47
44
  },
48
- "busFailMessage": {
49
- "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_busFailMessage"
50
- },
51
45
  "beforeActors": {
52
46
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_beforeActors",
53
47
  "@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, TestResult } from '@comunica/core';
5
+ import type { IActorTest } 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<TestResult<IActorTest>>;
16
+ testOperation(operation: Algebra.DeleteInsert, context: IActionContext): Promise<IActorTest>;
17
17
  runOperation(operation: Algebra.DeleteInsert, context: IActionContext): Promise<IQueryOperationResult>;
18
18
  }
19
19
  export interface IActorQueryOperationUpdateDeleteInsertArgs extends IActorQueryOperationTypedMediatedArgs {
@@ -2,10 +2,8 @@
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");
5
6
  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");
9
7
  const asynciterator_1 = require("asynciterator");
10
8
  /**
11
9
  * A comunica Update DeleteInsert Query Operation Actor.
@@ -16,14 +14,14 @@ class ActorQueryOperationUpdateDeleteInsert extends bus_query_operation_1.ActorQ
16
14
  this.blankNodeCounter = 0;
17
15
  }
18
16
  async testOperation(operation, context) {
19
- return (0, utils_query_operation_1.testReadOnly)(context);
17
+ bus_query_operation_1.ActorQueryOperation.throwOnReadOnly(context);
18
+ return true;
20
19
  }
21
20
  async runOperation(operation, 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);
21
+ const bindingsFactory = await bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context);
24
22
  // Evaluate the where clause
25
23
  const whereBindings = operation.where ?
26
- (0, utils_query_operation_1.getSafeBindings)(await this.mediatorQueryOperation
24
+ bus_query_operation_1.ActorQueryOperation.getSafeBindings(await this.mediatorQueryOperation
27
25
  .mediate({ operation: operation.where, context })).bindingsStream :
28
26
  new asynciterator_1.ArrayIterator([bindingsFactory.bindings()], { autoStart: false });
29
27
  // Construct triples using the result based on the pattern.
@@ -31,12 +29,12 @@ class ActorQueryOperationUpdateDeleteInsert extends bus_query_operation_1.ActorQ
31
29
  let quadStreamDelete;
32
30
  if (operation.insert) {
33
31
  // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls
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());
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());
35
33
  this.blankNodeCounter++;
36
34
  }
37
35
  if (operation.delete) {
38
36
  // Localize blank nodes in pattern, to avoid clashes across different INSERT/DELETE calls
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());
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());
40
38
  this.blankNodeCounter++;
41
39
  }
42
40
  // Evaluate the required modifications
@@ -1 +1 @@
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"]}
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"]}
package/package.json CHANGED
@@ -1,13 +1,9 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-operation-update-deleteinsert",
3
- "version": "3.2.4-alpha.47.0",
3
+ "version": "3.3.0",
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
- },
11
7
  "homepage": "https://github.com/comunica/comunica#readme",
12
8
  "repository": "https://github.com/comunica/comunica/tree/master/packages/actor-query-operation-update-deleteinsert",
13
9
  "bugs": {
@@ -37,18 +33,16 @@
37
33
  "build:components": "componentsjs-generator"
38
34
  },
39
35
  "dependencies": {
40
- "@comunica/actor-query-operation-construct": "3.2.4-alpha.47.0",
41
- "@comunica/bus-merge-bindings-context": "3.2.4-alpha.47.0",
42
- "@comunica/bus-query-operation": "3.2.4-alpha.47.0",
43
- "@comunica/bus-rdf-update-quads": "3.2.4-alpha.47.0",
44
- "@comunica/context-entries": "3.2.4-alpha.47.0",
45
- "@comunica/core": "3.2.4-alpha.47.0",
46
- "@comunica/types": "3.2.4-alpha.47.0",
47
- "@comunica/utils-bindings-factory": "3.2.4-alpha.47.0",
48
- "@comunica/utils-query-operation": "3.2.4-alpha.47.0",
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",
49
43
  "@rdfjs/types": "*",
50
44
  "asynciterator": "^3.9.0",
51
- "sparqlalgebrajs": "^4.3.8"
45
+ "sparqlalgebrajs": "^4.3.7"
52
46
  },
53
- "gitHead": "85bd4c5cf07dfc293ebbc3a1416b70e2db8bfc48"
47
+ "gitHead": "02bde397d206f1f5a523643a6a604c89e792e2f9"
54
48
  }