# 🇩🇰 Verificeret Katalog over Danske Åbne Datakilder / Danish Open Data Sources

[![Licens](https://img.shields.io/badge/licens-CC0--1.0-brightgreen.svg)](https://creativecommons.org/publicdomain/zero/1.0/)
[![Status](https://img.shields.io/badge/status-25%2F25%20verificeret-blue.svg)](#)
[![Format](https://img.shields.io/badge/formater-JSON%20%7C%20CSV%20%7C%20JSONL-orange.svg)](#filer-i-dette-katalog)

[🇩🇰 Dansk](#dansk) | [🇬🇧 English](#english)

---

<a name="dansk"></a>
## 🇩🇰 Dansk

Dette underkatalog udgør et **åbent, maskinlæsbart og verificeret katalog over centrale danske åbne datakilder, API'er og portaler**.

Målet med datasættet er at give et samlet, kurateret og operationelt overblik over Danmarks digitale data-økosystem på tværs af sektorer: fra kulturarv og forskning til meteorologi, realtidsenergi, parlamentariske data, lovgivning, sprogteknologi, miljø og geodata.

Hver kildepost er dokumenteret med officiel organisation, primært domæne, portal-URL, maskinlæsbart API-endpoint (hvor tilgængeligt), licenstype, autentifikationskrav samt dataformater.

---

### 📂 Filer i dette katalog

Hvert datasæt leveres med direkte klikbare formater:

| Filnavn | Formater | Beskrivelse |
| :--- | :---: | :--- |
| **`danske_aabne_datakilder`** | [`JSON`](danske_aabne_datakilder.json) [`CSV`](danske_aabne_datakilder.csv) | Hovedkataloget med samtlige 25 verificerede datakilder, metadata, domænekoder og licensvilkår. JSON-filen indeholder desuden versionshistorik og schema-specifikation. |
| **`audit_log`** | [`JSONL`](audit_log.jsonl) | Append-only hændelseslog med fuld historik, tidsstempler, HTTP-statuskoder og svartider (i ms) for samtlige kørselstjek. |
| **`valider_kilder`** | [`PY`](valider_kilder.py) | Automatiseret validerings- og synkroniseringsscript (Python 3) til oppetidstjek og eksport fra JSON til CSV. |

---

### 📊 Nøgletal & Fakta om Datasættet

- **Antal registrerede kilder**: 25 verificerede åbne datakilder.
- **Valideringsstatus**: 25 ud af 25 endpoints aktivt testet med HTTP 200 OK.
- **Domæner dækket**: 7 overordnede sektorer (Kultur & Historie, Miljø & Energi, Sprog & Tekst, Samfund & Demografi, Geodata & Infrastruktur, Forvaltning & Jura, Kommuner & Forskning).
- **Åbenhed**: 100% frit tilgængelige kilder uden betalingsmur. Hovedparten understøtter helt åben adgang uden API-nøgler eller med gratis selvbetjent oprettelse.
- **Licens for kataloget**: Frigivet til det frie domæne under [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/).

---

### 📋 Datastruktur og Kolonner

Kataloget stilles til rådighed i to parallelle formater:
1. **JSON (`danske_aabne_datakilder.json`)**: Hierarkisk datastruktur med katalogmetadata, versionslog og en liste af kildeobjekter.
2. **CSV (`danske_aabne_datakilder.csv`)**: Flad tabelstruktur med UTF-8 kodning og komma som separator:

| Kolonne | Type | Eksempel | Beskrivelse |
| :--- | :--- | :--- | :--- |
| `id` | Tekst | `dmi-frie-data` | Unik nøgle for datakilden. |
| `navn` | Tekst | `DMI Frie Data` | Kildens officielle navn. |
| `organisation` | Tekst | `Danmarks Meteorologiske Institut` | Den ansvarlige offentlige myndighed eller institution. |
| `domaene` | Tekst | `Miljø, Klima & Energi` | Fagligt domæne eller samfundssektor. |
| `beskrivelse` | Tekst | `Frie meteorologiske data...` | Kort beskrivelse af data og anvendelsesmuligheder. |
| `portal_url` | URL | `https://www.dmi.dk/frie-data/` | Henvisning til informationsportal eller dokumentation. |
| `api_url` | URL | `https://opendataapi.dmi.dk/v2/...` | Direkte API-endpoint, datatjeneste eller åbent feed. |
| `licens` | Tekst | `CC BY 4.0` | Angivet licens for data fra den pågældende kilde. |
| `kraever_login` | Boolsk | `Nej` | Angiver om brug kræver oprettelse, API-nøgle eller registrering. |
| `formater` | Tekst | `JSON, GeoJSON, NetCDF` | Tilgængelige udvekslings- og dataformater. |

---

### 🏛️ Domæneoversigt over registrerede kilder

#### 1. Kultur, Kunst & Historie
- **SMK Open (Statens Museum for Kunst)**: Frit REST API til over 250.000 digitaliserede kunstværker i Public Domain (CC0 / PDM).
- **Nationalmuseets Samlinger Online**: Kulturhistoriske genstande, fotos og arkivalier fra oldtid til nutid.
- **Det Kgl. Bibliotek (KB Labs)**: Digitaliserede historiske aviser før 1880, litteraturkorpora og musikfortegnelser.
- **Fredede og Bevaringsværdige Bygninger (FBB)**: Slots- og Kulturstyrelsens geoservice over Danmarks fredede kulturarv og SAVE-værdier.
- **Rigsarkivets Digitale Samlinger**: Arkivalier, kirkebøger, folketællinger og historiske kildesamlinger.
- **Project Runeberg**: Åbent nordisk digitalt bibliotek med ældre klassisk litteratur og opslagsværker (Salmonsens m.fl.).

#### 2. Miljø, Klima & Energi
- **DMI Frie Data**: Nøglefri OGC REST API'er til vejrobservationer, radar, hav og klimamålinger.
- **Energi Data Service (Energinet DataHub)**: Realtids elproduktion, transmissionsdata, CO2-udledning og elspotpriser (CC0).
- **Danmarks Miljøportal (Arealdata)**: WMS/WFS geoservices for beskyttet natur (§ 3), vandløb, jordforurening og drikkevand.
- **GEUS Jupiter Database**: Danmarks nationale boringsdatabase med over 280.000 geologiske boringer og grundvandsprøver.

#### 3. Sprog, Tekst & Viden
- **Det Centrale Ordregister (COR)**: Dansk Sprognævns officielle register over det autoriserede danske ordforråd (CC0).
- **Sprogteknologi.dk**: Digitaliseringsstyrelsens portal for åbne danske sprogmodeller, NLP-korpora og talesyntesedata.
- **DSL Korpus & Ordbogsdata**: Det Danske Sprog- og Litteraturselskabs sprogressourcer, tekstkorpora og ordlister.
- **Lex.dk**: Danmarks nationale onlineleksikon med 230.000+ fagfællebedømte artikler fra bl.a. Trap Danmark og Den Store Danske.

#### 4. Demografi, Samfund & Økonomi
- **Danmarks Statistik (StatBank API)**: Tusindvis af tidsserier om befolkningstal, økonomi, arbejdsmarked og forbrug (CC BY 4.0).
- **Sundhedsvæsenets Organisationsregister (SOR)**: Sundhedsdatastyrelsens officielle masterdatabase over alle sygehuse, afdelinger og klinikker.
- **Det Centrale Virksomhedsregister (CVR Data)**: Erhvervsstyrelsens autoritative virksomhedsregister via Elasticsearch REST API.

#### 5. Geodata, Transport & Infrastruktur
- **Dataforsyningen**: Klimadatastyrelsens topografiske kort, Danmarks Højdemodel (DHMR), matrikler og ortofotos (CC BY 4.0).
- **Datafordeleren**: Statens officielle knudepunkt for offentlige grunddata (adresser fra DAR, BBR-bygninger, CPR og ejendomme).
- **Rejseplanen Labs API**: Offentligt REST API til rutesøgning, afgangstavler og køreplaner for tog, bus og metro i Danmark.
- **Vejdirektoratet Åbne Data**: Trafikhændelser, vejarbejde, hastighedsmålinger og ladeinfrastruktur i DATEX II format via Dataudveksleren.

#### 6. Forvaltning, Jura & Parlament
- **Folketingets Åbne Data (ODA)**: OData REST API til samtlige lovforslag, afstemninger, dagsordener, udvalg og politikere.
- **Retsinformation Åbne Data API**: Lovgivning, bekendtgørelser, cirkulærer og afgørelser via REST JSON og ELI Atom-feeds.

#### 7. Kommuner & Forskning
- **Open Data DK**: Fælleskommunalt CKAN-katalog med over 630 åbne kommunale datasæt (parkering, sensorer, budgetter).
- **DeiC Dataverse**: Danmarks nationale FAIR-forskningsdataarkiv for universiteter og forskningsinstitutioner.

---

### 🔄 Validering & Auditering

Katalogets tilgængelighed og oppetid verificeres kontinuerligt via et automatiseret script. Ved hver kørsel foretages HTTP-forespørgsler på samtlige endpoints, svartider registreres, og den flade CSV-fil synkroniseres automatisk med den primære JSON-fil:

```bash
# Kræver Python 3 og requests-biblioteket:
pip install requests

# Kør valideringstesten:
python data/danske_aabne_datakilder/valider_kilder.py
```

Resultatet tilføjes som en ny linje i [`audit_log.jsonl`](audit_log.jsonl) med tidsstempel, responskode og forsinkelse (ms) for hver enkelt kilde.

---

### 📜 Licens & Vilkår

- **Katalogets licens**: Dette samlede katalog, transformationsscripts og tilhørende metadata er stillet til rådighed under [CC0 1.0 Universal (Public Domain Dedication)](https://creativecommons.org/publicdomain/zero/1.0/).
- **Individuelle datakilder**: Selve de data, som udbydes via de registrerede kilder, tilhører de respektive udgivere og er omfattet af deres individuelle vilkår (f.eks. CC BY 4.0 for Danmarks Statistik og Dataforsyningen, eller CC0 for Energi Data Service og COR). Se kolonnen `licens` for den konkrete kilde.

---

<a name="english"></a>
## 🇬🇧 English

This directory contains an **open, machine-readable, and verified catalog of essential Danish open data sources, APIs, and portals**.

The catalog provides a curated and operational index of Denmark's digital data ecosystem across sectors: cultural heritage, research, meteorology, real-time energy, parliamentary proceedings, legislation, natural language processing, the environment, and spatial data.

Each entry documents the publishing institution, primary domain, portal URL, machine-readable API endpoint (where available), license model, authentication requirements, and supported data formats.

---

### 📂 Files in this Catalog

All files feature direct format-pill links:

| Filename | Formats | Description |
| :--- | :---: | :--- |
| **`danske_aabne_datakilder`** | [`JSON`](danske_aabne_datakilder.json) [`CSV`](danske_aabne_datakilder.csv) | Master catalog of all 25 verified sources, metadata schema, and revision history. |
| **`audit_log`** | [`JSONL`](audit_log.jsonl) | Append-only audit trail logging validation timestamps, HTTP status codes, and latency (ms) for every check. |
| **`valider_kilder`** | [`PY`](valider_kilder.py) | Automated Python 3 validation script for uptime checking, latency auditing, and JSON-to-CSV synchronization. |

---

### 📊 Dataset Key Figures & Facts

- **Registered Sources**: 25 verified Danish open data sources.
- **Validation Status**: 25 out of 25 endpoints actively verified with HTTP 200 OK.
- **Domains Covered**: 7 core sectors (Culture & History, Environment & Energy, Language & NLP, Society & Demographics, Geodata & Infrastructure, Governance & Law, Municipalities & Research).
- **Openness**: 100% free access without paywalls. Most sources offer instant open access without API keys, or free self-service registration.
- **Catalog License**: Dedicated to the public domain under [CC0 1.0 Universal](https://creativecommons.org/publicdomain/zero/1.0/).

---

### 📋 Data Schema and Columns

The catalog is distributed in two complementary formats:
1. **JSON (`danske_aabne_datakilder.json`)**: Hierarchical structure with catalog metadata, changelog, and source array.
2. **CSV (`danske_aabne_datakilder.csv`)**: Flat tabular export encoded in UTF-8 with comma delimiters:

| Column | Type | Example | Description |
| :--- | :--- | :--- | :--- |
| `id` | String | `dmi-frie-data` | Unique slug identifier for the data source. |
| `navn` | String | `DMI Frie Data` | Official name of the resource. |
| `organisation` | String | `Danmarks Meteorologiske Institut` | Publishing government agency or authority. |
| `domaene` | String | `Miljø, Klima & Energi` | Primary domain or sector. |
| `beskrivelse` | String | `Frie meteorologiske data...` | Summary of content and analytical applications. |
| `portal_url` | URL | `https://www.dmi.dk/frie-data/` | Information portal or documentation website. |
| `api_url` | URL | `https://opendataapi.dmi.dk/v2/...` | Direct machine-readable API endpoint or open feed. |
| `licens` | String | `CC BY 4.0` | Governing license terms for the underlying data. |
| `kraever_login` | String | `Nej` | Whether registration or an API key is required (`Ja`/`Nej`). |
| `formater` | String | `JSON, GeoJSON, NetCDF` | Available data exchange formats. |

---

### 🏛️ Overview of Sources by Domain

#### 1. Culture, Arts & History
- **SMK Open (National Gallery of Denmark)**: Free REST API accessing 250,000+ digitized artworks in the Public Domain (CC0 / PDM).
- **National Museum of Denmark Online Collections**: Artifacts, historical photographs, and archival records.
- **Royal Danish Library (KB Labs)**: Pre-1880 digitized historical newspapers, Danish literature corpora, and music registers.
- **Listed & Preserved Buildings (FBB)**: Agency for Culture and Palaces spatial service for protected architectural heritage.
- **Danish National Archives (Rigsarkivet)**: Digital records, parish registers, censuses, and historical source documents.
- **Project Runeberg**: Nordic open library preserving historical Danish literature and reference works (Salmonsens encyclopedia, etc.).

#### 2. Environment, Climate & Energy
- **DMI Open Data**: Modern keyless OGC REST APIs for weather observations, radar imagery, oceanography, and climate data.
- **Energi Data Service (Energinet DataHub)**: Real-time electricity generation (wind, solar), grid transmissions, CO2 emissions, and spot prices (CC0).
- **Danish Environmental Portal (Arealdata)**: WMS/WFS spatial services for protected nature (§ 3), waterways, soil pollution, and water resources.
- **GEUS Jupiter Database**: National groundwater and geological borehole database holding 280,000+ drillings and chemical analyses.

#### 3. Language, Linguistics & Reference
- **Central Word Register (COR)**: The Danish Language Council's official register of authorized Danish vocabulary (CC0).
- **Sprogteknologi.dk**: Agency for Digital Government portal for open Danish language models, text corpora, and speech assets.
- **DSL Corpus & Dictionaries**: Society for Danish Language and Literature open language resources and corpora.
- **Lex.dk**: National encyclopedia platform with 230,000+ peer-reviewed articles from *Trap Danmark* and *Den Store Danske*.

#### 4. Demographics, Society & Economy
- **Statistics Denmark (StatBank API)**: Thousands of time series covering population, economics, labor, and social conditions (CC BY 4.0).
- **National Health Service Organisation Register (SOR)**: Health Data Authority master registry of all hospitals, departments, and clinics in Denmark.
- **Central Business Register (CVR Data)**: Danish Business Authority company registry accessible via an Elasticsearch REST API.

#### 5. Spatial Data, Transport & Infrastructure
- **Dataforsyningen**: Agency for Climate Data base maps, Elevation Model (DHMR), cadastral boundaries, and orthophotos (CC BY 4.0).
- **Datafordeleren**: Central government data distribution hub for fundamental registers (DAR addresses, BBR buildings, cadastre).
- **Rejseplanen Labs API**: Public transit routing, schedules, and departure boards for trains, buses, and metro across Denmark.
- **Danish Road Directorate Open Data**: Traffic events, roadworks, sensor stations, and EV charging infrastructure in DATEX II format.

#### 6. Governance, Law & Parliament
- **Danish Parliament Open Data (ODA)**: OData REST API for bills, parliamentary voting records, agendas, committees, and politicians.
- **Retsinformation Open Data API**: Danish legislation, executive orders, circulars, and legal notices via REST JSON and ELI Atom feeds.

#### 7. Municipalities & Research
- **Open Data DK**: Inter-municipal CKAN portal hosting 630+ municipal datasets (parking, sensors, local budgets).
- **DeiC Dataverse**: National FAIR research data archive serving Danish universities and research institutions.

---

### 🔄 Validation & Auditing

The catalog is verified on an ongoing basis using an automated test suite. Each execution pings all endpoints, records latency, and synchronizes the flat CSV table with the primary JSON file:

```bash
# Requires Python 3 with requests:
pip install requests

# Run validation suite:
python data/danske_aabne_datakilder/valider_kilder.py
```

Results are appended to [`audit_log.jsonl`](audit_log.jsonl) with timestamp, HTTP status code, and latency (ms) for every registered source.

---

### 📜 Licensing & Terms

- **Catalog License**: This catalog index, validation tooling, and documentation are provided under the [CC0 1.0 Universal (Public Domain Dedication)](https://creativecommons.org/publicdomain/zero/1.0/).
- **Individual Datasets**: Data accessed through these endpoints remains the property of the respective publishers and is governed by their individual terms (e.g., CC BY 4.0 for Statistics Denmark and Dataforsyningen, or CC0 for Energi Data Service and COR). Consult the `licens` field in each record for source-specific terms.
