Samling av SPARQL spørringer - Utdanningsdirektoratet/Grep_SPARQL GitHub Wiki

2024-06-15: Dette er en revisjon etter en gjennomgang av alle spørringene etter inntreden av moduslstrukturerte læreplaner (for voksne). Vi benyttet også anledningen til å omstrukturere ved å lage kapitler etter hvilken grep-type som har hovedrollen i spørringen. Noen ganger også etter forholdet mellom to typer (f.eks. fra læreplaner til fagkoder, og omvendt). Vi har også forsynt hver spørring med en referanse (egenkomponert UID) som gjør det enklere å vise til en spesifikk spørring.

Miljøer

Denne siden inneholder eksempler på SPARQL-spørringer som kan testes mot miljøene

Innhold

Først noen innledende tips:

   [klikk for å åpne/lukke kapittelet]
Nedenfor (hvis du klikker på overskriften over) har vi samlet noen innledende tips. Først noen anbefalinger til kilder du kan bruke til å sette deg inn i SPARQL generelt, deretter noen tips som handler om SPARQL-spørringer mot Grep spesielt. [Klikk for å åpne avsnittet]

Først kan vi nevne at vi har prøvd å lage et kurs i SPARQL: [Søk i Grep med hjelp av SPARQL](SPARQL%E2%80%90kurs).

Prof. Dr. Harald Sack fra FIZ Karlsruhe – Leibniz Institute for Information Infrastructure, har laget et par foredragsserier på Youtube som kan anbefales for de som ønsker å gå i dybden:

En annen som også kan anbefales i samme sjanger, er Professur fur Wissensbasierte Systeme, Markus Krötzsh fra Technische Universität Dresden. Han har blant annet delt denne spillelisten:

I tillegg til mye matnyttig (i betydningen praktisk og håndfast), byr han også på en del om grafteori i denne sammenhengen.

Merk at Harald Sack bruker Virtuoso i eksemplene sine, og ikke GraphDB mot dbpedia. Derfor kan det være noen få avvik på hvordan man utformer spørringer. Dette er også greit å vite for de som har brukt forrige versjon av Greps SPARQL-tjeneste, som jo var basert på Virtuoso. Vi har f.eks. funnet at

  • i GraphDB, må du i "FILTER(LANG("... eksplisitt definere "default" for å få default-språket for en språkversjonert streng, og ikke en tom streng ("") som vi gjorde i Virtuoso
  • i GraphDB krever REGEX-filteret "str" for å gjøre om til streng hvis du vil filtrere på noe som er url - f.eks i "FILTER REGEX(str(?status), "publisert", "i")" er ?status i dette tilfellet i utgangspunktet returnert som url, om du ikke som i eksempelet over spesifiserer at du vil ha den som en streng. Dette filteret finner du mange eksempler på i samlingen nedenfor.
  • Når du konkatenerer i SELECT-delen av spørringer, må du i GrapDB sette hele konkateneringsuttrykket i en ytre parentes, slik som i snutten nedenfor:
SELECT DISTINCT ?s (concat(group_concat(distinct ?x;separator=', ')) as ?y) ...osv 

Vi håper ikke de innledende linjene var avskrekkende. Det meste i videoene nevnt over er bygd på de samme prinsippene, og kan brukes hos oss. Nedenfor finner du mange eksempler du kan ta utgangspunkt i, og vi håper de er til hjelp.

Du er kanskje vant til å se at alle variabler skrives med ? foran, som i ?s ?p ?o. Men i de tilfellene vi ikke bryr oss om hva som er bak variabelen, kan vi bruke variablene anonymt ved å bruke symbolet for "array"/liste, nemlig []. Vi kaller ikke på innholdet, men det må uansett representeres av noe i enten subjekt-plassen og/eller i objektplassen trippelen. Derfor er f.eks [] u:grep-type [] en gyldig triple, og den betyr "alt [hva som helst] som er u:grep-type [hva som helst], vi bryr oss verken om hva subjektet eller objektet er, bare at det er noe...."

Utforskende SPARQL-spørringer

   [åpne/lukke]

List opp typer (rdf-måten med prefix)

Ref.: xb10g44T

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
SELECT DISTINCT ?type
WHERE { 
    [] rdf:type ?type 
}

eller
Ref.: xb10g46s

SELECT DISTINCT ?type
WHERE { 
    [] rdf:type ?type 
}

eller
Ref.: xb10g46D

SELECT DISTINCT ?type WHERE
{
    [] a ?type 
}

List opp typer på Grep-måten (med grep-typer)

Ref.: xb10g47m

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?type
WHERE {
[] u:grep-type ?type
}

List opp alle properties

Ref.: xb10g47z

SELECT DISTINCT ?property
WHERE {
    [] ?property [] .
    FILTER (!CONTAINS(STR(?property), "gyldighet-"))
}

Negasjonsfilteret for å fjerne "gyldighet-" fra resultatet handler om ett av våre tiltak for å forflate gyldighetsinformasjon på koblinger/referanser. Se artikkelen: Blanke noder for gyldighetsinformasjon i referanseobjekter.

Mer matnyttig: Hvilke properties blir brukt av en bestemt type

Ref.: xb11g16e

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?property
WHERE {
    [] a u:laereplan_lk20;
     ?property [] .
FILTER (!CONTAINS(STR(?property), "gyldighet-"))
}

Negasjonsfiltere: se forklaring til forrige spørring

List opp hva et gitt element har

Ref.: xb10g48s

PREFIX d: <http://psi.udir.no/kl06/>
SELECT * WHERE {
    d:NOR01-06 ?p ?o
}

Statistikk

Antall tripler

Ref.: xb10g48C

SELECT (COUNT(*) AS ?tripler) WHERE {
    ?s ?p ?o
}

Antall entiteter

Ref.: xb10g48Q

SELECT (COUNT(distinct ?s) AS ?entiteter) WHERE{
    ?s a []
}

Antall typer A (RDF-typer)

Ref.: xb10g49&

