Öppen Länkad Data - Del 1 Grunden och sammanhanget – Vad är semantisk data och hur fungerar det bakom kulisserna?
Vi på Svenska kraftnät är stolta över att presentera en stor milstolpe i utvecklingen av vår öppna dataplattform (Svenska kraftnät Data Service). Bakom kulisserna har vi implementerat fullt stöd för Öppen Länkad Data (Linked Open Data). Det innebär att vår data inte längre bara är maskinläsbar – den är nu också maskinförståelig, semantiskt sammanlänkad och redo att integreras sömlöst i globala datatransmissionsnät.
I den här artikelserien om tre delar (och en extradel om DCAT) kommer vi att dyka ner i hur vi har transformerat vår dataplattform:
-
Del 1: Grunden och sammanhanget – Vad är semantisk data och hur fungerar det bakom kulisserna? (Detta inlägg)
-
Del 2: Ontologier och kodlistor i praktiken – Hur vi modellerar kraftsystemets unika begrepp. Länk.
-
Del 3: Från JSON till kunskapsgraf – En djupdykning i tekniken, API-svaren och hur du konsumerar datan. Länk.
-
Del 4: Från lokal katalog till Europa – Hur vår data skördas och blir sökbar över gränserna. Länk.
Varför räcker det inte med vanliga API:er och tabeller?
Traditionell öppen data publiceras ofta som isolerade öar. Du laddar ner en CSV-fil eller anropar ett REST-API och får tillbaka ett JSON-svar med kolumner eller nycklar som bidding_zone, reserve_product eller volume.
För en mänsklig utvecklare går det oftast att gissa vad dessa betyder. Men för en maskin är "bidding_zone": "SE1" bara en textsträng. Maskinen vet inte att SE1 representerar det geografiska elområdet i norra Sverige, vilka unika regler som gäller där, eller hur det relaterar till det europeiska synkronområdet.
När data saknar en inbyggd, globalt unik förklaring uppstår "datasilor". Integrationer kräver omfattande manuell mappning, och risken för missförstånd mellan olika system är stor.
Lösningen: Öppen Länkad Data (Linked Open Data)
Genom att införa Öppen Länkad Data ger vi varje datapunkt en global, unik identifierare i form av en URI (Webbadress). När data har en URI kan maskiner följa länkar mellan olika datakällor – på exakt samma sätt som du klickar på länkar mellan olika webbsidor.
För vår nya plattform innebär detta att vi har tagit fram en formell beskrivning av vår domän. Vi har byggt:
-
Egna ontologier: Formella datamodeller (inom namnrymder som
https://data.svk.se/ontology/emdo#för elmarknadsdata ochbase#för grundläggande tidsserier) som definierar exakt vad en datapunkt är, dess datatyper och hur de relaterar till varandra. -
Standardiserade kodlistor: Kontrollerade vokabulärer (t.ex. för elområden och reservprodukter) där varje begrepp (som
aFRRCapacityMarketellerSE2) har en egen unik URI fylld med metadata och flerspråkiga etiketter.
Bakom kulisserna: Hur vi länkar tabellbunden data (CSVW)
Många av våra stora datamängder – exempelvis avropade volymer och priser på kapacitetsmarknaderna – levereras i grunden som tabeller (datatabeller i vårt datalager). För att göra denna data länkad utan att tappa prestandan hos traditionella databaser använder vi W3C-standarden CSV on the Web (CSVW).
Det innebär att när du gör en sökning i vårt API får du inte bara de råa dataposterna. Du får också med ett rikstäckande schema direkt i API-svaret eller via en länkad metadatafil.
Detta schema mappar de tekniska kolumnnamnen till våra ontologier:
-
Kolumnen
reserve_directionär inte längre bara en textsträng. Den definieras formellt av egenskapenhttps://data.svk.se/ontology/emdo#hasReserveDirectionoch pekar direkt in i vår kontrollerade kodlista för reservriktningar. -
Varje unik rad i tabellen tilldelas en unik URI, en så kallad graf-adress (t.ex. baserad på ett unikt
soda_hashbyte), vilket gör att hela raden kan transformeras till en del av en global kunskapsgraf (RDF). -
Exempel på en global, unik identifierare för en specifik rad i datamängden:
data.svk.se/sv/dataset/fcr_activated_energy/resource/c0a75ee4-2cf3-43f2-9168-2c8627aef0ef/graph/1be63634863f9d6e8fa047390f7e1ff4
Vad innebär detta för dig som användare?
För den vanliga besökaren på vår portal snurrar allt på som vanligt – fast snabbare och stabilare. Men för dig som är systemutvecklare, data scientist eller analytiker öppnar detta upp helt nya möjligheter:
-
Inga gissningar: API-svaren är självbeskrivande. Vill du veta exakt vad vi menar med
volumeellerstart_time_utc? Maskinen kan slå upp definitionen i ontologin i realtid. -
Flerspråkighet direkt i metadata: Våra ontologier innehåller förklaringar och etiketter på både svenska och engelska direkt i definitionerna.
-
Förberett för AI och semantiska frågor: Data kan direkt läsas in i grafdatabaser (Triplestores) och frågas mot med SPARQL, eller korreleras med energidata från andra europeiska systemoperatörer (TSO:er) som använder liknande standarder.
Nästa del i serien
Vi har lagt grunden för ett semantiskt energidatanät. I nästa blogginlägg kommer vi att titta närmare på våra ontologier. Vi visar hur vi har modellerat begrepp som CapacityMarketObservation och hur våra kodlistor för prisenheter och elområden är uppbyggda för att skapa maximal interoperabilitet.