Hvordan traversere fra fagkode til kompetansemål, og omvendt i REST? - Utdanningsdirektoratet/KL06-LK20-public GitHub Wiki
Denne siden er en del av Ofte stilte spørsmål
Spørsmål:
Vi bruker Swagger (https://data.udir.no/kl06/swagger/v201906), men vi finner ikke fremmednøklene som gjør at vi for eksempel kan traversere fra 'oppleringsfag' til 'fagkode', eller omvendt - fra 'fagkode' til 'opplaeringsfag'. Det samme fra 'kompetansemaal-lk20' til 'opplaeringsfag' eller 'fagkode'.
Svar:
Det stemmer at REST-API-ene våre ikke viser tydelig hva som er primær- eller fremmednøkler. Men alle elementene i Grep har fire ulike identifikatorer som kan brukes (og historisk har vært brukt) til ulike formål/settinger - og da som idetifikatorer (og kan dermed brukes som primærnøkler):
Ta for eksempel fagkoden https://data.udir.no/kl06/v201906/fagkoder/NOR1204:
- "id": "uuid:76ca56d2-6bcd-47ff-9d89-3d3f873df136" (UUID, globalt unik)
- "kode": "NOR1204" (unik i Grep-sammenheng)
- "uri": "http://psi.udir.no/kl06/NOR1204" (globalt, URL-basert identifikator, brukt i ontologi-sammenheng),
- "url-data": "https://data.udir.no/kl06/v201906/fagkoder/NOR1204" (globalt unik, URL-basert identifikator, brukt for oppslag av data som elementet har)
Se kapittelet Litt om identifikatorer for å lese mer om våre anbefalinger om bruk av av identifikatorer.
Hvis du bruker Swagger, har du f.eks en "Request URL" som ser slik ut: https://prod-grep4-rest.azurewebsites.net/v201906/opplaeringsfag eller hvis du slår opp direkte i https://data.udir.no/kl06/v201906/opplaeringsfag, får du opp et array av (i dette tilfellet) 'opplaeringsfag'. Men dette arrayet inneholder ikke alt som de enkelte opplæringsfagene har. Du må slå opp de enkelte for å se alle dataene/egenskapene.
Hvis du slår opp en av forekomstene du fikk i "Request URL", f.eks. https://data.udir.no/kl06/v201906/opplaeringsfag/NOR1Z44, vil du se at den har egenskapen 'fagkode-referanser'.
Nedenfor har vi illustrert dette, basert på modellen du kan finne på draw.io. Den viser piler mellom egenskaper og typer/klasser hvor du kan se hvordan du kan gå fra fagkode til kompetansemål, og omvendt - fra kompetansemål til fagkode (alt via 'kompetansemaalsett-lk20' og 'opplaeringsfag'). **Tips: Følg pilens retning.**