@comunica/actor-query-operation-slice 1.22.0 → 2.0.1-alpha.5.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/LICENSE.txt CHANGED
@@ -1,7 +1,7 @@
1
1
  The MIT License (MIT)
2
2
 
3
- Copyright © 2017–2018 Ruben Taelman, Joachim Van Herwegen
4
- Ghent University – imec, Belgium
3
+ Copyright © 2017–now Ruben Taelman, Joachim Van Herwegen
4
+ Comunica Association and Ghent University – imec, Belgium
5
5
 
6
6
  Permission is hereby granted, free of charge, to any person obtaining a copy
7
7
  of this software and associated documentation files (the "Software"), to deal
package/README.md CHANGED
@@ -22,14 +22,14 @@ After installing, this package can be added to your engine's configuration as fo
22
22
  {
23
23
  "@context": [
24
24
  ...
25
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-slice/^1.0.0/components/context.jsonld"
25
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-slice/^2.0.0/components/context.jsonld"
26
26
  ],
27
27
  "actors": [
28
28
  ...
29
29
  {
30
- "@id": "config-sets:sparql-queryoperators.json#mySliceQueryOperator",
30
+ "@id": "urn:comunica:default:query-operation/actors#slice",
31
31
  "@type": "ActorQueryOperationSlice",
32
- "cbqo:mediatorQueryOperation": { "@id": "config-sets:sparql-queryoperators.json#mediatorQueryOperation" }
32
+ "mediatorQueryOperation": { "@id": "urn:comunica:default:query-operation/mediators#main" }
33
33
  }
34
34
  ]
35
35
  }
@@ -37,4 +37,4 @@ After installing, this package can be added to your engine's configuration as fo
37
37
 
38
38
  ### Config Parameters
39
39
 
