@comunica/actor-query-operation-distinct-hash 3.2.0 → 3.2.2

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.
@@ -25,6 +25,18 @@
25
25
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashBindings",
26
26
  "range": "cc:components/Mediator.jsonld#Mediator"
27
27
  },
28
+ {
29
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashQuads",
30
+ "range": {
31
+ "@type": "ParameterRangeUnion",
32
+ "parameterRangeElements": [
33
+ "cc:components/Mediator.jsonld#Mediator",
34
+ {
35
+ "@type": "ParameterRangeUndefined"
36
+ }
37
+ ]
38
+ }
39
+ },
28
40
  {
29
41
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorQueryOperation",
30
42
  "range": "cc:components/Mediator.jsonld#Mediator"
@@ -121,6 +133,11 @@
121
133
  "memberFieldName": "mediatorHashBindings",
122
134
  "range": "cc:components/Mediator.jsonld#Mediator"
123
135
  },
136
+ {
137
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash__member_mediatorHashQuads",
138
+ "memberFieldName": "mediatorHashQuads",
139
+ "range": "cc:components/Mediator.jsonld#Mediator"
140
+ },
124
141
  {
125
142
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash__member_constructor",
126
143
  "memberFieldName": "constructor"
@@ -136,6 +153,10 @@
136
153
  {
137
154
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash__member_newHashFilter",
138
155
  "memberFieldName": "newHashFilter"
156
+ },
157
+ {
158
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash__member_newHashFilterQuads",
159
+ "memberFieldName": "newHashFilterQuads"
139
160
  }
140
161
  ],
141
162
  "constructorArguments": [
@@ -148,6 +169,12 @@
148
169
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashBindings"
149
170
  }
150
171
  },