SELECT (COUNT(distinct ?o) AS ?typer) WHERE{
    [] a ?o
}

Antall typer B (Grep-typer)

Ref.: xb10g49l

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT (COUNT(distinct ?o) AS ?typer) WHERE{
    [] u:grep-type ?o
}

Antall distinkte predikater

Ref.: xb10g49w

SELECT (COUNT(distinct ?p) AS ?predikater) WHERE{
    [] ?p []
}

Hvilke egenskaper er like for alle typer

For noen spørringer siden så vi at vi kunne telle antall grep-typer (xb10g49l). I denne spørringen lister vi opp alle predikater/properties som er brukt av alle disse typene. Med andre ord – hvilke egenskaper finnes for alle grep-typer?
Ref.: xd12g38D

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?property
WHERE {
    [] ?property [] ;
       u:grep-type ?type .
    {
        SELECT (COUNT(DISTINCT ?type) AS ?totaltAntallTyper)
        WHERE {
            [] u:grep-type ?type .
        }
    }
}
GROUP BY ?property ?totaltAntallTyper
HAVING (COUNT(DISTINCT ?type) = ?totaltAntallTyper)

I denne spørringen bruker vi en delspørring inne i det vi kan kalle hovedspørringen. Den evalueres først, og formålet er å telle totalt antall typer som vi bruker i HAVING nederst der vi modifiserer spørringen. Der teller vi ?type for mønsteret der vi har alle ?property for hver u:grep-type ?type, og bestemmer at det skal være likt med ?totaltAntallTyper som vi fant i den indre spørringen. Siden vi vet at (i skrivende stund) har 44 grep-typer totalt, kunne vi også skrevet en enklere spørring, slik:

Ref.: xd21g20g

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?property
WHERE {
    [] ?property [] ;
       u:grep-type ?type .
}
GROUP BY ?property
HAVING (COUNT(distinct ?type) >= 44)

Og for fremtiden vil denne trolig også fungere også etter at vi får flere typer enn 44, siden vi bruker >= (større eller lik).

Antall distinkte subjekt-noder

Ref.: xb10g49G

SELECT (COUNT(DISTINCT ?s ) AS ?no) WHERE{
    ?s ?p []
}

Antall distinkte objekt-noder

Merk negasjonsfilteret !isLiteral som filtrerer bort alle ?o som er tekststrenger
Ref.: xb10g50b

SELECT (COUNT(DISTINCT ?o ) AS ?antallObjektnoder) {
    ?s ?p ?o 
    filter(!isLiteral(?o)) 
}

Spørringer mot innholdet

   [åpne/lukke]

Spørringer i læreplan-sfæren

   [åpne/lukke]

Viktig informasjon om læreplan i Grep

I Grep har vi to grep-typer som representerer læreplaner i Kunnskapsløftet:

  1. 'laereplan': Lærpelaner i Kunnskapsløftet LK06 som var gyldige fra 2006, og til og med overgangen til "fagfdornyelsen" (våren 2023)
  2. laereplan_lk20': Lærpelaner i Kunnskapsløftet LK20, "fagfornyelsen" som var gyldige fra 2020 (noe overlapp med LK06 i overgangen)
    1. Egenskapen 'laereplanstruktur' med verdien laereplanstruktur_1 angir de "vanlige" læreplanene (uri i SPARQL: laereplanstruktur_1).
    2. Egenskapen 'laereplanstruktur' med verdien laereplanstruktur_2 angir de moduslstrukturerte læreplanene som blir innført høsten 2024 (uri i SPARQL: laereplanstruktur_2).

Når det gjelder LK20-planer, og du vil f.eks. ignorere de modulstrukturerte, så kan du spesifisere dette i spørringen ved å angi hvilken av de to du vil ha:
Ref.: xb10g50T

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select * where { 
	?s a u:laereplan_lk20 ;
       u:laereplanstruktur d:laereplanstruktur_2
}

Denne spørringen spesifiser at læreplanene som listes i resultatet skal være modulstrukturert. Hvis du vil ha de "vanlige", skriver du heller d:laereplanstruktur_1

List alle av typen laereplan i default-språket

Ref.: xb10g51d

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?kode ?tittel WHERE {
    ?uri a u:laereplan_lk20 ;
         u:tittel ?tittel ;
         u:kode ?kode .
    FILTER (lang(?tittel) = "default")
} ORDER BY ?kode ?tittel

Samme som over, men filtrert på status publisert

Ref.: xb11g18K

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?tittel ?kode WHERE {
    ?uri a u:laereplan_lk20 ;
         u:tittel ?tittel ;
         u:status ?status ;
         u:kode ?kode .
    FILTER REGEX(str(?status), "publisert", "i")
    FILTER (lang(?tittel) = "default")
} ORDER BY ?kode

Hvilke predikater har LK06- og LK20-lærpelaner felles?

Læreplaner av LK06-typen og LK20-typen har mange egenskaper som er ulike, men også en del som er like. Her er en spørring som viser hvilke (hvis vi holder oss til RDF-terminologien) "predikater" de begge har:
Ref.: xd11g22k

PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?predikat WHERE { 
    {
        SELECT DISTINCT ?predikat WHERE {
            ?s a u:laereplan ;
               ?predikat ?o.
        }
    }
    FILTER EXISTS {
        ?s2 a u:laereplan_lk20 ;
            ?predikat ?o2.
    }
}
ORDER BY ?predikat

Vi kan også nevne at i listen over predikater som både LK06 og LK20 har, så er u:fastsatt-spraak en god kandidat å ta utgangspunkt i for å liste alle læreplaner uansett "reform":

List læreplaner uansett om de er fra LK06 eller LK20:

Ref.: xd11g27i

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where { 
    ?laereplan u:fastsatt-spraak  [] .
}

Alle publiserte "laereplaner" for grunnskolen i default-språket