40
- * `cbqo:mediatorQueryOperation`: A mediator over the [Query Operation bus](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation).
40
+ * `mediatorQueryOperation`: A mediator over the [Query Operation bus](https://github.com/comunica/comunica/tree/master/packages/bus-query-operation).
@@ -0,0 +1,169 @@
1
+ {
2
+ "@context": [
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-slice/^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"
6
+ ],
7
+ "@id": "npmd:@comunica/actor-query-operation-slice",
8
+ "components": [
9
+ {
10
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice",
11
+ "@type": "Class",
12
+ "requireElement": "ActorQueryOperationSlice",
13
+ "extends": [
14
+ {
15
+ "@type": "GenericComponentExtension",
16
+ "component": "cbqo:components/ActorQueryOperationTypedMediated.jsonld#ActorQueryOperationTypedMediated",
17
+ "genericTypeInstances": [
18
+ "urn:npm:sparqlalgebrajs:Slice"
19
+ ]
20
+ }
21
+ ],
22
+ "comment": "A comunica Slice Query Operation Actor.",
23
+ "parameters": [
24
+ {
25
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_mediatorQueryOperation",
26
+ "range": "cc:components/Mediator.jsonld#Mediator"
27
+ },
28
+ {
29
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_name",
30
+ "range": "xsd:string",
31
+ "default": {
32
+ "@id": "rdf:subject"
33
+ },
34
+ "comment": "The name for this actor."
35
+ },
36
+ {
37
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_bus",
38
+ "range": {
39
+ "@type": "ParameterRangeGenericComponent",
40
+ "component": "cc:components/Bus.jsonld#Bus",
41
+ "genericTypeInstances": [
42
+ {
43
+ "@type": "ParameterRangeGenericComponent",
44
+ "component": "cc:components/Actor.jsonld#Actor",
45
+ "genericTypeInstances": [
46
+ {
47
+ "@type": "ParameterRangeGenericTypeReference",
48
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
49
+ },
50
+ {
51
+ "@type": "ParameterRangeGenericTypeReference",
52
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
53
+ },
54
+ {
55
+ "@type": "ParameterRangeGenericTypeReference",
56
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
57
+ }
58
+ ]
59
+ },
60
+ {
61
+ "@type": "ParameterRangeGenericTypeReference",
62
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
63
+ },
64
+ {
65
+ "@type": "ParameterRangeGenericTypeReference",
66
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
67
+ },
68
+ {
69
+ "@type": "ParameterRangeGenericTypeReference",
70
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
71
+ }
72
+ ]
73
+ },
74
+ "default": {
75
+ "@id": "cbqo:components/ActorQueryOperation.jsonld#ActorQueryOperation_default_bus",
76
+ "@type": "cc:components/Bus.jsonld#Bus"
77
+ },
78
+ "comment": "The bus this actor subscribes to."
79
+ },
80
+ {
81
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_beforeActors",
82
+ "range": {
83
+ "@type": "ParameterRangeUnion",
84
+ "parameterRangeElements": [
85
+ {
86
+ "@type": "ParameterRangeArray",
87
+ "parameterRangeValue": {
88
+ "@type": "ParameterRangeGenericComponent",
89
+ "component": "cc:components/Actor.jsonld#Actor",
90
+ "genericTypeInstances": [
91
+ {
92
+ "@type": "ParameterRangeGenericTypeReference",
93
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_I"
94
+ },
95
+ {
96
+ "@type": "ParameterRangeGenericTypeReference",
97
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_T"
98
+ },
99
+ {
100
+ "@type": "ParameterRangeGenericTypeReference",
101
+ "parameterRangeGenericType": "npmd:@comunica/actor-abstract-mediatyped/^2.0.0/components/ActorAbstractMediaTyped.jsonld#ActorAbstractMediaTyped__generic_O"
102
+ }
103
+ ]
104
+ }
105
+ },
106
+ {
107
+ "@type": "ParameterRangeUndefined"
108
+ }
109
+ ]
110
+ },
111
+ "comment": "Actor that must be registered in the bus before this actor."
112
+ }
113
+ ],
114
+ "memberFields": [
115
+ {
116
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice__member_constructor",
117
+ "memberFieldName": "constructor"
118
+ },
119
+ {
120
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice__member_testOperation",
121
+ "memberFieldName": "testOperation"
122
+ },
123
+ {
124
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice__member_runOperation",
125
+ "memberFieldName": "runOperation"
126
+ },
127
+ {
128
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice__member_sliceStream",
129
+ "memberFieldName": "sliceStream"
130
+ },
131
+ {
132
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice__member_sliceMetadata",
133
+ "memberFieldName": "sliceMetadata"
134
+ }
135
+ ],
136
+ "constructorArguments": [
137
+ {
138
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args__constructorArgument",
139
+ "fields": [
140
+ {
141
+ "keyRaw": "mediatorQueryOperation",
142
+ "value": {
143
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_mediatorQueryOperation"
144
+ }
145
+ },
146
+ {
147
+ "keyRaw": "name",
148
+ "value": {
149
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_name"
150
+ }
151
+ },
152
+ {
153
+ "keyRaw": "bus",
154
+ "value": {
155
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_bus"
156
+ }
157
+ },
158
+ {
159
+ "keyRaw": "beforeActors",
160
+ "value": {
161
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_beforeActors"
162
+ }
163
+ }
164
+ ]
165
+ }
166
+ ]
167
+ }
168
+ ]
169
+ }
@@ -1,9 +1,11 @@
1
1
  {
2
- "@context": "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-slice/^1.0.0/components/context.jsonld",
2
+ "@context": [
3
+ "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-slice/^2.0.0/components/context.jsonld"
4
+ ],
3
5
  "@id": "npmd:@comunica/actor-query-operation-slice",
4
6
  "@type": "Module",
5
7
  "requireName": "@comunica/actor-query-operation-slice",
6
8
  "import": [
7
- "files-caqos:components/Actor/QueryOperation/Slice.jsonld"
9
+ "caqos:components/ActorQueryOperationSlice.jsonld"
8
10
  ]
9
- }
11
+ }
@@ -3,10 +3,39 @@
3
3
  "https://linkedsoftwaredependencies.org/bundles/npm/componentsjs/^4.0.0/components/context.jsonld",
4
4
  {
5
5
  "npmd": "https://linkedsoftwaredependencies.org/bundles/npm/",
6
- "caqos": "npmd:@comunica/actor-query-operation-slice/",
7
- "files-caqos": "caqos:^1.0.0/",
8
-
9
- "ActorQueryOperationSlice": "caqos:Actor/QueryOperation/Slice"
6
+ "caqos": "npmd:@comunica/actor-query-operation-slice/^2.0.0/",
7
+ "ActorQueryOperationSlice": {
8
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice",
9
+ "@prefix": true,
10
+ "@context": {
11
+ "args_mediatorQueryOperation": {
12
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_mediatorQueryOperation"
13
+ },
14
+ "args_name": {
15
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_name"
16
+ },
17
+ "args_bus": {
18
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_bus"
19
+ },
20
+ "args_beforeActors": {
21
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_beforeActors",
22
+ "@container": "@list"
23
+ },
24
+ "mediatorQueryOperation": {
25
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_mediatorQueryOperation"
26
+ },
27
+ "name": {
28
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_name"
29
+ },
30
+ "bus": {
31
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_bus"
32
+ },
33
+ "beforeActors": {
34
+ "@id": "caqos:components/ActorQueryOperationSlice.jsonld#ActorQueryOperationSlice_args_beforeActors",
35
+ "@container": "@list"
36
+ }
37
+ }
38
+ }
10
39
  }
