Linked BNetzA

An experimental Linked Data wrapper over geolocated open data published by the German Bundesnetzagentur (BNetzA). Unlike a dataset-specific wrapper, this one is organisation-centric: it currently covers two independent sub-datasets and is designed to grow.

Ladesäulenregister — EV charging stations

The public register of EV charging points, updated monthly (CC BY 4.0, attribution "Bundesnetzagentur.de"). Station location (WGS84, as geo:asWKT), operator, status, and up to 6 connectors per station (type, power, EVSE-ID).

./ladesaeule/1010338#it
A small-town station (Heroldstatt, Baden-Württemberg) — the plain baseline case: one operator, two AC connectors.
./ladesaeule/1039901#it
An IONITY hub — vocab:nennleistungKW 350, the fastest DC charging currently deployed in Germany.
./ladesaeule/1063466#it
A BMW dealership in Gotha with all 6 vocab:hasLadepunkt slots filled and mixed connector types (CCS + AC) — the full per-connector nesting the model supports.
./ladesaeule/1068888#it
A spa hotel in Bad Füssing, Bavaria, currently vocab:status "In Wartung" (under maintenance) — the register tracks operational state, not just "exists".

netzausbau.de — grid-expansion projects

Bundesbedarfsplangesetz / Energieleitungsausbaugesetz transmission-grid expansion project geometries — points and line corridors — from BNetzA's public netzausbau.de ArcGIS FeatureServers. No licence exists upstream for this sub-dataset (checked netzausbau.de's Impressum, its linked "Merkblatt Geodaten" PDF — which turns out to cover an unrelated topic — and the FeatureServer's own item metadata; all empty of licensing terms) — served documents carry dcterms:license as a literal disclaimer saying so, not a URI.

./vorhaben/
The four layers, each a collection: ./vorhaben/bbplg/ lists that layer's records, a page at a time.
./vorhaben/punkt/1#it
A named project waypoint ("Bundesgrenze").
./vorhaben/bbplg/28#it
A BBPlG corridor segment ("Punkt Biesdorf Süd – Wuhlheide; …") run by 50Hertz Transmission GmbH — see below for its linked-mastr entries.
./vorhaben/enlag/{id}, ./vorhaben/anbindungsleitung/{id}
Further corridor line segments (Energieleitungsausbaugesetz / offshore connection cables).

Kraftwerksliste — power plant entries

BNetzA's own power-plant list, 2,193 entries (Datenlizenz Deutschland – Namensnennung – Version 4.0, confirmed on BNetzA's site-wide Impressum, not the Kraftwerksliste page itself). No coordinates — see the note above about why linked-mastr covers per-plant location instead.

./kraftwerk/see900600559253#it
An individual plant (id = its own EinheitMastrNummer, lowercased) — the SAME real-world unit as the ./ladesaeule/ examples' neighbourhood, this time as a registered power plant rather than a charging station.
./kraftwerk/thueringen-wind-onshore-inbetrieb#it
A Kleinanlagen_aggregiert row — all <10 MW onshore wind plants in Thuringia, summed (1,910 MW total) — id is a SYNTHETIC slug, not an upstream identifier.

Zu- und Rückbau — planned additions / decommissionings

BNetzA's own forecast of planned generation-capacity changes 2026–2029. Same licence as Kraftwerksliste. Two flat documents, not per-row URIs — 36 + 40 rows is small enough that each table is ONE document, every row a blank node nested under it (the same connector-nesting shape vocab:hasLadepunkt uses above), not a per-record dump.

./zubau
All 37 planned additions in one document.
./rueckbau
All 40 planned decommissionings in one document.

Content negotiation

Record IRIs follow the hash-URI pattern ./{dir}/{id}#it; the fragment distinguishes the thing (#it) from the document describing it (linked via foaf:primaryTopic; httpRange-14). The document is content-negotiated — suffix wins over Accept: {.ttl, .nt, .rdf, .jsonld, .html} map to Turtle, N-Triples, RDF/XML, JSON-LD 1.1 and HTML; no suffix lets the Accept header choose (HTML default).

A client finds every route from ./index: it lists the collections (ladesaeule/, vorhaben/, kraftwerk/) and the two flat documents, and each collection pages through its members and describes, as Hydra URI templates, how to look one up.

Geometry

Both sub-datasets carry GeoSPARQL geometry (geo:asWKT, CRS84 lon/lat WKT literals) — points for charging stations and the netzausbau.de waypoints, (multi)line strings for the project corridors.

Cross-references to linked-mastr

Neither sub-dataset here links to linked-mastr's Marktstammdatenregister wrapper directly (identifiers stay literals, not minted owl:sameAs links — a wrong cross-link is worse than a missing one), but the same real-world entities show up in both, findable by name. ./vorhaben/bbplg/28#it above (thread it through both wrappers) names 50Hertz Transmission GmbH as its vocab:vorhabentraeger — the same company appears in linked-mastr in two different Marktrollen:

https://wunderfacts.com/mastr/snb/982046657236#it
50Hertz Transmission GmbH as Stromnetzbetreiber (grid operator).
https://wunderfacts.com/mastr/abr/986786032414#it
The same company as Anlagenbetreiber (plant operator) of its own generation units.

For a genuinely co-located example rather than a shared company name, linked-mastr's within?bbox= spatial query over the Berlin area finds real MaStR generation units (e.g. a battery storage installation, "Batteriespeicher") sitting inside the same bounding region vorhaben/bbplg/28's own line corridor runs through — a looser, HONEST "same grid region" link, not a claim that any single point coincides exactly.

Vocabulary

The wrapper-coined RDFS/OWL vocabulary is at ./vocab (vocab:Ladesaeule, vocab:Ladepunkt, vocab:Vorhaben, …). The dataset description and the global software agent are at ./index.


Sources: Ladesäulenkarte, netzausbau.de (both Bundesnetzagentur).