Ref.: xb10g51N

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?kode ?tittel WHERE {
    ?laereplan a u:laereplan ;
               u:tittel ?tittel ;
               u:kode ?kode ;
               u:opplaeringsnivaa ?nivaa ;
               u:status ?status .
    FILTER regex(str(?status), "publisert", "i")
    FILTER regex(str(?nivaa), "grunnskole", "i")
    FILTER (lang(?tittel) = "default")
} ORDER BY ?kode
# endring: "u:har-opplaeringsnivaa" har byttet navn til "u:opplaeringsnivaa" for å forenkle, eller bedre matche navngivning i JSON-endepunktet

Publiserte "laereplaner" uten erstatter-relasjon ved hjelp av negasjon

Ref.: xb11g20M

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?kode ?tittel WHERE {
    ?laereplan a u:laereplan ;
               u:tittel ?tittel ;
               u:kode ?kode ;
               u:status ?status .
    MINUS { ?laereplan u:erstatter ?erstatter. }
    FILTER regex(str(?status), "publisert", "i")
    FILTER (lang(?tittel) = "default")
} ORDER BY ?kode

Ref.: xb11g20z

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT *
 WHERE { 
    ?laereplan u:tittel  "Læreplan i norsk"@nob ;
               u:tittel  ?tittel .
    FILTER langMatches(lang(?tittel), "eng" )
}

Tekstsøk i mutiple tekstfelt i LK06-planer (LP-tittel. formålkapittelet, kompetansemål)

Ref.: xb10g53b

PREFIX u:<http://psi.udir.no/ontologi/kl06/>
PREFIX d:<http://psi.udir.no/kl06/>
SELECT DISTINCT ?soeketekst ?data ?type ?lptittel WHERE {
    {
        ?kompetansemaal a u:kompetansemaal ;
                        u:tittel ?soeketekst ;
                        u:kode ?kode ;
                        u:url-data ?data ;
                        u:grep-type ?type ;
                        u:tilhoerer-laereplan ?lp ;
                        u:tilhoerer-kompetansemaalsett ?kms .
        ?lp u:tittel ?lptittel .
        FILTER (lang(?lptittel) = "default")
        FILTER (lang(?soeketekst) = "default")
    }
    UNION
    {
        ?laereplan a u:laereplan .
        ?laereplan u:tittel ?soeketekst ;
                   u:tittel ?lptittel ;
                   u:kode ?kode ;
                   u:url-data ?data ;
                   u:status ?status ;
                   u:grep-type ?type .
        FILTER regex(str(?status), "publisert", "i")
        FILTER (lang(?lptittel) = "default")
        FILTER (lang(?soeketekst) = "default")
    }
    UNION
    {
        ?laereplan a u:laereplan .
        ?laereplan u:formaal ?soeketekst ;
                   u:kode ?kode ;
                   u:tittel ?lptittel ;
                   u:url-data ?data ;
                   u:grep-type ?type ;
                   u:status ?status .
        FILTER regex(str(?status), "publisert", "i")
        FILTER (lang(?lptittel) = "default")
        FILTER (lang(?soeketekst) = "default")
    }
    FILTER regex(str(?soeketekst), "i forhold til", "i")
} ORDER BY ?type ?data

Ref.: xb10g53q

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?s ?tittel ?type ?soeketekst ?tekstFor ?tilhoererLaereplan ?laereplanTittel where { 
	?s ?tekstFor ?soeketekst ;
       u:grep-type ?type ;
       u:tittel ?tittel ;
       u:status ?status .
    OPTIONAL {
        ?s u:tilhoerer-laereplan ?tilhoererLaereplan .
        ?tilhoererLaereplan u:tittel ?laereplanTittel .
    FILTER (lang(?laereplanTittel) = "default")
    }
    FILTER (isLiteral(?soeketekst) 
        && (lang(?tittel) = "default") 
        && (regex(?soeketekst, "digital dømmekraft", "i")
        && (regex(str(?status), "publisert", "i")
        )))
} ORDER BY ?tilhoererLaereplan ?S

Tekstsøk i kompetansemål (både LK06 og LK20) for å finne læreplan

Ref.: xb10g53C

prefix u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?s ?kmKode ?kmTekst ?laereplanTittel ?laereplan WHERE {
    [] ^u:tilhoerer-kompetansemaalsett ?kompetansemaal . # triks for å få både LK06 og LK20 versjoner
    ?kompetansemaal u:tittel ?kmTekst ;
                    u:kode ?kmKode ;
                    u:tilhoerer-kompetansemaalsett/u:etter-fag/u:laereplan-referanse ?laereplan .
    ?laereplan u:tittel ?laereplanTittel ;
               u:status ?lpStatus .
    FILTER (regex(?kmTekst, "i forhold til", "i")
        && (lang(?kmTekst) = "default")
        && (lang(?laereplanTittel) = "default")
        && (regex(str(?lpStatus), "publisert", "i")))
 } ORDER BY ?laereplan ?kmKode

Tekstsøk: Kompetansemål i LK20 som er likelydende

Ref.: xb10g53Y

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select DISTINCT ?tittel1 (concat(group_concat(distinct ?km2;separator=', ')) as ?kompArray) (COUNT (distinct ?k2 ) as ?antLike) where {
# (concat('[',group_concat(distinct ?km2;separator=','),']') as ?komp2) # Hvis du vil vise ?komp2 som array    
    ?k1 a u:kompetansemaal_lk20 ;
       u:kode ?km1 ;
       u:tittel ?tittel1;
       u:tilhoerer-laereplan ?lp1 ;
       u:tittel ?tittel2 .
    FILTER (lang(?tittel1) = "default")
    FILTER (lang(?tittel2) = "default")
    ?k2 u:tittel ?tittel2 ;
        u:kode ?km2 ;
        u:tilhoerer-laereplan ?lp2 .
    ?lp1 u:grep-type u:laereplan_lk20 ; u:kode ?lpKode1 ;
         u:tittel ?lpTittel1 . FILTER (lang(?lpTittel1) = "default")
    ?lp2 u:grep-type u:laereplan_lk20 ; u:kode ?lpKode2 ;
         u:tittel ?lpTittel2 . FILTER (lang(?lpTittel2) = "default")
    
    FILTER (?tittel2 = ?tittel1)
    FILTER (?k1 != ?k2)
#    FILTER (?lp1 != ?lp2)
} 
GROUP BY ?tittel1 
ORDER BY DESC(?antLike)