11
40
  ]
12
- }
41
+ }
@@ -1,15 +1,15 @@
1
1
  import type { IActorQueryOperationTypedMediatedArgs } from '@comunica/bus-query-operation';
2
2
  import { ActorQueryOperationTypedMediated } from '@comunica/bus-query-operation';
3
- import type { ActionContext, IActorTest } from '@comunica/core';
4
- import type { IActorQueryOperationOutputStream } from '@comunica/types';
3
+ import type { IActorTest } from '@comunica/core';
4
+ import type { IQueryOperationResult, IActionContext } from '@comunica/types';
5
5
  import type { Algebra } from 'sparqlalgebrajs';
6
6
  /**
7
7
  * A comunica Slice Query Operation Actor.
8
8
  */
9
9
  export declare class ActorQueryOperationSlice extends ActorQueryOperationTypedMediated<Algebra.Slice> {
10
10
  constructor(args: IActorQueryOperationTypedMediatedArgs);
11
- testOperation(pattern: Algebra.Slice, context: ActionContext): Promise<IActorTest>;
12
- runOperation(pattern: Algebra.Slice, context: ActionContext): Promise<IActorQueryOperationOutputStream>;
11
+ testOperation(operation: Algebra.Slice, context: IActionContext): Promise<IActorTest>;
12
+ runOperation(operation: Algebra.Slice, context: IActionContext): Promise<IQueryOperationResult>;
13
13
  private sliceStream;
14
14
  private sliceMetadata;
15
15
  }
@@ -9,29 +9,28 @@ class ActorQueryOperationSlice extends bus_query_operation_1.ActorQueryOperation
9
9
  constructor(args) {
10
10
  super(args, 'slice');
11
11
  }
