Eksperiment rammeverk for grunnleggende ferdigheter - Utdanningsdirektoratet/Grep_SPARQL GitHub Wiki

Denne siden er en del av Eksperimentering med tillegg til Grep

Som et ledd i å eksperimentere med hvordan vi kan berike Grep – eller omvendt – finne datasett som kan bli rikere ved å kobles mot Grep, har vi her tatt for oss Rammeverk for grunnleggende ferdigheter (lenke til teksten på udir.no). Dette er riktig nok en tekst der målgruppen var læreplangruppene som skrev læreplanen, men dette kan likevel ses på som et innblikk i forarbeidet til utviklingen av de grunnleggende ferdighetene i læreplanen.

Dette har vi gjort

Først tok vi for oss selve dokumentet på udir.no (se lenke ovenfor), og ved hjelp av klipp og lim, skrev vi et Turtle-dokument (rammeverk_for_grf.ttl), som vi deretter importere til et nytt repo i Beta-miljøet vårt. Gå til https://sparql-beta-data.udir.no/sparql og velg repoet "RammeverkForGRF" oppe i høyre hjørne av siden. Klikk deretter på "SPARQL" i venstremenyen for å gjøre sparql-spørringene vi gjengir i teksten nedenfor.

Først en liten rundtur:

Ta først en titt på teksten i "Rammeverk for..." (lenke ovenfor) for å bli kjent med begrepene. Så kan vi kjøre en spørring for å se hvordan vi har lagt det opp i sparql-endepunktet:

Liste over klasser/typer

PREFIX owl: <http://www.w3.org/2002/07/owl#>
select distinct ?type where { 
	?s owl:Class ?type .
}

som returnerer en liste over (de fire) typene som finnes dette repoet. Vi har også gjengitt typen u:grunnleggende_ferdighet_lk20 fra repoet "201906", og deretter lagt på litt ontologi i tillegg (mer om det senere). Slik vises resultatet: image

Liste over properties

I OWL (Web Ontology Language) skilles det mellom owl:ObjectProperty og owl:DatatypeProperty, så her er liste over begge: Først owl:ObjectProperty:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
select distinct * where { 
	?s a owl:ObjectProperty ;
           rdfs:label ?term ;
           rdfs:comment ?definisjon ;
           rdfs:domain ?domene ;
           rdfs:range ?instans .
FILTER(lang(?term)="nb")
FILTER(lang(?definisjon)="nb")          
}

Som gir: image Det er disse egenskapene som får modellen til å henge sammen. Legg merke til at vi bruker ISO 639-1 for språkkoder her. Det er slik OWL-standarden er definert. Ellers i Grep bruker vi ISO 639-2 for blant annet å kunne fange opp de tre samiske språkene i innholdet ellers.

Så til owl:DatatypeProperties:

PREFIX owl: <http://www.w3.org/2002/07/owl#>
select distinct * where { 
	?s a owl:DatatypeProperty ;
           rdfs:label ?term ;
           rdfs:comment ?definisjon ;
           rdfs:domain ?domene ;
           rdfs:range ?instans .
FILTER(lang(?term)="nb")
FILTER(lang(?definisjon)="nb")          
}

Som gir dette resultatet: image Her ser vi at ?instans ikke er andre objekter i modellen, men referanse til datatypen. I dette eksperimentet har vi ikke tatt oss bryet med å definere de egenskapene vi har "lånt" fra Grep ellers, slik som u:rekkefoelge som har rdfs:range xsd:integer m.fl.

Så til selve innholdet