Tekstsøk: Kompetansemål i LK06 som er likelydende med kompetansemål i LK20

Ref.: xb10g54n

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select DISTINCT ?tittel1 (concat(group_concat(distinct ?km1;separator=', ')) as ?kompArray1) (concat(group_concat(distinct ?km2;separator=', ')) as ?kompArray2) (COUNT (distinct ?k1 ) as ?antLike1)  (COUNT (distinct ?k2 ) as ?antLike2) where {
#  Hvis du vil vise ?komp2 som array    (concat('[',group_concat(distinct ?km2;separator=','),']') as ?komp2)
    ?k1 a u:kompetansemaal ;
       u:kode ?km1 ;
       u:tittel ?tittel1;
       u:tilhoerer-laereplan ?lp1 ;
       u:tittel ?tittel2 .
    FILTER (lang(?tittel1) = "default")
    FILTER (lang(?tittel2) = "default")
    ?k2 u:tittel ?tittel2 ;
        u:kode ?km2 ;
        u:tilhoerer-laereplan ?lp2 .
    ?lp1 u:grep-type u:laereplan ; u:kode ?lpKode1 ;
         u:tittel ?lpTittel1 . FILTER (lang(?lpTittel1) = "default")
    ?lp2 u:grep-type u:laereplan_lk20 ; u:kode ?lpKode2 ;
         u:tittel ?lpTittel2 . FILTER (lang(?lpTittel2) = "default")
    
    FILTER ((?tittel2 = ?tittel1) && (?k1 != ?k2))
#    FILTER (?lp1 != ?lp2)
} 
GROUP BY ?tittel1 
ORDER BY DESC(?antLike2) DESC(?antLike1)

Kompetansemål som er koblet til flere oppgitte grunnleggende ferdigheter, listet i linje 9 (LK20)

Ref.: xb10g54B

PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select distinct ?lp ?lpTittel ?kmsKode ?kmsTittel ?km ?tittel  where { 
?KM a u:kompetansemaal_lk20 ;
    u:kode ?km ;
    u:tittel ?tittel ;
    u:tilhoerer-kompetansemaalsett ?kms ;
    u:tilhoerer-laereplan ?lp ;
    u:tilknyttede-grunnleggende-ferdigheter d:GF1, d:GF2, d:GF3, d:GF4, d:GF5 .
    FILTER (lang(?tittel) = "default")

#    MINUS { ?KM u:tilknyttede-grunnleggende-ferdigheter [] . }
?lp u:tittel ?lpTittel ;
    u:kode ?lpKode .
    FILTER (lang(?lpTittel) = "default")
?kms u:tittel ?kmsTittel ;
     u:kode ?kmsKode . 
    FILTER (lang(?kmsTittel) = "default")

} ORDER BY ?lp ?kms ?km

List kompetansemål (LK20), vis default-språk, men tving nordsamisk til å vise bokmål

Legg spesielt merke til avsnittet der vi binder nordsamisk (@sme) til bokmål (@nob). I denne spørringen har vi i tillegg listet opp tilgjengelige språk som tilhørende læreplan har (kolonnen helt til høyre i resultatet). Av kapasitetshensyn har vi også satt en LIMIT på 1000, men denne kan fjernes ved ved faktisk bruk (10.386 rader i skrivende stund).
Ref.: xb10g54U

# Alle kompetansemål (LK20) sortert etter læreplan, kompetansemålsett og rekkefølgen til kompetansemålet innenfor hvert  kompetansemålsett
# Har også lagt inn liste over hvilke tilgjengelige språk som læreplanen har
# Linje 17: Kan tas med ved behov (fjern da "#"). Tar da kun med publiserte læreplaner
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX st: <https://data.udir.no/kl06/v201906/status/status_>
PREFIX d: <http://psi.udir.no/kl06/>
select ?lpKode ?lpTittel ?status ?kmsKode ?kmsTittel ?kompKode ?kompTtittel ?urlData ?fastsattSpr (concat(group_concat(distinct ?sprk;separator=', ')) as ?spraak) where { 
	?komp a u:kompetansemaal_lk20 ;
          u:url-data ?urlData ;
          u:kode ?kompKode ;
          u:tittel ?kompTtittel ;
          u:rekkefoelge ?rekkefoelge ;
          u:tilhoerer-kompetansemaalsett ?kms ;
          u:tilhoerer-laereplan ?lp .
    ?lp u:kode ?lpKode ;
        u:status ?st ;
#        u:status st:publisert ;
        u:fastsatt-spraak ?fastsattSpr ;
        u:tilgjengelige-spraak ?spr ;
        u:tittel ?lpTittel .
    ?kms u:kode ?kmsKode ;
         u:kortform ?kmsTittel .
    ?spr u:kode ?sprk .
    BIND (
  IF(?st = st:publisert, str("publisert"), "utgått")
  	AS ?status
)
# BIND nedenfor (kombinert med filtrene nedenfor) tvinger nordsamiske titler til å vises i bokmål
 BIND (
        IF(?fastsattSpr = d:sme, "nob" , "default"
            ) AS ?spraak
    )   
    FILTER (lang(?kompTtittel) = ?spraak)
    FILTER (lang(?lpTittel) = ?spraak)
    FILTER (lang(?kmsTittel) = ?spraak)
} 
GROUP BY ?lpKode ?lpTittel ?status ?kmsKode ?kmsTittel ?kompKode ?kompTtittel ?urlData ?fastsattSpr
ORDER BY ?lpKode ?kms ?rekkefoelge
LIMIT 1000

List læreplaner (LK06) som er fastsatt av Kunnskapsdepartementet

Ref.: xb10g55d