172
+ {
173
+ "keyRaw": "mediatorHashQuads",
174
+ "value": {
175
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashQuads"
176
+ }
177
+ },
151
178
  {
152
179
  "keyRaw": "mediatorQueryOperation",
153
180
  "value": {
@@ -188,6 +215,10 @@
188
215
  {
189
216
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#IActorQueryOperationDistinctHashArgs__member_mediatorHashBindings",
190
217
  "memberFieldName": "mediatorHashBindings"
218
+ },
219
+ {
220
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#IActorQueryOperationDistinctHashArgs__member_mediatorHashQuads",
221
+ "memberFieldName": "mediatorHashQuads"
191
222
  }
192
223
  ],
193
224
  "constructorArguments": []
@@ -11,6 +11,9 @@
11
11
  "args_mediatorHashBindings": {
12
12
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashBindings"
13
13
  },
14
+ "args_mediatorHashQuads": {
15
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashQuads"
16
+ },
14
17
  "args_mediatorQueryOperation": {
15
18
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorQueryOperation"
16
19
  },
@@ -27,6 +30,9 @@
27
30
  "mediatorHashBindings": {
28
31
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashBindings"
29
32
  },
33
+ "mediatorHashQuads": {
34
+ "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorHashQuads"
35
+ },
30
36
  "mediatorQueryOperation": {
31
37
  "@id": "caqodh:components/ActorQueryOperationDistinctHash.jsonld#ActorQueryOperationDistinctHash_args_mediatorQueryOperation"
32
38
  },
@@ -1,14 +1,17 @@
1
1
  import type { MediatorHashBindings } from '@comunica/bus-hash-bindings';
2
+ import type { MediatorHashQuads } from '@comunica/bus-hash-quads';
2
3
  import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';
3
4
  import { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation';
4
5
  import type { IActorTest } from '@comunica/core';
5
6
  import type { Bindings, IActionContext, IQueryOperationResult } from '@comunica/types';
7
+ import type * as RDF from '@rdfjs/types';
6
8
  import type { Algebra } from 'sparqlalgebrajs';
7
9
  /**
8
10
  * A comunica Distinct Hash Query Operation Actor.
9
11
  */
10
12
  export declare class ActorQueryOperationDistinctHash extends ActorQueryOperationTypedMediated<Algebra.Distinct> {
11
13
  readonly mediatorHashBindings: MediatorHashBindings;
14
+ readonly mediatorHashQuads: MediatorHashQuads;
12
15
  constructor(args: IActorQueryOperationDistinctHashArgs);
13
16
  testOperation(_operation: Algebra.Distinct, _context: IActionContext): Promise<IActorTest>;
14
17
  runOperation(operation: Algebra.Distinct, context: IActionContext): Promise<IQueryOperationResult>;
@@ -19,7 +22,15 @@ export declare class ActorQueryOperationDistinctHash extends ActorQueryOperation
19
22
  * @return {(bindings: Bindings) => boolean} A distinct filter for bindings.
20
23
  */
21
24
  newHashFilter(context: IActionContext): Promise<(bindings: Bindings) => boolean>;
25
+ /**
26
+ * Create a new distinct filter function to hash quads.
27
+ * This will maintain an internal hash datastructure so that every quad object only returns true once.
28
+ * @param context The action context.
29
+ * @return {(quad: RDF.Quad) => boolean} A distinct filter for quads.
30
+ */
31
+ newHashFilterQuads(context: IActionContext): Promise<(quad: RDF.Quad) => boolean>;
22
32
  }
23
33
  export interface IActorQueryOperationDistinctHashArgs extends IActorQueryOperationTypedMediatedArgs {
24
34
  mediatorHashBindings: MediatorHashBindings;
35
+ mediatorHashQuads?: MediatorHashQuads;
25
36
  }
@@ -13,12 +13,23 @@ class ActorQueryOperationDistinctHash extends bus_query_operation_1.ActorQueryOp
13
13
  return true;
14
14
  }
15
15
  async runOperation(operation, context) {
16
- const output = bus_query_operation_1.ActorQueryOperation.getSafeBindings(await this.mediatorQueryOperation.mediate({ operation: operation.input, context }));
17
- const bindingsStream = output.bindingsStream.filter(await this.newHashFilter(context));
16
+ const output = await this.mediatorQueryOperation.mediate({ operation: operation.input, context });
17
+ // TODO: In next/major, remove undefined check when mediatorHashQuads is made required
18
+ if (output.type === 'quads' && this.mediatorHashQuads !== undefined) {
19
+ const outputQuads = bus_query_operation_1.ActorQueryOperation.getSafeQuads(output);
20
+ const quadStream = outputQuads.quadStream.filter(await this.newHashFilterQuads(context));
21
+ return {
22
+ type: 'quads',
23
+ quadStream,
24
+ metadata: outputQuads.metadata,
25
+ };
26
+ }
27
+ const outputBindings = bus_query_operation_1.ActorQueryOperation.getSafeBindings(output);
28
+ const bindingsStream = outputBindings.bindingsStream.filter(await this.newHashFilter(context));
18
29
  return {
19
30
  type: 'bindings',
20
31
  bindingsStream,
21
- metadata: output.metadata,
32
+ metadata: outputBindings.metadata,
22
33
  };
23
34
  }
24
35
  /**
@@ -35,6 +46,24 @@ class ActorQueryOperationDistinctHash extends bus_query_operation_1.ActorQueryOp
35
46
  return !(hash in hashes) && (hashes[hash] = true);
36
47
  };
37
48
  }
49
+ /**
50
+ * Create a new distinct filter function to hash quads.
51
+ * This will maintain an internal hash datastructure so that every quad object only returns true once.
52
+ * @param context The action context.
53
+ * @return {(quad: RDF.Quad) => boolean} A distinct filter for quads.
54
+ */
55
+ async newHashFilterQuads(context) {
56
+ // TODO: In next/major, this check can be removed when mediatorHashQuads is made required
57
+ if (this.mediatorHashQuads === undefined) {
58
+ return _quad => true;
59
+ }
60
+ const { hashFunction } = await this.mediatorHashQuads.mediate({ allowHashCollisions: true, context });
61
+ const hashes = {};
62
+ return (quad) => {
63
+ const hash = hashFunction(quad);
64
+ return !(hash in hashes) && (hashes[hash] = true);
65
+ };
66
+ }
38
67
  }
39
68
  exports.ActorQueryOperationDistinctHash = ActorQueryOperationDistinctHash;
