The following diagram shows the main components of the application. Black arrows show communication between components and blue dotted arrows show the flow of the data from CSV to publication.
SPA (Single Page Application) built with vue.js
Code: ui
Hydra HTTP API
Code: apis
All communication between the User Interface and the stores and the Job Runner and the stores go through the API.
Main entrypoint of the HTTP API.
Code: apis/core
Sub-API that handles everything related to Shared Dimensions. The entrypoint of this API is provided through the Core API.
Code: apis/shared-dimensions
Runs data processing pipelines built with barnard59
Code: cli
Cube Creator reads/writes from/to multiple RDF triplestores.
Contains data that is specific to Cube Creator. Requires the ability to create/delete named graphs.
Published Cubes are sent to the Publication Store, in a specified named graph.
Contains data about Shared Dimensions.
CSV files are stored in an S3-compatible storage.
The User Interface, the API and the Job Runner authenticate user requests through an external Authentication Service using the OIDC (OpenID Connect) protocol.