prefix u: <http://psi.udir.no/ontologi/kl06/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT * WHERE {
?uri rdf:type u:laereplan ;
u:tittel ?tittel ;
u:kode ?kode ;
u:fastsettelsestekst ?fastsatt_av .
    FILTER regex(str(?fastsatt_av), "av K", "i")
    FILTER (lang(?tittel) = "default")
    FILTER (lang(?fastsatt_av) = "default")
}

Antall publiserte læreplaner

Ref.: xb10g55o

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT (count (?telleobjekt) as ?antall) WHERE {
    ?telleobjekt a u:laereplan_lk20 ;
        u:status ?status .
    FILTER regex(str(?status), "publisert","i")
}

Antall læreplaner på et oppgitt språk/målform

Ref.: xb10g55A

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select (count (?telleobjekt) as ?antall) where {
    ?telleobjekt a u:laereplan_lk20;
                 u:tittel ?tittel ;
                 u:status ?status .
    FILTER regex(str(?status), "publisert","i")
FILTER (lang(?tittel) = "nob")
}

Læreplan (LK20) og fastsatt språk: Bokmåls- og nynorskandel

Antall læreplaner fastsatt på enten bokmål eller nynorsk (nordsamisk er trukket fra)
Ref.: xb10g55B

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select  (COUNT(?nob) as ?antallBokmål) (COUNT(?nno) as ?antallNynorsk) (COUNT(*)as ?totBokmålOgNynorsk) where { 
    ?lp a u:laereplan_lk20 ;
    OPTIONAL{?lp u:fastsatt-spraak ?nob FILTER(?nob = d:nob)}
    OPTIONAL{?lp u:fastsatt-spraak ?nno FILTER(?nno = d:nno)}
    MINUS{?lp u:fastsatt-spraak ?sme FILTER(?sme = d:sme)}
}

Læreplan (LK20) og fastsatt språk: Andel fastsatt på bokmål nynorsk og nordsamisk

Antall læreplaner fastsatt på enten bokmål, nynorsk eller nordsamisk
Ref.: xb10g56f

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select  (COUNT ( ?nob ) as ?antallBokmål) (COUNT ( ?nno ) as ?antallNynorsk) (COUNT (*) as ?totBokmålNynorskogNordsamisk) where { 
    ?lp a u:laereplan_lk20 ;
    OPTIONAL{?lp u:fastsatt-spraak ?nob FILTER(?nob = d:nob)}
    OPTIONAL{?lp u:fastsatt-spraak ?nno FILTER(?nno = d:nno)}
    OPTIONAL{?lp u:fastsatt-spraak ?sme FILTER(?sme = d:sme)}
}

Læreplan (LK06 og LK20) og fastsatt språk: Bokmåls- nynorsk og nordsamisk-andel

Antall læreplaner fastsatt på enten bokmål, nynorsk eller nordsamisk (filtrert på publiserte)
Ref.: xb10g56K

# Fordeling av fastsatt-språk alle læreplaner (kun status publisert)
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
select (COUNT(?nob) as ?antallBokmål) (COUNT(?nno) as ?antallNynorsk) (COUNT(?sme) as ?antallNordsamisk) (COUNT(?lp) as ?totBokmålNynorskOgNordsamisk) where { 
	{?lp a u:laereplan_lk20 ; u:status ?status } 
    UNION 
    { ?lp a u:laereplan ; u:status ?status}
    OPTIONAL{?lp u:fastsatt-spraak ?nob FILTER(?nob = d:nob)}
    OPTIONAL{?lp u:fastsatt-spraak ?nno FILTER(?nno = d:nno)}
    OPTIONAL{?lp u:fastsatt-spraak ?sme FILTER(?sme = d:sme)}
    FILTER REGEX(str(?status), "publisert", "i")
}

Hvilke læreplaner (LK06) har merkelappen "valgfag"?

Ref.: xb10g56T

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?laereplan ?tittel WHERE {
    ?laereplan a u:laereplan ;
               u:tittel ?tittel ;
               u:merkelapper ?merkelapp .
    FILTER regex(str(?merkelapp), "valg", "i")
    FILTER (lang(?tittel) = "default")
} ORDER BY  ?laereplan

Liste over publiserte læreplaner (LK06) som har merkelapp

Ref.: xb10g57g

prefix u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?laereplan ?tittel ?merkelappTittel WHERE {
    ?laereplan a u:laereplan ;
               u:tittel ?tittel ;
               u:status ?status ;
               u:merkelapper ?merkelapp .    
    ?merkelapp u:tittel ?merkelappTittel .
    FILTER (regex(str(?status), "publisert")
        && (lang(?tittel) = "default")
        && (lang(?merkelappTittel) = "default"))
} ORDER BY ?laereplan ?merkelapp

Hvilke trinn gjelder læreplanen for?

Ref.: xb10g57u

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?trinn WHERE {
    d:SAS1-04 u:kompetansemaalsett/u:etter-aarstrinn ?aarstrinn .
    ?aarstrinn u:rekkefoelge ?trinnOrder ;
               u:tittel ?trinn .
    FILTER (lang(?trinn) = "default")
} ORDER BY ?trinnOrder

Fra kompetansemål til læreplan

Ref.: xb10g57K

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT ?kmkode ?kompetansemaal ?kmstittel ?laereplan ?lpkode
WHERE {
    d:KM1256 u:tittel ?kompetansemaal ;  # prøv også d:K15426 for et LK06-kompetansemål
             u:kode ?kmkode ;
             u:tilhoerer-laereplan ?lp ;
             u:tilhoerer-kompetansemaalsett ?kms .
    ?kms u:tittel ?kmstittel .
    ?lp u:tittel ?laereplan ;
        u:kode ?lpkode .
    FILTER (
        (lang(?kompetansemaal) = "default")
        && (lang(?kmstittel) = "default")
        && (lang(?laereplan) = "default")
    )
}

Fra kompetansemål til trinn

