You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Solid Stream Aggregator is a service which can be used on top of one or multiple Solid Pods and constructs a materialized view on top of the stream measurements stored in the Solid Pod. The Solid Stream Aggregator currently functions under the assumptions that the Solid Pod uses the [LDES in LDP](https://woutslabbinck.github.io/LDESinLDP/) specification to store the stream measrements. The aggregated results are sent to the client requesting the data, as well as the materialized view was published to the Solid Stream Aggregator's Solid Pod for further re-use by other clients, and processes which have similar requirements of the aggregated results.
5
+
Heimdall, a Solid Stream Analytics Service, can be used on top of one or multiple Solid Pods and constructs a materialized view on top of the stream measurements stored in the Solid Pod. Heimdall currently functions under the assumption that the Solid Pod uses the [LDES in LDP](https://woutslabbinck.github.io/LDESinLDP/) specification to store the stream measurements. The aggregated results are sent to the client requesting the data, and the materialized view is published to Heimdall's Solid Pod for further reuse by other clients and processes with similar aggregated-result requirements.
6
6
7
7
## Requirements
8
8
@@ -12,39 +12,39 @@ The Solid Stream Aggregator is a service which can be used on top of one or mult
12
12
13
13
## Configuration of the Solid Pod
14
14
15
-
- We are under the assumption that the client queries the solid pod using the solid stream aggregator, however the client does not know the location of the LDES Stream by default.
16
-
We employ [Type Indexes](https://solid.github.io/type-indexes/) to store the location of one or more LDES streams. When querying the Solid Pod, the aggregator first queries the Type Index to get the location of the LDES stream and then retrieves the LDES stream to get the sensor events.
15
+
- We are under the assumption that the client queries the Solid Pod using Heimdall, but the client does not know the location of the LDES stream by default.
16
+
We employ [Type Indexes](https://solid.github.io/type-indexes/) to store the location of one or more LDES streams. When querying the Solid Pod, Heimdall first queries the Type Index to get the location of the LDES stream and then retrieves the LDES stream to get the sensor events.
17
17
18
18
## Installation
19
19
20
20
- Clone the repository
21
21
- Install the dependencies using `npm install`
22
-
- Start the Solid Stream Aggregator's Solid Pod with the command
22
+
- Start Heimdall's Solid Pod with the command
23
23
```bash
24
24
npm run start-solid-server
25
25
```
26
-
The command will start a Solid Server on the port 3000 with a Solid Pod named `aggregation_pod` which can be accessed at `http://localhost:3000/aggregation_pod/`. The aggregation results are stored in the aggregator's Solid Pod in form of the LDES stream using the [LDES in LDP](https://woutslabbinck.github.io/LDESinLDP/) specification.
27
-
- Create a folder and a file named `logs/aggregation.log` in the root directory of the project. The logs of the Solid Stream Aggregator are stored in this file.
28
-
- Now, start the Solid Stream Aggregator with the command
26
+
The command will start a Solid Server on the port 3000 with a Solid Pod named `aggregation_pod` which can be accessed at `http://localhost:3000/aggregation_pod/`. The aggregation results are stored in Heimdall's Solid Pod in the form of an LDES stream using the [LDES in LDP](https://woutslabbinck.github.io/LDESinLDP/) specification.
27
+
- Create a folder and a file named `logs/aggregation.log` in the root directory of the project. Heimdall stores its logs in this file.
28
+
- Now, start Heimdall with the command
29
29
```bash
30
30
npm run start aggregation
31
31
```
32
-
The command will start the Solid Stream Aggregator on the port 8080. The Solid Stream Aggregator exposes a HTTP as well as a WebSocket server at the port 8080 where the client can send a request for aggregated results from a Solid Pod.
32
+
The command will start Heimdall on port 8080. Heimdall exposes both an HTTP server and a WebSocket server on port 8080 where the client can send a request for aggregated results from a Solid Pod.
33
33
34
-
- The protocol to communicate to the Solid Stream Aggregator is by sending a RSP-QL query to the Aggregator.
34
+
- The protocol to communicate with Heimdall is by sending a RSP-QL query to the service.
35
35
```ts
36
36
let message = {
37
-
// The query to be sent to the Solid Stream Aggregator (RSP-QL query)
37
+
// The query to be sent to Heimdall (RSP-QL query)
38
38
query: `INSERT YOUR QUERY HERE`,
39
39
// The type of mointoring query can be either, `historical+live` or `live`
40
40
type: `INSERT YOUR TYPE HERE`
41
41
}
42
42
```
43
-
and send this message object to the aggregator using the WebSocket connection.
43
+
and send this message object to Heimdall using the WebSocket connection.
44
44
45
45
## Tests
46
46
47
-
The tests for the Solid Stream Aggregator are written using the Jest framework. The coverage isn't 100% yet, but will be done in the recent future.
47
+
The tests for Heimdall are written using the Jest framework. Coverage is not yet 100%.
* The QueryAnnotationPublishing class is responsible for publishing the generated aggregation events from the RSP Engine with the
18
-
* Function Ontology Metadata to the LDP container in a LDES in LDP fashion to the Solid Pod of the Aggregator. The aggregator's Solid Pod stores the materialized results.
18
+
* Function Ontology Metadata to the LDP container in a LDES in LDP fashion to Heimdall's Solid Pod. Heimdall's Solid Pod stores the materialized results.
19
19
* @class QueryAnnotationPublishing
20
20
*/
21
21
exportclassQueryAnnotationPublishing{
@@ -36,8 +36,8 @@ export class QueryAnnotationPublishing {
36
36
37
37
/**
38
38
* Published the generated aggregation events from the RSP Engine with the
39
-
* Function Ontology Metadata to the LDP container in a LDES in LDP fashion to the
40
-
* Solid Pod of the Aggregator. The aggregator's Solid Pod stores the materialized results
39
+
* Function Ontology Metadata to the LDP container in a LDES in LDP fashion to
40
+
* Heimdall's Solid Pod. Heimdall's Solid Pod stores the materialized results
41
41
* Which can be used, and reused by other query processes.
42
42
* @param {string} query - The RSPQL query.
43
43
* @param {string} ldes_in_ldp_url - The URL of the LDES in LDP inside the Solid Pod.
@@ -216,4 +216,4 @@ export class QueryAnnotationPublishing {
0 commit comments