Vi lager like godt en spørring som viser alt (strukturert):

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select ?grf ?grunnleggendeFerdighet ?ferdighetsomraade ?fOmrBeskrivelse ?nivaa ?nivaabeskr ?nivaabeskrivelse where { 
	?nivaabeskr a u:nivaabeskrivelse ;
             u:beskrivelse ?nivaabeskrivelse ;
             u:rekkefoelge ?nivBeskR ;
             u:tilhoerer-ferdighetsnivaa ?niv ;
             u:tilhoerer-grunnleggende-ferdighet ?grf ;
             u:tilhoer-ferdighetsomraade ?ferdighOmr .
    FILTER (lang(?nivaabeskrivelse)="nob")
    ?niv u:tittel ?nivaa ;
         u:rekkefoelge ?nivR .
    FILTER(lang(?nivaa)="nob")
    ?ferdighOmr u:tittel ?ferdighetsomraade ;
         		u:beskrivelse ?fOmrBeskrivelse ;
                u:rekkefoelge ?omrR .
    FILTER(lang(?ferdighetsomraade)="nob")
    ?grf u:tittel ?grunnleggendeFerdighet ;
         u:rekkefoelge ?grfR .
    FILTER(lang(?grunnleggendeFerdighet)="nob")
    FILTER(lang(?fOmrBeskrivelse)="nob")
} 
ORDER BY ?grfR ?omrR ?nivR

som gir 105 linjer med treff (se utdrdag nedenfor): image

Kobling til Grep (repo:201906)

I den neste spørringen står vi fortsatt i repoet "RammeverkForGRF", men vi sammenfletter det med data fra det vi kaller "default-repoet", i vårt tilfelle "201906". Se spesielt SERVICE <repository:201906> {...}. Her tar vi utgangspunkt i et gitt kompetansemål (d:KM1015), og henter tittel og uri, samt binder ?grf til det vi finner som ?grf i repoet vårt ("Rammeverk...") :

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select ?KM ?kompetansemaal ?grf ?grunnleggendeFerdighet ?ferdighetsomraade ?fOmrBeskrivelse ?nivaa ?nivaabeskr ?nivaabeskrivelse where { 
SERVICE <repository:201906> {
    d:KM1015 u:tilknyttede-grunnleggende-ferdigheter ?grf ;
            u:tittel ?kompetansemaal ;
            u:uri ?KM .
        FILTER(lang(?kompetansemaal)="default")
    }   
    ?nivaabeskr a u:nivaabeskrivelse ;
             u:beskrivelse ?nivaabeskrivelse ;
             u:rekkefoelge ?nivBeskR ;
             u:tilhoerer-ferdighetsnivaa ?niv ;
             u:tilhoerer-grunnleggende-ferdighet ?grf ;
             u:tilhoer-ferdighetsomraade ?ferdighOmr .
    FILTER (lang(?nivaabeskrivelse)="nob")
    ?niv u:tittel ?nivaa ;
         u:rekkefoelge ?nivR .
    FILTER(lang(?nivaa)="nob")
    ?ferdighOmr u:tittel ?ferdighetsomraade ;
         		u:beskrivelse ?fOmrBeskrivelse ;
                u:rekkefoelge ?omrR .
    FILTER(lang(?ferdighetsomraade)="nob")
    ?grf u:tittel ?grunnleggendeFerdighet ;
         u:rekkefoelge ?grfR .
    FILTER(lang(?grunnleggendeFerdighet)="nob")
    FILTER(lang(?fOmrBeskrivelse)="nob")
} 
ORDER BY ?grfR ?omrR ?nivR

Da får vi noe som ligner bildet (utsnitt) nedenfor: image Denne spesifikke spørringen gir 25 treff, og det stemmer bra. Kompetansemålet er kun koblet til én grunnleggende ferdighet (d:GF5, Digitale ferdigheter). Det er fem ferdighetsområder for digitale ferdigheter, og hver av disse har fem ferdighetsnivåer.

Noen svakheter

  • I noen læreplaner har de (læreplanforfatterne) valgt å koble alle kompetansemål til alle grunnelggende ferdigheter. Det er utenfor vår (vi i Grep-teamet) kontroll.
  • Det finnes ingen kobling direkte mellom kompetansemål og nivå, før noen med autoritet setter seg ned og kobler

Men vi ser på det likevel som en bra måte å presentere "bakom-informasjon" eller "forarbeid til forskriften". Enkelte kan også kunne se nytten i å lese de grunnleggende ferdighetene i læreplanen "mellom linjene". Hvilke nivåer, og hvordan henger de sammen for de ulike ferdighetene.

Følg med for å se flere eksperimenter, og kom gjerne med forslag (Ta kontakt med oss)