Ref.: xb11g19k

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT ?tittel ?etterAarstrinn ?benyttesPaaAarstrinn WHERE {
    d:KM1 u:tittel ?tittel ;
             u:tilhoerer-kompetansemaalsett/u:etter-aarstrinn ?etterTrinn ;
             u:tilhoerer-kompetansemaalsett/u:benyttes-paa-aarstrinn ?benyttesPaa .
    ?etterTrinn u:tittel ?etterAarstrinn .
    ?benyttesPaa u:tittel ?benyttesPaaAarstrinn ;
                 u:rekkefoelge ?trinnOrder .
    FILTER (
        (lang(?tittel) = 'default')
        && (lang(?etterAarstrinn) = 'default')
        && (lang(?benyttesPaaAarstrinn) = 'default')
    )
} ORDER BY ?trinnOrder

Fra fagområde til læreplan

Ref.: xb10g58n

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?lp ?type ?tittel ?status WHERE {
    [] a u:opplaeringsfag;
        u:fagomraade-referanser d:FOMR404 ;
        u:laereplan-referanse ?lp .
    ?lp u:tittel ?tittel ;
        u:status ?st ;
        u:grep-type ?type .
    BIND(STRAFTER(str(?st), "/status/status_") as ?status)
    FILTER (lang(?tittel) = "default")
} ORDER BY ?type ?lp  ?status 

Liste over læreplaner som foreligger både på bokmål og nynorsk (LK06 og LK20)

Ref.: xb11g19E

prefix u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?lp ?nobTittel ?nnoTittel ?fastsattSpraak WHERE {
    [] a u:opplaeringsfag ; u:laereplan-referanse ?lp .
    ?lp u:tittel ?nobTittel ;
        u:tittel ?nnoTittel ;
        u:fastsatt-spraak ?fastsattSpraak .
    FILTER (
        (lang(?nobTittel) = "nob")
        && (lang(?nnoTittel) = "nno")
    )
} ORDER BY ?lp ?fastsattSpraak 

Antall kompetansemål pr. publiserte læreplan (LK20)

Ref.: xb10g58P

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?lp ?lpTittel (COUNT(?km) AS ?antKm)  where { 
	?km a u:kompetansemaal_lk20 ;
     u:tilhoerer-laereplan ?lp .
    ?lp u:tittel ?lpTittel ;
        u:status ?status .
    FILTER (
        (lang(?lpTittel) = "default")
        && regex(str(?status), "publisert", "i")
    )     
} GROUP BY ?lp ?lpTittel
ORDER BY DESC(?antKm)

Spørringer mot fagkode-sfæren

   [åpne/lukke]

Hvilke fag har merkelappen "avviksfag"?

Ref.: xb10g59a

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?fagkode ?tittel WHERE {
    ?fagkode a u:fagkode ;
             u:tittel ?tittel ;
             u:merkelapper ?merkelapp .
    FILTER regex(str(?merkelapp), "avvik", "i")
    FILTER (lang(?tittel) = "default")
} ORDER BY ?fagkode

Liste over fagkoder som har merkelapp

Ref.: xb10g59n

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT * WHERE {
    ?fagkode a u:fagkode ;
             u:tittel ?fagkodeTittel ;
             u:merkelapper ?merkelapp .
    FILTER (lang(?fagkodeTittel) = "default")
} ORDER BY ?fagkode ?merkelapp 

Gitt en fagkode, list gjeldende opplaeringsfag

Ref.: xb10g59z

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT ?fagkodetittel ?opplFag ?opplaeringsfag WHERE {
    d:NOR0214 u:tittel ?fagkodetittel ;
              u:opplaeringsfag ?opplFag .
    ?opplFag u:status ?opplFagStatus ;
             u:tittel ?opplaeringsfag.
    FILTER (regex(str(?opplFagStatus), "publisert")
    && (lang(?fagkodetittel) = "default")
    && (lang(?opplaeringsfag) = "default"))    
}

List aarstrinn, sortert etter rekkefoelge-statementet

Ref.: xb10g59J

prefix u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?rekkefoelge ?aarstrinn ?tittel WHERE {
    ?aarstrinn a u:aarstrinn;
         u:rekkefoelge ?rekkefoelge;
         u:tittel ?tittel .
    FILTER (lang(?tittel) = "default")
} ORDER BY ?rekkefoelge

I hvilke fag (fagkoder) gis det undervisning første semester 2022?

Ref.: xb10g59U

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?fagkode ?tittel WHERE {
    ?fagkode a u:fagkode ;
             u:tittel ?tittel ;
             u:naar-gis-det-undervisning-foerste-semester ?foerstesemester .
    FILTER regex(str(?foerstesemester), "semester_hoest_2022", "i")
    FILTER (lang(?tittel) = "default")
} ORDER BY ?fagkode

I hvilke programområder gis det undervisning første semester 2022?

Ref.: xb11g00d

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?po ?tittel WHERE {
    ?po a u:programomraade ;
             u:tittel ?tittel ;
             u:url-data ?kode ;
             u:foerste-semester ?foerstesemester .
    FILTER (
        REGEX(str(?foerstesemester), "2022", "i")
        && (lang(?tittel) = "default")
        )
} ORDER BY ?po

I hvilke utdanningsprogram gis det undervisning første semester 2016?

Ref.: xb11g00v

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?up ?tittel WHERE {
    ?up a u:utdanningsprogram ;
         u:tittel ?tittel ;
         u:foerste-semester ?foersteSemester .
    FILTER (
        (lang(?tittel) = "default")
        && regex(str(?foersteSemester), "2016", "i")
    )
} ORDER BY ?up

Liste utdanningsprogram, fagtype, sluttkompetanse og yrkestittel