12
- async testOperation(pattern, context) {
12
+ async testOperation(operation, context) {
13
13
  return true;
14
14
  }
15
- async runOperation(pattern, context) {
15
+ async runOperation(operation, context) {
16
16
  // Resolve the input
17
17
  const output = await this.mediatorQueryOperation
18
- .mediate({ operation: pattern.input, context });
19
- const metadata = this.sliceMetadata(output, pattern);
18
+ .mediate({ operation: operation.input, context });
20
19
  if (output.type === 'bindings') {
21
- const bindingsOutput = output;
22
- const bindingsStream = this.sliceStream(bindingsOutput.bindingsStream, pattern);
20
+ const bindingsStream = this.sliceStream(output.bindingsStream, operation);
23
21
  return {
24
22
  type: 'bindings',
25
23
  bindingsStream,
26
- metadata,
27
- variables: bindingsOutput.variables,
28
- canContainUndefs: bindingsOutput.canContainUndefs,
24
+ metadata: this.sliceMetadata(output, operation),
29
25
  };
30
26
  }
31
27
  if (output.type === 'quads') {
32
- const quadOutput = output;
33
- const quadStream = this.sliceStream(quadOutput.quadStream, pattern);
34
- return { type: 'quads', quadStream, metadata };
28
+ const quadStream = this.sliceStream(output.quadStream, operation);
29
+ return {
30
+ type: 'quads',
31
+ quadStream,
32
+ metadata: this.sliceMetadata(output, operation),
33
+ };
35
34
  }
36
35
  throw new Error(`Invalid query output type: Expected 'bindings' or 'quads' but got '${output.type}'`);
37
36
  }
@@ -47,19 +46,17 @@ class ActorQueryOperationSlice extends bus_query_operation_1.ActorQueryOperation
47
46
  sliceMetadata(output, pattern) {
48
47
  // eslint-disable-next-line unicorn/explicit-length-check
49
48
  const hasLength = Boolean(pattern.length) || pattern.length === 0;
50
- return !output.metadata ?
51
- undefined :
52
- () => output.metadata()
53
- .then(subMetadata => {
54
- let { totalItems } = subMetadata;
55
- if (Number.isFinite(totalItems)) {
56
- totalItems = Math.max(0, totalItems - pattern.start);
57
- if (hasLength) {
58
- totalItems = Math.min(totalItems, pattern.length);
59
- }
49
+ return () => output.metadata()
50
+ .then(subMetadata => {
51
+ const cardinality = { ...subMetadata.cardinality };
52
+ if (Number.isFinite(cardinality.value)) {
53
+ cardinality.value = Math.max(0, cardinality.value - pattern.start);
54
+ if (hasLength) {
55
+ cardinality.value = Math.min(cardinality.value, pattern.length);
60
56
  }
61
- return Object.assign(Object.assign({}, subMetadata), { totalItems });
62
- });
57
+ }
58
+ return { ...subMetadata, cardinality };
59
+ });
63
60
  }
64
61
  }
65
62
  exports.ActorQueryOperationSlice = ActorQueryOperationSlice;
package/lib/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './ActorQueryOperationSlice';
@@ -10,5 +10,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./lib/ActorQueryOperationSlice"), exports);
13
+ __exportStar(require("./ActorQueryOperationSlice"), exports);
14
14
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@comunica/actor-query-operation-slice",
3
- "version": "1.22.0",
3
+ "version": "2.0.1-alpha.5.0",
4
4
  "description": "A slice query-operation actor",
5
5
  "lsd:module": true,
6
- "main": "index.js",
7
- "typings": "index",
6
+ "main": "lib/index.js",
7
+ "typings": "lib/index",
8
8
  "repository": {
9
9
  "type": "git",
10
10
  "url": "https://github.com/comunica/comunica.git",
@@ -27,44 +27,19 @@
27
27
  "files": [
28
28
  "components",
29
29
  "lib/**/*.d.ts",
30
- "lib/**/*.js",
31
- "index.d.ts",
32
- "index.js"
30
+ "lib/**/*.js"
33
31
  ],
34
32
  "dependencies": {
35
- "@comunica/types": "^1.22.0",
36
- "asynciterator": "^3.2.0",
37
- "sparqlalgebrajs": "^3.0.0"
38
- },
39
- "peerDependencies": {
40
- "@comunica/bus-query-operation": "^1.0.0",
41
- "@comunica/core": "^1.0.0"
42
- },
43
- "devDependencies": {
44
- "@comunica/bus-query-operation": "^1.22.0",
45
- "@comunica/core": "^1.22.0"
46
- },
47
- "jest": {
48
- "globals": {
49
- "ts-jest": {
50
- "tsConfig": "../../tsconfig.json"
51
- }
52
- },
53
- "transform": {
54
- "^.+\\.ts$": "ts-jest"
55
- },
56
- "testRegex": "(/test/.*|(\\.|/)(test|spec))\\.ts$",
57
- "moduleFileExtensions": [
58
- "ts",
59
- "js"
60
- ],
61
- "collectCoverage": true
33
+ "@comunica/bus-query-operation": "2.0.1-alpha.5.0",
34
+ "@comunica/core": "2.0.1-alpha.5.0",
35
+ "@comunica/types": "2.0.1-alpha.5.0",
36
+ "asynciterator": "^3.2.1",
37
+ "sparqlalgebrajs": "^4.0.0"
62
38
  },
63
39
  "scripts": {
64
- "test": "node \"../../node_modules/jest/bin/jest.js\" ${1}",
65
- "test-watch": "node \"../../node_modules/jest/bin/jest.js\" ${1} --watch",
66
- "build": "node \"../../node_modules/typescript/bin/tsc\"",
67
- "validate": "npm ls"
40
+ "build": "npm run build:ts && npm run build:components",
41
+ "build:ts": "node \"../../node_modules/typescript/bin/tsc\"",
42
+ "build:components": "componentsjs-generator"
68
43
  },
69
- "gitHead": "0a249ba341022eb2f1b9922fcf549a9564671d9f"
44
+ "gitHead": "e2ae2e9e924bf0656df60cc99774f7e560d47695"
70
45
  }
@@ -1,21 +0,0 @@
1
- {
2
- "@context": [
3
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/actor-query-operation-slice/^1.0.0/components/context.jsonld",
4
- "https://linkedsoftwaredependencies.org/bundles/npm/@comunica/bus-query-operation/^1.0.0/components/context.jsonld"
5
- ],
6
- "@id": "npmd:@comunica/actor-query-operation-slice",
7
- "components": [
8
- {
9
- "@id": "caqos:Actor/QueryOperation/Slice",
10
- "@type": "Class",
11
- "extends": "cbqo:Actor/QueryOperationTypedMediated",
12
- "requireElement": "ActorQueryOperationSlice",
13
- "comment": "A comunica Slice Query Operation Actor.",
14
- "constructorArguments": [
15
- {
16
- "extends": "cbqo:Actor/QueryOperationTypedMediated/constructorArgumentsObject"
17
- }
18
- ]
19
- }
20
- ]
21
- }
package/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './lib/ActorQueryOperationSlice';