40
69
  //# sourceMappingURL=ActorQueryOperationDistinctHash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActorQueryOperationDistinctHash.js","sourceRoot":"","sources":["ActorQueryOperationDistinctHash.ts"],"names":[],"mappings":";;;AAEA,uEAGuC;AAWvC;;GAEG;AACH,MAAa,+BAAgC,SAAQ,sDAAkD;IAGrG,YAAmB,IAA0C;QAC3D,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAA4B,EAAE,QAAwB;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAA2B,EAAE,OAAuB;QAC5E,MAAM,MAAM,GAAkC,yCAAmB,CAAC,eAAe,CAC/E,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CACnF,CAAC;QACF,MAAM,cAAc,GAAmB,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QACvG,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,cAAc;YACd,QAAQ,EAAE,MAAM,CAAC,QAAQ;SAC1B,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,OAAuB;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACzG,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,OAAO,CAAC,QAAkB,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAW,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5C,OAAO,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC;CACF;AAtCD,0EAsCC","sourcesContent":["import type { MediatorHashBindings } from '@comunica/bus-hash-bindings';\nimport type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport {\n ActorQueryOperation,\n ActorQueryOperationTypedMediated,\n} from '@comunica/bus-query-operation';\nimport type { IActorTest } from '@comunica/core';\nimport type {\n Bindings,\n BindingsStream,\n IActionContext,\n IQueryOperationResult,\n IQueryOperationResultBindings,\n} from '@comunica/types';\nimport type { Algebra } from 'sparqlalgebrajs';\n\n/**\n * A comunica Distinct Hash Query Operation Actor.\n */\nexport class ActorQueryOperationDistinctHash extends ActorQueryOperationTypedMediated<Algebra.Distinct> {\n public readonly mediatorHashBindings: MediatorHashBindings;\n\n public constructor(args: IActorQueryOperationDistinctHashArgs) {\n super(args, 'distinct');\n }\n\n public async testOperation(_operation: Algebra.Distinct, _context: IActionContext): Promise<IActorTest> {\n return true;\n }\n\n public async runOperation(operation: Algebra.Distinct, context: IActionContext): Promise<IQueryOperationResult> {\n const output: IQueryOperationResultBindings = ActorQueryOperation.getSafeBindings(\n await this.mediatorQueryOperation.mediate({ operation: operation.input, context }),\n );\n const bindingsStream: BindingsStream = output.bindingsStream.filter(await this.newHashFilter(context));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: output.metadata,\n };\n }\n\n /**\n * Create a new distinct filter function.\n * This will maintain an internal hash datastructure so that every bindings object only returns true once.\n * @param context The action context.\n * @return {(bindings: Bindings) => boolean} A distinct filter for bindings.\n */\n public async newHashFilter(context: IActionContext): Promise<(bindings: Bindings) => boolean> {\n const { hashFunction } = await this.mediatorHashBindings.mediate({ allowHashCollisions: true, context });\n const hashes: Record<string, boolean> = {};\n return (bindings: Bindings) => {\n const hash: string = hashFunction(bindings);\n\n return !(hash in hashes) && (hashes[hash] = true);\n };\n }\n}\n\nexport interface IActorQueryOperationDistinctHashArgs extends IActorQueryOperationTypedMediatedArgs {\n mediatorHashBindings: MediatorHashBindings;\n}\n"]}