Ref.: xb11g00F

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?up ?po ?poTittel ?lp ?fagtype ?sluttkompetanse ?yrkesTittel WHERE {
    ?opplaeringsfag a u:opplaeringsfag ;
                    u:status ?ofstatus ;
                    u:programomraader-referanse ?po ;
                    u:fagtype ?fagtype ;
                    u:status ?poStatus ;
                    u:laereplan-referanse ?lp .
    ?po u:tittel ?poTittel ;
        u:utdanningsprogram-referanse ?up ;
        u:sluttkompetanse ?sluttkompetanse ;
        u:yrkestittel ?yrkesTittel ;
        u:status ?upStatus .
    FILTER (
        regex(str(?fagtype), "program", "i")
        && regex(str(?poStatus), "publisert", "i")
        && (lang(?poTittel) = "default")
        && (lang(?yrkesTittel) = "default")
    )
}
ORDER BY ?up ?po ?lp ?poStatus

Gyldige kryssløp det kan søkes på i et gitt tidspunkt (et-litt-vrient-SPARQL-case)

Se artikkelen Gyldige-kryssløp-det-kan-søkes-på-i-et-gitt-tidspunkt-(et-litt-vrient-SPARQL-case)

Liste over læreplaner for kun yrkesfag (uten fellesfag)

Ref.: xb11g00Z

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?up ?po ?lpKode ?tittel WHERE {
    ?opplaeringsfag a u:opplaeringsfag ;
                    u:fagtype ?fagtype ;
                    u:programomraader-referanse ?po ;
                    u:status ?ofStatus ;
                    u:tilhoerende-kompetansemaalsett ?sett ;
                    u:laereplan-referanse ?lp .
    ?po u:utdanningsprogram-referanse ?up .
    ?up u:type-utdanningsprogram ?uptype .
    ?lp u:kode ?lpKode ;
        u:status ?status ;
        u:tittel ?tittel .
    FILTER (
        regex(str(?ofStatus), "publisert", "i")
        && regex(str(?fagtype), "program", "i")
        && regex(str(?uptype), "yrke", "i")
        && regex(str(?status), "publisert", "i")
        && (lang(?tittel) = "default")
    )
} ORDER BY ?up ?po ?lpKode ?lpTittel

Læreplaner og fagkoder

   [åpne/lukke]

Gitt en fagkode, gi meg gjeldende læreplan (LK06)

Ref.: xb11g01v

PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT DISTINCT ?fagkodetittel ?lp ?lptittel  WHERE {
    d:NOR0214 u:opplaeringsfag/u:laereplan-referanse ?lp ;
              u:tittel ?fagkodetittel .
    ?lp u:tittel ?lptittel ;
        u:status ?lpStatus .
    FILTER (regex(str(?lpStatus), "publisert") 
        &&(lang(?lptittel) = "default") 
        && (lang(?fagkodetittel) = "default"))
} ORDER BY ?lp

Fra opplæringsfag til trinn via kompetansemålsett v.1

Ref.: xb11g01F

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?opplaeringsfag ?kmstittel ?ksett ?opplaeringsfagtittel ?trinn WHERE {
    d:NOR1Z37 u:tittel ?opplaeringsfagtittel ;
              u:kode ?opplaeringsfag ;
              u:tilhoerende-kompetansemaalsett ?ksett .
    ?ksett u:etter-aarstrinn ?trinn ;
           u:tittel ?kmstittel .
    FILTER (
        (lang(?opplaeringsfagtittel) = 'default')
        && (lang(?kmstittel) = 'default')
    )
}

Fra opplæringsfag til trinn via kompetansemålsett v.2

Ref.: xb11g01G

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?trinn WHERE {
d:NOR1Z37 u:tilhoerende-kompetansemaalsett/u:etter-aarstrinn ?trinn .
}

List kompetansemål for en gitt læreplan (sortert på trinn og kompetansemålsett

Ref.: xb11g02n

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX kode: <http://psi.udir.no/kl06/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?trinn ?kms ?km ?kmtittel WHERE {
    ?km u:tilhoerer-laereplan d:NOR01-06 ;
        u:tittel ?kmtittel ;
        u:rekkefoelge ?kmOrder ; # denne linjen fjernes hvis LK06-plan
        u:tilhoerer-kompetansemaalsett ?kms .
    ?kms u:etter-aarstrinn ?trinn .
    ?trinn u:rekkefoelge ?trinnOrder .
    FILTER (lang(?kmtittel) = "default")
} ORDER BY ?trinnOrder ?kms ?kmOrder # ?kmOrder byttes til ?km hvis LK06-plan

Andre spørringer

   [åpne/lukke]

Hva skjuler seg bak en UUID-referanse?

Ref.: xb11g02I

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?kode ?psi ?tittel ?type WHERE {
    ?psi u:id "uuid:01b784dd-aebc-46ec-9dfd-a0ad38fe8225" ;
         u:tittel ?tittel ;
         u:url-data ?kode ;
         a ?type .
    FILTER (lang(?tittel) = "default")
}

SPARQL-spørringer som tilsvarer "spesialspørringene" i REST

   [åpne/lukke]

Henter ut alle programområder for en fagkode

Ref.: xb11g03h

PREFIX u:<http://psi.udir.no/ontologi/kl06/>
PREFIX d:<http://psi.udir.no/kl06/>
SELECT  ?po ?poStatus ?poTittel WHERE {
    d:AMB2002 u:opplaeringsfag/u:programomraader-referanse ?po .
    ?po u:tittel ?poTittel ;
        u:status ?st ;
        u:kode ?kode ;
        u:url-data ?url_data .
    BIND(STRAFTER(str(?st), "/status/status_") as ?poStatus)
    FILTER (lang(?poTittel) = "default")
} ORDER BY ?poStatus ?po

Henter ut alle programområder for et opplæringsfag

Ref.: xb11g03r

PREFIX u:<http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT ?opplaeringsfagTittel ?programomraader ?programomraadeTittel WHERE {
    d:AMB2Z02 u:tittel ?opplaeringsfagTittel ;
              u:programomraader-referanse ?programomraader .
    ?programomraader u:tittel ?programomraadeTittel .
    FILTER (
        (lang(?opplaeringsfagTittel) = "default")
        && (lang(?programomraadeTittel) = "default")
    )
}

Henter ut alle læreplaner for et programområde

