@comunica/actor-query-operation-update-deleteinsert 2.10.1 → 3.0.1-alpha.43.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.
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/^2.0.0/components/context.jsonld",
28
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^3.0.0/components/context.jsonld",
29
29
 
30
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/mediator-race/^2.0.0/components/context.jsonld",
31
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-rdf-update-quads/^2.0.0/components/context.jsonld"
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"
32
32
  ],
33
33
  "actors": [
34
34
  ...
@@ -36,7 +36,8 @@ After installing, this package can be added to your engine's configuration as fo
36
36
  "@id": "urn:comunica:default:query-operation/actors#update-deleteinsert",
37
37
  "@type": "ActorQueryOperationUpdateDeleteInsert",
38
38
  "mediatorQueryOperation": { "@id": "urn:comunica:default:query-operation/mediators#main" },
39
- "mediatorUpdateQuads": { "@id": "urn:comunica:default:rdf-update-quads/mediators#main" }
39
+ "mediatorUpdateQuads": { "@id": "urn:comunica:default:rdf-update-quads/mediators#main" },
40
+ "mediatorMergeBindingsContext": { "@id": "urn:comunica:default:merge-bindings-context/mediators#main" }
40
41
  }
41
42
  ]
42
43
  }
@@ -46,3 +47,4 @@ After installing, this package can be added to your engine's configuration as fo
46
47
 
47
48
  * `mediatorQueryOperation`: A mediator over the [Query Operation bus](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation).
48
49
  * `mediatorUpdateQuads`: A mediator over the [RDF Update Quads bus](https://github.com/comunica/comunica/tree/master/packages/bus-rdf-update-quads).
50
+ * `mediatorMergeBindingsContext`: A mediator over the [Merge Bindings Context bus](https://github.com/comunica/comunica/tree/master/packages/bus-merge-bindings-context).
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^2.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/core/^2.0.0/components/context.jsonld",
5
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^2.0.0/components/context.jsonld"
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"
6
6
  ],
7
7
  "@id": "npmd:@comunica/actor-query-operation-update-deleteinsert",
8
8
  "components": [
@@ -26,6 +26,11 @@
26
26
  "range": "cc:components/Mediator.jsonld#Mediator",
27
27
  "comment": "The RDF Update Quads mediator"
28
28
  },
29
+ {
30
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorMergeBindingsContext",
31
+ "range": "cc:components/Mediator.jsonld#Mediator",
32
+ "comment": "A mediator for creating binding context merge handlers"
33
+ },
29
34
  {
30
35
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorQueryOperation",
31
36
  "range": "cc:components/Mediator.jsonld#Mediator"
@@ -50,29 +55,29 @@
50
55
  "genericTypeInstances": [
51
56
  {
52
57
  "@type": "ParameterRangeGenericTypeReference",
53
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
58
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
54
59
  },
55
60
  {
56
61
  "@type": "ParameterRangeGenericTypeReference",
57
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
62
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
58
63
  },
59
64
  {
60
65
  "@type": "ParameterRangeGenericTypeReference",
61
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
66
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
62
67
  }
63
68
  ]
64
69
  },
65
70
  {
66
71
  "@type": "ParameterRangeGenericTypeReference",
67
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
72
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
68
73
  },
69
74
  {
70
75
  "@type": "ParameterRangeGenericTypeReference",
71
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
76
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
72
77
  },
73
78
  {
74
79
  "@type": "ParameterRangeGenericTypeReference",
75
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
80
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
76
81
  }
77
82
  ]
78
83
  },
@@ -95,15 +100,15 @@
95
100
  "genericTypeInstances": [
96
101
  {
97
102
  "@type": "ParameterRangeGenericTypeReference",
98
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
103
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
99
104
  },
100
105
  {
101
106
  "@type": "ParameterRangeGenericTypeReference",
102
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
107
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
103
108
  },
104
109
  {
105
110
  "@type": "ParameterRangeGenericTypeReference",
106
- "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
111
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^3.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
107
112
  }
108
113
  ]
109
114
  }
@@ -122,6 +127,11 @@
122
127
  "memberFieldName": "mediatorUpdateQuads",
123
128
  "range": "cc:components/Mediator.jsonld#Mediator"
124
129
  },
130
+ {
131
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert__member_mediatorMergeBindingsContext",
132
+ "memberFieldName": "mediatorMergeBindingsContext",
133
+ "range": "cc:components/Mediator.jsonld#Mediator"
134
+ },
125
135
  {
126
136
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert__member_blankNodeCounter",
127
137
  "memberFieldName": "blankNodeCounter",
@@ -150,6 +160,12 @@
150
160
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorUpdateQuads"
151
161
  }
