vurderingsordninger kapittel - Utdanningsdirektoratet/Grep_SPARQL GitHub Wiki
Oppsummering:
- Ikke bruk "vurderingsordning", bruk heller "vurderingsordninger-kapittel" i denne versjonen av Grep
- "vurderingsordning" forsvinner ved neste versjon av Grep
- Ved neste versjon av Grep kan det hende vi restrukturerer hele dette kapittelet
- Artikkelen handler også om hvordan vi kan takle flere lag av blanke noder for json-ld-dokumenter som ikke er "forflatet"
Se også tilsvarende artikkel i REST-wikien
Dette dokumentet beskriver hvordan kapittelet under overskriften "Vurderingsordning" i lærpelanen er løst i Grep, og for å gå rett på sak – det er to egenskaper for grep-typen laereplan_lk20 som handler om dette:
- "vurderingsordninger-kapittel" og
- "vurderingsordning" (samme som "vurderingsordning-kapittel" i REST)
Utsnitt av kapittelet i læreplanen
Da de første læreplanene ble skrevet, ble hele dette kapittelet samlet i ett tekstobjekt, knyttet til egenskapen "vurderingsordning" (eller "vurderingsordning-kapittel" i REST). Senere ble læreplanforvalterne instruert til å fordele denne teksten over i den nye egenskapen "vurderingsordninger-kapittel". Dette i hovedsak for å tilfredsstille WCAG-krav for overskrifter som "standpunktvurdering", "Eksamen for elever" og "Eksamen for privatister".
Vi kunne legge til den nye egenskapen "vurderingsordninger-kapittel" uten å bryte kontrakt (Grep-versjon), men vi kunne ikke slette "vurderingsordning". Derfor er begge disse egenskapene fortsatt tilstede i datagrunnlaget. I de aller fleste tilfeller finner du data i begge disse, men du skal altså kun bruke "vurderingsordninger-kapittel". Ved neste versjon av Grep (neste etter v201906) kan det hende vi restrukturerer hele dette kapittelet. Vi avventer derfor å forflate denne delen.
Objektet "vurderingsordninger-kapittel" kom i 2019, og etter mars 2021 er det i skrivende stund 17 læreplaner (LK20) som ikke har data under "vurderingsordning" (alle disse er fastsatt etter 19.03.2021):
- ANG03-02
- BAN03-02
- BET03-02
- IMF03-02
- ISL03-01
- MFF03-01
- MOT03-01
- TAK03-02
- TMF03-02
- VBL03-02
- VOA03-02
- SNE03-01
- TLT03-01
- DRF02-01
- DRO02-01
- FSP01-03
- PSP01-03
Her er en sparql-spørring som viser de 17 læreplanene som ikke har data under "vurderingsordning":
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select * where {
?s a u:laereplan_lk20 ;
u:fastsatt-dato ?fastsatt .
FILTER NOT EXISTS {
?s a u:laereplan_lk20 ;
u:vurderingsordning [] .
}
} ORDER BY ?fastsatt
Siden vi anser dagens "vurderingsordninger-kapittel" som en relativt kortlivet sak i påvente av noe varig, har vi ikke "forflatet" denne delen av læreplanen. Det fører til flere lag av blanke noder i graf-sammenheng for å få tak i tekstene under dette kapittelet.
Det er jsonld-versjonen av filene som danner grunnlaget for RDF-SPARQL-søk, og her gjengir vi et utsnitt av jsonld-versjonen av læreplanen vg2 Aktivitør, AKT02-04:
Klikk her for å lukke/åpne json-ld-koden
{
"@context": {
"@vocab": "http://psi.udir.no/ontologi/kl06/",
"uriId": "@id",
"uri": {
"@type": "@id"
},
"url-data": {
"@type": "@id"
},
"grepType": "@type",
"grep-type": {
"@type": "@id"
},
"verdi": "@value",
"spraak": "@language",
"status": {
"@type": "@id"
}
},
"grepType": "http://psi.udir.no/ontologi/kl06/laereplan_lk20",
"uriId": "http://psi.udir.no/kl06/AKT02-04",
"id": "21436307-b5cd-46aa-b8b8-01508678683b",
"kode": "AKT02-04",
"uri": "http://psi.udir.no/kl06/AKT02-04",
"url-data": "https://qa-data.udir.no/kl06/v201906/laereplaner-lk20/AKT02-04",
"tittel": [
{
"spraak": "default",
"verdi": "Læreplan i vg2 aktivitør"
},
{
"spraak": "nno",
"verdi": "Læreplan i vg2 aktivitør"
}
],
"vurderingsordninger-kapittel": {
"overskrift": {
"tekst": [
{
"spraak": "default",
"verdi": "Vurderingsordning"
},
{
"spraak": "nno",
"verdi": "Vurderingsordning"
}
],
"forskrift": true
},
"vurderingsordninger": [
{
"overskrift": {
"tekst": [
{
"spraak": "default",
"verdi": "Standpunktvurdering"
},
{
"spraak": "nno",
"verdi": "Standpunktvurdering"
}
],
"forskrift": true
},
"beskrivelse": {
"tekst": [
{
"spraak": "default",
"verdi": "<p>Administrasjon: Eleven skal ha éin standpunktkarakter.</p><p>Kommunikasjon og samhandling: Eleven skal ha éin standpunktkarakter.</p><p>Yrkesliv i aktivitørfag: Eleven skal ha éin standpunktkarakter. </p>"
},
{
"spraak": "nno",
"verdi": "<p>Administrasjon: Eleven skal ha éin standpunktkarakter.</p><p>Kommunikasjon og samhandling: Eleven skal ha éin standpunktkarakter.</p><p>Yrkesliv i aktivitørfag: Eleven skal ha éin standpunktkarakter. </p>"
}
],
"forskrift": true
},
"forklaring": []
},
{
"overskrift": {
"tekst": [
{
"spraak": "default",
"verdi": "Eksamen for elevar"
},
{
"spraak": "nno",
"verdi": "Eksamen for elevar"
}
],
"forskrift": true
},
"beskrivelse": {
"tekst": [
{
"spraak": "default",
"verdi": "<p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfaget: Eleven skal opp til ein tverrfagleg praktisk eksamen der dei felles programfaga inngår. Eksamen blir utarbeidd og sensurert lokalt. Eksamen skal ha førebuingsdel. </p>"
},
{
"spraak": "nno",
"verdi": "<p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfaget: Eleven skal opp til ein tverrfagleg praktisk eksamen der dei felles programfaga inngår. Eksamen blir utarbeidd og sensurert lokalt. Eksamen skal ha førebuingsdel. </p>"
}
],
"forskrift": true
},
"forklaring": []
},
{
"overskrift": {
"tekst": [
{
"spraak": "default",
"verdi": "Eksamen for privatistar"
},
{
"spraak": "nno",
"verdi": "Eksamen for privatistar"
}
],
"forskrift": true
},
"beskrivelse": {
"tekst": [
{
"spraak": "default",
"verdi": "<p>Administrasjon: Privatisten skal opp til éin skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Kommunikasjon og samhandling: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Yrkesliv i aktivitørfag: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfag: Privatisten skal opp til ein tverrfagleg praktisk eksamen i desse felles programfaga. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p>"
},
{
"spraak": "nno",
"verdi": "<p>Administrasjon: Privatisten skal opp til éin skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Kommunikasjon og samhandling: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Yrkesliv i aktivitørfag: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfag: Privatisten skal opp til ein tverrfagleg praktisk eksamen i desse felles programfaga. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p>"
}
],
"forskrift": true
},
"forklaring": []
}
]
},
"vurderingsordning": [
{
"spraak": "default",
"verdi": "<p><strong>Standpunktvurdering</strong></p><p>Administrasjon: Eleven skal ha éin standpunktkarakter.</p><p>Kommunikasjon og samhandling: Eleven skal ha éin standpunktkarakter.</p><p>Yrkesliv i aktivitørfag: Eleven skal ha éin standpunktkarakter.</p><p><strong>Eksamen for elevar</strong></p><p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfaget: Eleven skal opp til ein tverrfagleg praktisk eksamen der dei felles programfaga inngår. Eksamen blir utarbeidd og sensurert lokalt. Eksamen skal ha førebuingsdel.</p><p><strong>Eksamen for privatistar</strong></p><p>Administrasjon: Privatisten skal opp til éin skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Kommunikasjon og samhandling: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Yrkesliv i aktivitørfag: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfag: Privatisten skal opp til ein tverrfagleg praktisk eksamen i desse felles programfaga. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p>"
},
{
"spraak": "nno",
"verdi": "<p><strong>Standpunktvurdering</strong></p><p>Administrasjon: Eleven skal ha éin standpunktkarakter.</p><p>Kommunikasjon og samhandling: Eleven skal ha éin standpunktkarakter.</p><p>Yrkesliv i aktivitørfag: Eleven skal ha éin standpunktkarakter.</p><p><strong>Eksamen for elevar</strong></p><p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfaget: Eleven skal opp til ein tverrfagleg praktisk eksamen der dei felles programfaga inngår. Eksamen blir utarbeidd og sensurert lokalt. Eksamen skal ha førebuingsdel.</p><p><strong>Eksamen for privatistar</strong></p><p>Administrasjon: Privatisten skal opp til éin skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Kommunikasjon og samhandling: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Yrkesliv i aktivitørfag: Privatisten skal opp til ein skriftleg eksamen i programfaget. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p><p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfag: Privatisten skal opp til ein tverrfagleg praktisk eksamen i desse felles programfaga. Eksamen blir utarbeidd og sensurert lokalt. Fylkeskommunen avgjer om privatistar skal få førebuingsdel ved lokalt gitt eksamen.</p>"
}
]
}
I RDF-sammenheng ville det mest naturlige være å forflate dette slik at vi for eksempel får en egenskap "vurderingsordning-eksamen-for-elever"
som direkte gir verdien "<p>Administrasjon, kommunikasjon og samhandling og yrkesliv i aktivitørfaget: Eleven skal opp til ein tverrfagleg praktisk eksamen der dei felles programfaga inngår. Eksamen blir utarbeidd og sensurert lokalt. Eksamen skal ha førebuingsdel. </p>"
. I stedet må vi grave helt ned i det fjerde laget med blanke noder for å få fram denne teksten.
Denne spørringen illustrerer dette:
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select * where {
d:AKT02-04 u:vurderingsordninger-kapittel ?o1 .
?o1 ?p2 ?o2 .
?o2 ?p3 ?o3 .
?o3 ?p4 ?o4
}
som i skrivende stund gir:
Som vi ser, er det først når vi har en ?o4
at vi får fram tekstene.
Men ved hjelp av en av property path-funksjonene (vist med skråstrekene i Predikat-delen av triplene) i SPARQL, kan vi gjøre dette litt penere og litt mer oversiktelig slik:
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select ?vurderingsordning ?tekst where {
d:AKT02-04 u:vurderingsordninger-kapittel/u:vurderingsordninger ?vurdOrdning .
?vurdOrdning u:overskrift/u:tekst ?vurderingsordning ;
u:beskrivelse/u:tekst ?tekst .
FILTER (LANG(?vurderingsordning) = "default" && LANG(?tekst) = "default")
}
Som gir
Vi kan se på de to spørringene opp mot hverandre slik:
Dette kan eventuelt også illustreres slik
skriftfargen i spørring 1 korresponderer med skriftfargen i spørring 2 for å angi hva som er hva i de ulike spørringene
Trinn for trinn kan spørring 2 i illustrasjonen over forklares slik:
d:AKT02-04 u:vurderingsordninger-kapittel/u:vurderingsordninger ?vurdOrdning .
AKT02-04 sitt vurderingsordninger-kapittel sine vurderingsordninger binder vi til variabelen ?vurdOrdning
videre:
?vurdOrdning u:overskrift/u:tekst ?vurderingsordning ;
Vi slår opp variabelen ?vurdOrdning, og ser på dennes overskrift, og videre overskriftens tekst som vi binder til variabelen ?vurderingsordning
semikolon; Vi er fortsatt på ?vurdOrdning...
u:beskrivelse/u:tekst ?tekst .
men nå ser vi på dennes beskrivelse, og beskrivelsens tekst binder vi til variabelen ?tekst
Til slutt:
FILTER (LANG(?vurderingsordning) = "default" && LANG(?tekst) = "default")
Her filtrerer vi de to variablene ?vurderingsordning og ?tekst slik at vi kun får ut "default"-språket for disse.
Vi kan også bemerke at hvis vi i spørring 1 ikke hadde hatt dette språkfilteret, ville vi i ?p4 i tillegg til u:tekst, fått u:forskrift med ?o4 "true"^^boolean (altså at den aktuelle teksten er del av forskriften).