Ref.: xb11g03C

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT ?laereplan ?lpTittel WHERE {
    ?laereplan a u:laereplan ;
               u:tittel ?lpTittel ;
               u:kompetansemaalsett/u:etter-fag/u:programomraader-referanse ?programomraade .
    ?programomraade u:uri d:DHTRB3---- .
    FILTER (lang(?lpTittel) = "default")
} ORDER BY  ?laereplan

Hent alle opplæringsfag for prograomområde med presisering av fagtype

Ref.: xb11g03P

PREFIX u:<http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?of ?ofTittel ?fagtypeTittel  WHERE {
    ?of a u:opplaeringsfag ;
        u:programomraader-referanse d:DHTRB3---- ;
        u:tittel ?ofTittel ;
        u:fagtype ?fagtype .
    ?fagtype u:tittel ?fagtypeTittel .
    FILTER (
        (lang(?ofTittel) = "default")
        && REGEX(str(?fagtype), "felles_programfag")
        && (lang(?fagtypeTittel) = "default")
    ) 
}

Hent alle opplaeringsfag for fagkode med presisering av fagtype

Ref.: xb11g20g

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?opplaeringsfag ?tittel WHERE {
    ?fagkode u:uri d:AMB2002 ;
             u:opplaeringsfag ?opplaeringsfag ;
             u:fagtype ?fagtype .
    ?opplaeringsfag u:tittel ?tittel .
    FILTER (
        regex(str(?fagtype), "fagtype_felles_programfag")
        && (lang(?tittel) = "default")
    )
}

Hent alle fagkoder for programområde med presisering av fagtype

Ref.: xb11g04g

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?fagkode ?tittel WHERE {
    ?fagkode a u:fagkode ;
             u:tittel ?tittel  ;
             u:fagtype d:fagtype_fellesfag ;
             u:opplaeringsfag/u:programomraader-referanse d:BABAT1---- .
    FILTER (lang(?tittel) = "default")
}
ORDER BY ?fagkode

Hent forskjeller i kompetansemål for læreplan A og B

Ref.: xb11g04u

prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?lptittel ?lpA ?lpB ?kode ?kmtekst ?kompetansemaalsett WHERE {
    {
        ?kompetansemaal a u:kompetansemaal ;
                        u:tittel ?kmtekst ;
                        u:kode ?kode ;
                        u:url-data ?data ;
                        u:grep-type ?type ;
                        u:tilhoerer-laereplan ?lpA ;
                        u:tilhoerer-kompetansemaalsett ?kms .
        ?kms u:tittel ?kompetansemaalsett .
        ?lpA u:uri d:NOR1-04 ;
             u:tittel ?lptittel .
        FILTER (
            (lang(?kompetansemaalsett) = "default")
            && (lang(?lptittel) = "default")
            && (lang(?kmtekst) = "default")
        )
        }
    UNION
    {
        ?kompetansemaal a u:kompetansemaal ;
                        u:tittel ?kmtekst ;
                        u:kode ?kode ; 
                        u:url-data ?data ;
                        u:grep-type ?type ;
                        u:tilhoerer-laereplan ?lpB ;
                        u:tilhoerer-kompetansemaalsett ?kms .
        ?kms u:tittel ?kompetansemaalsett ;
             u:tilhoerer-laereplan ?lpB .
        ?lpB u:uri d:NOR1-05 ;
             u:tittel ?lptittel .
        FILTER (
            (lang(?kompetansemaalsett) = "default")
            && (lang(?lptittel) = "default")
            && (lang(?kmtekst) = "default")
        )
    }
}
ORDER BY ?kmtekst ?kompetansemaalsett ?lpA ?lpB

Som over, men sammenligner en LK06-plan med en LK20-plan

Ref.: xb11g04K

prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix d: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?lptittel ?lpA ?lpB ?kode ?kmtekst ?kompetansemaalsett WHERE {
    {
        ?kompetansemaal rdf:type u:kompetansemaal ;
                        u:tittel ?kmtekst ;
                        u:kode ?kode ; 
                        u:url-data ?data ;
                        u:grep-type ?type ;
                        u:tilhoerer-laereplan ?lpA ;
                        u:tilhoerer-kompetansemaalsett ?kms .
        ?kms u:tittel ?kompetansemaalsett .
        ?lpA u:uri d:NOR1-05 ;
             u:tittel ?lptittel .
        FILTER (
            (lang(?kompetansemaalsett) = "default")
            && (lang(?lptittel) = "default")
            && (lang(?kmtekst) = "default")
        )
    }
    UNION
    {
        ?kompetansemaal a u:kompetansemaal_lk20 ;
                        u:tittel ?kmtekst ;
                        u:kode ?kode ; 
                        u:url-data ?data ;
                        u:grep-type ?type ;
                        u:tilhoerer-laereplan ?lpB ;
                        u:tilhoerer-kompetansemaalsett ?kms .
        ?kms u:tittel ?kompetansemaalsett .
        ?lpB u:uri d:NOR01-06 ;
             u:tittel ?lptittel .
        FILTER (
            (lang(?kompetansemaalsett) = "default")
            && (lang(?lptittel) = "default")
            && (lang(?kmtekst) = "default")
        )
    }
}
ORDER BY ?kmtekst ?kompetansemaalsett ?lpA ?lpB

Liste over siste publiserte endringer

Ref.: xb11g04Z

PREFIX u:<http://psi.udir.no/ontologi/kl06/>
PREFIX d: <http://psi.udir.no/kl06/> 
SELECT DISTINCT ?uri ?kode ?type ?tittel ?sistEndret WHERE {
    ?uri u:kode ?kode ;
         u:tittel ?tittel ;
         u:grep-type ?type ;
         u:sist-endret ?sistEndret ;
         u:url-data ?restUrl .
    FILTER (lang(?tittel) = "default")
} 
ORDER BY DESC(?sistEndret) 
LIMIT 100
⚠️ **GitHub.com Fallback** ⚠️