1
+ {"version":3,"file":"ActorQueryOperationDistinctHash.js","sourceRoot":"","sources":["ActorQueryOperationDistinctHash.ts"],"names":[],"mappings":";;;AAGA,uEAGuC;AAcvC;;GAEG;AACH,MAAa,+BAAgC,SAAQ,sDAAkD;IAIrG,YAAmB,IAA0C;QAC3D,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC1B,CAAC;IAEM,KAAK,CAAC,aAAa,CAAC,UAA4B,EAAE,QAAwB;QAC/E,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,SAA2B,EAAE,OAAuB;QAC5E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;QAElG,sFAAsF;QACtF,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpE,MAAM,WAAW,GAA+B,yCAAmB,CAAC,YAAY,CAC9E,MAAM,CACP,CAAC;YAEF,MAAM,UAAU,GAA4B,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;YAClH,OAAO;gBACL,IAAI,EAAE,OAAO;gBACb,UAAU;gBACV,QAAQ,EAAE,WAAW,CAAC,QAAQ;aAC/B,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAkC,yCAAmB,CAAC,eAAe,CACvF,MAAM,CACP,CAAC;QAEF,MAAM,cAAc,GAAmB,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/G,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,cAAc;YACd,QAAQ,EAAE,cAAc,CAAC,QAAQ;SAClC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,aAAa,CAAC,OAAuB;QAChD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACzG,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,OAAO,CAAC,QAAkB,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAW,YAAY,CAAC,QAAQ,CAAC,CAAC;YAE5C,OAAO,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,kBAAkB,CAAC,OAAuB;QACrD,yFAAyF;QACzF,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACzC,OAAO,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC;QACvB,CAAC;QACD,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,mBAAmB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;QACtG,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,OAAO,CAAC,IAAc,EAAE,EAAE;YACxB,MAAM,IAAI,GAAW,YAAY,CAAC,IAAI,CAAC,CAAC;YAExC,OAAO,CAAC,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC;QACpD,CAAC,CAAC;IACJ,CAAC;CACF;AA5ED,0EA4EC","sourcesContent":["import type { MediatorHashBindings } from '@comunica/bus-hash-bindings';\nimport type { MediatorHashQuads } from '@comunica/bus-hash-quads';\nimport type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';\nimport {\n ActorQueryOperation,\n ActorQueryOperationTypedMediated,\n} from '@comunica/bus-query-operation';\nimport type { IActorTest } from '@comunica/core';\nimport type {\n Bindings,\n BindingsStream,\n IActionContext,\n IQueryOperationResult,\n IQueryOperationResultBindings,\n IQueryOperationResultQuads,\n} from '@comunica/types';\nimport type * as RDF from '@rdfjs/types';\nimport type { AsyncIterator } from 'asynciterator';\nimport type { Algebra } from 'sparqlalgebrajs';\n\n/**\n * A comunica Distinct Hash Query Operation Actor.\n */\nexport class ActorQueryOperationDistinctHash extends ActorQueryOperationTypedMediated<Algebra.Distinct> {\n public readonly mediatorHashBindings: MediatorHashBindings;\n public readonly mediatorHashQuads: MediatorHashQuads;\n\n public constructor(args: IActorQueryOperationDistinctHashArgs) {\n super(args, 'distinct');\n }\n\n public async testOperation(_operation: Algebra.Distinct, _context: IActionContext): Promise<IActorTest> {\n return true;\n }\n\n public async runOperation(operation: Algebra.Distinct, context: IActionContext): Promise<IQueryOperationResult> {\n const output = await this.mediatorQueryOperation.mediate({ operation: operation.input, context });\n\n // TODO: In next/major, remove undefined check when mediatorHashQuads is made required\n if (output.type === 'quads' && this.mediatorHashQuads !== undefined) {\n const outputQuads: IQueryOperationResultQuads = ActorQueryOperation.getSafeQuads(\n output,\n );\n\n const quadStream: AsyncIterator<RDF.Quad> = outputQuads.quadStream.filter(await this.newHashFilterQuads(context));\n return {\n type: 'quads',\n quadStream,\n metadata: outputQuads.metadata,\n };\n }\n\n const outputBindings: IQueryOperationResultBindings = ActorQueryOperation.getSafeBindings(\n output,\n );\n\n const bindingsStream: BindingsStream = outputBindings.bindingsStream.filter(await this.newHashFilter(context));\n return {\n type: 'bindings',\n bindingsStream,\n metadata: outputBindings.metadata,\n };\n }\n\n /**\n * Create a new distinct filter function.\n * This will maintain an internal hash datastructure so that every bindings object only returns true once.\n * @param context The action context.\n * @return {(bindings: Bindings) => boolean} A distinct filter for bindings.\n */\n public async newHashFilter(context: IActionContext): Promise<(bindings: Bindings) => boolean> {\n const { hashFunction } = await this.mediatorHashBindings.mediate({ allowHashCollisions: true, context });\n const hashes: Record<string, boolean> = {};\n return (bindings: Bindings) => {\n const hash: string = hashFunction(bindings);\n\n return !(hash in hashes) && (hashes[hash] = true);\n };\n }\n\n /**\n * Create a new distinct filter function to hash quads.\n * This will maintain an internal hash datastructure so that every quad object only returns true once.\n * @param context The action context.\n * @return {(quad: RDF.Quad) => boolean} A distinct filter for quads.\n */\n public async newHashFilterQuads(context: IActionContext): Promise<(quad: RDF.Quad) => boolean> {\n // TODO: In next/major, this check can be removed when mediatorHashQuads is made required\n if (this.mediatorHashQuads === undefined) {\n return _quad => true;\n }\n const { hashFunction } = await this.mediatorHashQuads.mediate({ allowHashCollisions: true, context });\n const hashes: Record<string, boolean> = {};\n return (quad: RDF.Quad) => {\n const hash: string = hashFunction(quad);\n\n return !(hash in hashes) && (hashes[hash] = true);\n };\n }\n}\n\nexport interface IActorQueryOperationDistinctHashArgs extends IActorQueryOperationTypedMediatedArgs {\n mediatorHashBindings: MediatorHashBindings;\n // TODO: In next/major, this field should be made required in the next major update\n mediatorHashQuads?: MediatorHashQuads;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-operation-distinct-hash",
3
- "version": "3.2.0",
3
+ "version": "3.2.2",
4
4
  "description": "A distinct-hash query-operation actor",
5
5
  "lsd:module": true,
6
6
  "license": "MIT",
@@ -37,11 +37,14 @@
37
37
  "build:components": "componentsjs-generator"
38
38
  },
39
39
  "dependencies": {
40
- "@comunica/bus-hash-bindings": "^3.2.0",
41
- "@comunica/bus-query-operation": "^3.2.0",
42
- "@comunica/core": "^3.2.0",
43
- "@comunica/types": "^3.2.0",
44
- "sparqlalgebrajs": "^4.3.3"
40
+ "@comunica/bus-hash-bindings": "^3.2.1",
41
+ "@comunica/bus-hash-quads": "^3.2.1",
42
+ "@comunica/bus-query-operation": "^3.2.2",
43
+ "@comunica/core": "^3.2.1",
44
+ "@comunica/types": "^3.2.1",
45
+ "@rdfjs/types": "*",
46
+ "asynciterator": "^3.9.0",
47
+ "sparqlalgebrajs": "^4.3.7"
45
48
  },
46
- "gitHead": "87baf2afed021a254859e64b92f34d9b51c6a7db"
49
+ "gitHead": "fbcc3a81f87738633ddf69ede5ca504236f7edd9"
47
50
  }