152
162
  },
163
+ {
164
+ "keyRaw": "mediatorMergeBindingsContext",
165
+ "value": {
166
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorMergeBindingsContext"
167
+ }
168
+ },
153
169
  {
154
170
  "keyRaw": "mediatorQueryOperation",
155
171
  "value": {
@@ -190,6 +206,10 @@
190
206
  {
191
207
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#IActorQueryOperationUpdateDeleteInsertArgs__member_mediatorUpdateQuads",
192
208
  "memberFieldName": "mediatorUpdateQuads"
209
+ },
210
+ {
211
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#IActorQueryOperationUpdateDeleteInsertArgs__member_mediatorMergeBindingsContext",
212
+ "memberFieldName": "mediatorMergeBindingsContext"
193
213
  }
194
214
  ],
195
215
  "constructorArguments": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^2.0.0/components/context.jsonld"
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-update-deleteinsert/^3.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/^5.0.0/components/context.jsonld",
4
4
  {
5
5
  "npmd": "https://linkedsoftwaredependencies.org/bundles/npm/",
6
- "caqoudi": "npmd:@comunica/actor-query-operation-update-deleteinsert/^2.0.0/",
6
+ "caqoudi": "npmd:@comunica/actor-query-operation-update-deleteinsert/^3.0.0/",
7
7
  "ActorQueryOperationUpdateDeleteInsert": {
8
8
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert",
9
9
  "@prefix": true,
@@ -11,6 +11,9 @@
11
11
  "args_mediatorUpdateQuads": {
12
12
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorUpdateQuads"
13
13
  },
14
+ "args_mediatorMergeBindingsContext": {
15
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorMergeBindingsContext"
16
+ },
14
17
  "args_mediatorQueryOperation": {
15
18
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorQueryOperation"
16
19
  },
@@ -27,6 +30,9 @@
27
30
  "mediatorUpdateQuads": {
28
31
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorUpdateQuads"
29
32
  },
33
+ "mediatorMergeBindingsContext": {
34
+ "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorMergeBindingsContext"
35
+ },
30
36
  "mediatorQueryOperation": {
31
37
  "@id": "caqoudi:components/ActorQueryOperationUpdateDeleteInsert.jsonld#ActorQueryOperationUpdateDeleteInsert_args_mediatorQueryOperation"
32
38
  },
@@ -1,3 +1,4 @@
1
+ import type { MediatorMergeBindingsContext } from '@comunica/bus-merge-bindings-context';
1
2
  import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';
2
3
  import { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation';
3
4
  import type { MediatorRdfUpdateQuads } from '@comunica/bus-rdf-update-quads';
@@ -9,6 +10,7 @@ import type { Algebra } from 'sparqlalgebrajs';
9
10
  */
10
11
  export declare class ActorQueryOperationUpdateDeleteInsert extends ActorQueryOperationTypedMediated<Algebra.DeleteInsert> {
11
12
  readonly mediatorUpdateQuads: MediatorRdfUpdateQuads;
13
+ readonly mediatorMergeBindingsContext: MediatorMergeBindingsContext;
12
14
  protected blankNodeCounter: number;
13
15
  constructor(args: IActorQueryOperationUpdateDeleteInsertArgs);
14
16
  testOperation(operation: Algebra.DeleteInsert, context: IActionContext): Promise<IActorTest>;
@@ -19,4 +21,8 @@ export interface IActorQueryOperationUpdateDeleteInsertArgs extends IActorQueryO
19
21
  * The RDF Update Quads mediator
20
22
  */
21
23
  mediatorUpdateQuads: MediatorRdfUpdateQuads;
24
+ /**
25
+ * A mediator for creating binding context merge handlers
26
+ */
27
+ mediatorMergeBindingsContext: MediatorMergeBindingsContext;
22
28
  }
@@ -5,7 +5,6 @@ const actor_query_operation_construct_1 = require("@comunica/actor-query-operati
5
5
  const bindings_factory_1 = require("@comunica/bindings-factory");
6
6
  const bus_query_operation_1 = require("@comunica/bus-query-operation");
7
7
  const asynciterator_1 = require("asynciterator");
8
- const BF = new bindings_factory_1.BindingsFactory();
9
8
  /**
10
9
  * A comunica Update DeleteInsert Query Operation Actor.
11
10
  */
@@ -19,11 +18,12 @@ class ActorQueryOperationUpdateDeleteInsert extends bus_query_operation_1.ActorQ
19
18
  return true;
20
19
  }
21
20
  async runOperation(operation, context) {
21
+ const bindingsFactory = await bindings_factory_1.BindingsFactory.create(this.mediatorMergeBindingsContext, context);
22
22
  // Evaluate the where clause
23
23
  const whereBindings = operation.where ?
24
24
  bus_query_operation_1.ActorQueryOperation.getSafeBindings(await this.mediatorQueryOperation
25
25
  .mediate({ operation: operation.where, context })).bindingsStream :
26
- new asynciterator_1.ArrayIterator([BF.bindings()], { autoStart: false });
26
+ new asynciterator_1.ArrayIterator([bindingsFactory.bindings()], { autoStart: false });
27
27
  // Construct triples using the result based on the pattern.
28
28
  let quadStreamInsert;
29
29
  let quadStreamDelete;
@@ -1 +1 @@
1
- {"version":3,"file":"ActorQueryOperationUpdateDeleteInsert.js","sourceRoot":"","sources":["ActorQueryOperationUpdateDeleteInsert.ts"],"names":[],"mappings":";;;AAAA,+FAAoF;AACpF,iEAA6D;AAE7D,uEAEuC;AAMvC,iDAA8C;AAG9C,MAAM,EAAE,GAAG,IAAI,kCAAe,EAAE,CAAC;AACjC;;GAEG;AACH,MAAa,qCAAsC,SAAQ,sDAAsD;IAK/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,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,CAAC,CAAE,EAAE,CAAC,QAAQ,EAAE,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAE7D,2DAA2D;QAC3D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,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;SACzB;QACD,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,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;SACzB;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;AAzDD,sFAyDC","sourcesContent":["import { BindingsToQuadsIterator } from '@comunica/actor-query-operation-construct';\nimport { BindingsFactory } from '@comunica/bindings-factory';\nimport type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport {\n ActorQueryOperation, 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\nconst BF = new BindingsFactory();\n/**\n * A comunica Update DeleteInsert Query Operation Actor.\n */\nexport class ActorQueryOperationUpdateDeleteInsert extends ActorQueryOperationTypedMediated<Algebra.DeleteInsert> {\n public readonly mediatorUpdateQuads: MediatorRdfUpdateQuads;\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 // 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([ BF.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"]}
1
+ {"version":3,"file":"ActorQueryOperationUpdateDeleteInsert.js","sourceRoot":"","sources":["ActorQueryOperationUpdateDeleteInsert.ts"],"names":[],"mappings":";;;AAAA,+FAAoF;AACpF,iEAA6D;AAG7D,uEAEuC;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,CAAC,CAAE,eAAe,CAAC,QAAQ,EAAE,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAE1E,2DAA2D;QAC3D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,gBAAqD,CAAC;QAC1D,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,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;SACzB;QACD,IAAI,SAAS,CAAC,MAAM,EAAE;YACpB,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;SACzB;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, 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([ 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,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-operation-update-deleteinsert",
3
- "version": "2.10.1",
3
+ "version": "3.0.1-alpha.43.0",
4
4
  "description": "A update-deleteinsert query-operation actor",
5
5
  "lsd:module": true,
6
6
  "main": "lib/index.js",
@@ -28,20 +28,21 @@
28
28
  "lib/**/*.js.map"
29
29
  ],
30
30
  "dependencies": {
31
- "@comunica/actor-query-operation-construct": "^2.10.1",
32
- "@comunica/bindings-factory": "^2.10.1",
33
- "@comunica/bus-query-operation": "^2.10.1",
34
- "@comunica/bus-rdf-update-quads": "^2.10.1",
35
- "@comunica/core": "^2.10.0",
36
- "@comunica/types": "^2.10.0",
31
+ "@comunica/actor-query-operation-construct": "3.0.1-alpha.43.0",
32
+ "@comunica/bindings-factory": "3.0.1-alpha.43.0",
33
+ "@comunica/bus-merge-bindings-context": "3.0.1-alpha.43.0",
34
+ "@comunica/bus-query-operation": "3.0.1-alpha.43.0",
35
+ "@comunica/bus-rdf-update-quads": "3.0.1-alpha.43.0",
36
+ "@comunica/core": "3.0.1-alpha.43.0",
37
+ "@comunica/types": "3.0.1-alpha.43.0",
37
38
  "@rdfjs/types": "*",
38
39
  "asynciterator": "^3.8.1",
39
- "sparqlalgebrajs": "^4.2.0"
40
+ "sparqlalgebrajs": "^4.3.3"
40
41
  },
41
42
  "scripts": {
42
43
  "build": "npm run build:ts && npm run build:components",
43
44
  "build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
44
45
  "build:components": "componentsjs-generator"
45
46
  },
46
- "gitHead": "4d0383bd0f7cef463daf7044e9add498f8c67797"
47
+ "gitHead": "d11e44cf07d4699f9d2c51d5851b5ed443de1997"
47
48
  }