Data Lab¶
The dataspace metadata catalogue.
The Data Lab is the library card catalogue, not the library. It records what data exists, where it is, in what form, under which licence and how good it is, using the piveau DCAT-AP 3.0 catalogue engine and the 6G-DALI Metadata Application Profile (MAP). It does not store or move the data itself: dataset distributions point at the data through dcat:accessURL / dcat:downloadURL.
Unlike the OEG or the SRM, the Data Lab is not part of the CAMARA Northbound Interface and does not use the DataBus. It is a self-contained stack with its own UI, API and storage, and it authenticates users against the platform Keycloak (realm dataspace).
What it does¶
- Register, edit and retrieve dataset, distribution and data-quality metadata, through a REST API or a MAP form in the UI
- Search the catalogue by keyword and facets (theme, format, licence, keyword, publisher) with no sign-in for public data
- Host a production catalogue (
oop-org) and a staging catalogue (oop-org-staging), plus further public or private catalogues created by stewards - Manage catalogue members at reader, contributor or publisher level, and enforce it in piveau itself, so private catalogues stay private even when the hub is called directly
- Promote submitted datasets from staging to production (a manual steward action in Release 2)
Read in the specs¶
The Data Lab specification is four documents. Start from the question that matches what you need:
| Question | Where to read |
|---|---|
| What does the Data Lab own, and what does it leave out? | Overview & Architecture › Scope and Ownership, Overview & Architecture › Boundaries, Implementation & Delivery › Later Releases |
| What is in the stack? | Requirements & Design › Components, ADR-0070 |
| Which interfaces does it expose, and how do I call them? | Requirements & Design › External Interfaces, Requirements & Design › Data Lab API Routes, Interface Contract › Worked Examples |
| Who can do what? | Overview & Architecture › Who Sees What, Requirements & Design › Access Control and Security, ADR-0049 |
| How is a dataset described? | Requirements & Design › Metadata Model and Identifiers |
| How is it deployed on Kubernetes? | Implementation & Delivery › Kubernetes, ADR-0069 |
| What does not work yet? | Implementation & Delivery › Known Gaps, Overview & Architecture › Open Questions |
Code and deployment¶
| Repository | data-lab (Data Lab API: Python, FastAPI; Data Lab UI: React, TypeScript, Vite) |
| Version | 0.1.0, released separately from the Release 2 pin (ADR-0071) |
| Images built here | data-lab-api and data-lab-admin-ui; everything else is a pinned upstream image |
| Helm | Umbrella chart oop-platform → subchart datalab (chart version 0.1.0), off by default |
| Dependencies | Platform Keycloak with realm dataspace (Keycloak 26.4 or newer); no PostgreSQL or NATS |
| Try it | Data Lab UI on the NodePort 30083, on kind: http://localhost:30083. The management console is at #/admin |
| Compose | compose/docker-compose.yml in the Data Lab repo, with the platform Nginx routing /data-lab/* |
To turn it on, follow Deploy with Helm › Optional: Data Lab.