SPARQL-spørringer

Fra GrepWiki

(Forskjell mellom revisjoner)
Gå til: navigasjon, søk
(Antall kompetansemål pr. publiserte læreplan)
Linje 889: Linje 889:
</pre>
</pre>
-
<!--
 
== Antall kompetansemål pr. publiserte læreplan ==
== Antall kompetansemål pr. publiserte læreplan ==
Denne spørringen tar med kompetansemålsett i visningen slik at du får antall kompetansemål pr undervisningsår og målgruppe.
Denne spørringen tar med kompetansemålsett i visningen slik at du får antall kompetansemål pr undervisningsår og målgruppe.
Linje 916: Linje 915:
# Alternativ sortering: ORDER BY DESC(?antall_km)
# Alternativ sortering: ORDER BY DESC(?antall_km)
</pre>
</pre>
-
-->
+
 
= SPARQL-spørringer som tilsvarer spesialspørringene i REST =  
= SPARQL-spørringer som tilsvarer spesialspørringene i REST =  

Revisjonen fra 26. mar 2018 kl. 20:00

data.udir.no/kl06/sparql

Innhold

Eksempelsamling

Her følger et knippe spørringer som du kan kjøre i SPARQL-endepunktet vårt. Se også brukerveiledningen som har et eget kapittel om RDF/SPARQL og ett med en liten eksempelsamling.

Denne listen er revidert 15.12.17

UTFORSKENDE SPARQL-SPØRRINGER

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


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

List opp typer (RDF-måten (uten prefix fungerer også))


SELECT DISTINCT ?type
WHERE { 
?s rdf:type ?type 
}

eller:


SELECT DISTINCT ?type { ?s a ?type }


List opp typer på Grep-måten (altså typer vi har kalt "grep-type" i modellen)


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

List opp alle properties


SELECT DISTINCT ?property
WHERE {
  ?s ?property ?o .
}


Liste over Properties som er brukt


SELECT DISTINCT ?property
WHERE {
  ?s ?property ?o .
}

Mer matnyttig: Hvilke properties (egenskaper) blir brukt av en bestemt klasse/type


SELECT DISTINCT ?property
WHERE {
  ?s a <http://psi.udir.no/ontologi/kl06/laereplan>;
     ?property ?o .
}

List opp hva et gitt element har

Legg merke til forskjellen mellom data.udir.no- og psi.udir.no-referanser. Siden datamodellen ligger på psi.udir.no/ontologi/kl06, bruker vi psi-referansene til å gjøre spørringer i datamodellen. Typene i modellen følger syntaksen psi.udir.no/ontoogi/[navn-på-typen] (for eksempel psi.udir.no/ontologi/kl06/laereplan), mens en instans av typen har syntaksen psi.udir.no/kl06/[kode] (for eksempel psi.udir.no/kl06/NOR1-05). Hvis du vil slå opp dataene i REST, bruker du data.udir.no/kl06/[kode(.format)], (for eksempel data.udir.no/kl06/NOR1-05.xml eller data.udir.no/kl06/NOR1-05.html). Vi har også anbefalt at referanser til koder utenfra skal være på formen data.udir.no/kl06/[kode], altså uten .format.

Så, hvis du bruker en data.udir.no-URL slik:


SELECT * WHERE {
<http://data.udir.no/kl06/NOR1-05> ?p ?o
}

...får du ikke tak i selve dataene i SPARQL-grensesnittet. Men det gjør du ved å bruke psi-adressen slik:


SELECT * WHERE {
<http://psi.udir.no/kl06/NOR1-05> ?p ?o
}

...men om du insisterer på å bruke data-adressen, må du i tilfelle spørre om det samme slik:


PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/>
SELECT ?p ?o WHERE {
?psi ontologi:url-data <http://data.udir.no/kl06/NOR1-05> ;
?p ?o
}

STATISTIKK

Antall tripler


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

Antall entiteter


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

Antall distinkte klasser


SELECT COUNT(distinct ?o) AS ?no { ?s rdf:type ?o }

Antall distinkte predikater


SELECT count(distinct ?p) { ?s ?p ?o }

Antall distinkte subjekt-noder


SELECT (COUNT(DISTINCT ?s ) AS ?no) { ?s ?p ?o }

Antall distinkte objekt-noder


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


SPØRRINGER MOT INNHOLDET

Hva skjuler seg bak en UUID-referanse?


PREFIX type: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
SELECT ?kode ?psi ?tittel ?type WHERE {
?psi u:id <uuid:2d3db498-48a3-4b4b-8c59-c255b2003fba> ;
u:tittel ?tittel ;
u:url-data ?kode ;
rdf:type ?type ;
u:id ?uuid
FILTER (lang(?tittel) = "")
} ORDER BY str(?kode)

List alle læreplaner (i default-språket)


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT  ?tittel ?kode WHERE {
?uri rdf:type u:laereplan ;
u:tittel ?tittel ;
u:url-data ?kode .
FILTER (lang(?tittel) = "")
} ORDER BY ?kode ?tittel

Filteret som er brukt i nest siste linje her angir default-språket (det språket elementet (i dette tilfellet, læreplanen) er fastsatt på). Vi kan også spesifikt spørre etter et språk. Da bruker vi ISO 639-2-koder for språket. I spørringen over, kan vi for eksempel spørre spesifikt etter læreplaner som er oversatt til lulesamisk ("smj"):

FILTER (lang(?tittel) = "smj")

Samme som over, men her filtrert etter publiserte (ikke utgåtte) lærpelaner:

prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT  ?tittel ?kode WHERE {
?uri rdf:type u:laereplan ;
u:tittel ?tittel ;
u:status ?status ;
u:url-data ?kode .
FILTER regex(?status, "publisert", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?kode ?tittel

Alle publiserte læreplaner for grunnskolen i default-språket


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?laereplan rdf:type u:laereplan ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:har-opplaeringsnivaa ?nivaa ;
u:status ?status .
FILTER regex(?status, "publisert", "i")
FILTER regex(?nivaa, "grunnskole", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?tittel ?kode

Lister læreplaner som er erstattet av en annen læreplan


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix r: <http://psi.udir.no/ontologi/kl06/reversert/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode ?kode2 WHERE {
?uri rdf:type u:laereplan ;
u:tittel ?tittel ;
u:url-data ?kode ;
r:har-erstatter ?erstattet_av .
?erstattet_av u:url-data ?kode2 .
FILTER (lang(?tittel) = "")
} ORDER BY ?kode ?tittel

Finner publiserte læreplaner uten erstatter-relasjon ved hjelp av MINUS (negasjon)


prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?laereplan rdf:type u:laereplan ;
u:uri ?uri;
u:tittel ?tittel ;
u:url-data ?kode ;
u:status ?status .
MINUS { ?laereplan u:har-erstatter ?erstatter. }
FILTER regex(?status, "publisert", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?kode

Finner engelsk oversettelse av angitt "tittel" i spørringen

kilde: http://www.w3.org/TR/sparql11-query/#func-langMatches

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


Tekstsøk i multiple tekstfelt (læreplantittel, formålskaptiitelet, kompetansemål)


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix r: <http://psi.udir.no/ontologi/kl06/reversert/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT DISTINCT ?soeketekst ?data ?type ?lptittel WHERE { 

{ 
  ?kompetansemaal rdf:type u:kompetansemaal ; 
  u:tittel ?soeketekst ; 
  u:kode ?kode ; u:url-data ?data ; 
  u:grep-type ?type ; 
  r:har-kompetansemaal ?kms .

  ?kms r:har-kompetansemaalsett ?lp . 
  ?lp u:tittel ?lptittel . 
  FILTER (lang(?lptittel) = "") FILTER (lang(?soeketekst) = "") 
}

UNION

{ 
  ?kms r:har-kompetansemaalsett ?laereplan . 
  ?laereplan u:tittel ?soeketekst ; 
  u:tittel ?lptittel ; 
  u:kode ?kode ; 
  u:url-data ?data ; 
  u:status ?status ; 
  u:grep-type ?type . 
  FILTER regex(?status, "publisert", "i") 
  FILTER (lang(?lptittel) = "") 
  FILTER (lang(?soeketekst) = "") 
}

UNION

{ 
  { 
    ?kms r:har-kompetansemaalsett ?laereplan . 
    ?laereplan u:formaal-kapittel-tekst ?soeketekst ; 
    u:kode ?kode ; 
    u:tittel ?lptittel ; 
    u:url-data ?data ; 
    u:grep-type ?type ; 
    u:status ?status . 
    FILTER regex(?status, "publisert", "i") 
    FILTER (lang(?soeketekst) = "") 
    FILTER (lang(?lptittel) = "") 
  }
}

FILTER regex(?soeketekst, "dialekt", "i") 

} 
ORDER BY ?type ?data

Det nederste FILTERET angir søkeordet ("dialekt") for spørringen.


Tekstsøk i kompetansemål for å finne læreplan

Eksempel: "iforholdtilisme" i forhold til publiserte kompetansemål (ref. https://no.wikipedia.org/wiki/Forholdisme).


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix r: <http://psi.udir.no/ontologi/kl06/reversert/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?kmkode ?kmtekst ?laereplantittel ?laereplan WHERE {
?kompetansemaal rdf:type u:kompetansemaal ;
u:tittel ?kmtekst ;
u:kode ?kmkode ;
r:har-kompetansemaal ?kms .
?kms r:har-kompetansemaalsett ?laereplan .
?laereplan u:tittel ?laereplantittel .
FILTER regex(?kmtekst, "i forhold til", "i")
FILTER (lang(?kmtekst) = "")
FILTER (lang(?laereplantittel) = "") .
} ORDER BY ?laereplan ?kmkode

Lister læreplaner som er fastsatt av Kunnskapsdepartementet
Vær obs på at "departementet" kan forekomme i teksten der Udir fastsetter, som i "etter delegasjon i brev av 13. september 2013 fra Kunnskapsdepartementet" eller "Utdannings- og forskningsdepartementet"
Derfor filtrerer vi på "av K" i neste spørring:


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


Antall publiserte læreplaner


PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>

SELECT (count (?telleobjekt) as ?antall) WHERE {
?telleobjekt rdf:type u:laereplan ;
u:status ?status .
FILTER regex(?status, "publisert","i")
}

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

Antall publiserte læreplaner på nynorsk:


prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
select (count (?telleobjekt) as ?antall) where {
?telleobjekt rdf:type
u:laereplan;
u:tittel ?tittel ;
u:status ?status .
FILTER regex(?status, "publisert","i")
FILTER (lang(?tittel) = "nob")
}

Hvilke fag har merkelappen "avviksfag"?


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?fagkode rdf:type u:fagkode ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:har-merkelapper ?merkelapp .
FILTER regex(?merkelapp, "avvik", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?kode

Hvilke læreplaner har merkelappen "valgfag"?


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode ?laereplan WHERE {
?laereplan rdf:type u:laereplan ;
u:tittel ?tittel ;
u:kode ?kode ;
u:har-merkelapper ?merkelapp .
FILTER regex(?merkelapp, "valg", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?tittel ?kode

Liste over fagkoder som har merkelapp

Om merkelapp, se http://psi.udir.no/ontologi/kl06#merkelapp


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT * WHERE {
?fagkode rdf:type u:fagkode ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:har-merkelapper ?merkelapp .
FILTER (lang(?tittel) = "")
} ORDER BY ?merkelapp ?kode

Hvilke fagkoder har merkelappen "avviksfag"?

Om merkelapp, se http://psi.udir.no/ontologi/kl06#merkelapp


prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?kode ?tittel WHERE {
?fagkode rdf:type u:fagkode ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:har-merkelapper ?merkelapp .
FILTER regex(?merkelapp, "avvik", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?tittel ?kode

Liste over læreplaner som har merkelapp

Om merkelapp, se http://psi.udir.no/ontologi/kl06#merkelapp


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?laereplan rdf:type u:laereplan ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:har-merkelapper ?merkelapp .
FILTER (lang(?tittel) = "")
} ORDER BY ?merkelapp ?kode

Gitt en fagkode, gi meg gjeldende læreplan


PREFIX data: <http://psi.udir.no/kl06/>
PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/>
SELECT ?fagkodetittel ?zkode ?ztittel ?kms ?lp ?lptittel  WHERE {
data:NOR0214 ontologi:tittel ?fagkodetittel ;
ontologi:har-opplaeringsfag ?zkode 
FILTER (lang(?fagkodetittel) = '') .

?kms ontologi:har-etter-fag ?zkode .
?zkode ontologi:tittel ?ztittel.
FILTER (lang(?ztittel) = '') .

?zkode ontologi:status ?zstatus
FILTER regex(?zstatus, "publisert") .

?kmslp ontologi:har-kompetansemaalsett ?kms ;
ontologi:status ?status
FILTER regex(?status, "publisert") .

?lp ontologi:uri ?kmslp .

?lp ontologi:tittel ?lptittel
FILTER (lang(?lptittel) = '') .
}

Hent årstrinn


prefix u: <http://psi.udir.no/ontologi/kl06/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?url ?tittel WHERE {
?url rdf:type u:aarstrinn;
u:tittel ?tittel
FILTER (lang(?tittel) = "")
}

Hent årstrinn sortert etter rekkefølge-statementet for årstrinn


prefix u: <http://psi.udir.no/ontologi/kl06/> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?url ?tittel WHERE {
?url rdf:type u:aarstrinn;
u:rekkefoelge ?rekkefoelge; 
u:tittel ?tittel
FILTER (lang(?tittel) = "")
} ORDER BY ?rekkefoelge


Gitt en fagkode, gi meg gjeldende opplæringsfag

Om "opplæringsfag", se: http://psi.udir.no/ontologi/kl06#opplaeringsfag


PREFIX grep: <http://psi.udir.no/kl06/>
PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/>
PREFIX kode: <http://data.udir.no/kl06/>

SELECT ?fagkode ?fagkodetittel ?zkode ?zstatus WHERE {
?fagkode ontologi:kode "NOR0214" ;
ontologi:tittel ?fagkodetittel 
 FILTER (lang(?fagkodetittel) = '') .

?fagkode ontologi:har-opplaeringsfag ?zkode.

?zkode ontologi:status ?zstatus 
FILTER regex(?zstatus, "publisert") .
}

Fra opplæringsfag til trinn via kompetansemålsett 1


PREFIX grep: <http://psi.udir.no/ontologi/kl06/>
PREFIX grep-r: <http://psi.udir.no/ontologi/kl06/reversert/>
SELECT DISTINCT ?kmstittel ?ksett ?opplaeringsfagtittel ?trinn WHERE {
<http://psi.udir.no/kl06/NOR1Z37> ?p ?o ;
grep:tittel ?opplaeringsfagtittel ;
grep-r:har-etter-fag ?ksett
FILTER (lang(?opplaeringsfagtittel) = '') .
?ksett grep:har-etter-aarstrinn ?trinn ;
grep:tittel ?kmstittel
FILTER (lang(?kmstittel) = '') .
}

Se "FILTER (lang(?kmstittel) = ) .": I syntaksen for litteraler er doble anførselstegn og apostrof likestilt ref. https://www.w3.org/TR/sparql11-query/#QSynLiterals


Fra opplæringsfag til trinn via kompetansemålsett 2


PREFIX grep: <http://psi.udir.no/ontologi/kl06/>
PREFIX grep-r: <http://psi.udir.no/ontologi/kl06/reversert/>
PREFIX grep-u: <http://psi.udir.no/kl06/>
SELECT DISTINCT ?ksett ?trinn WHERE {
grep-u:NOR1Z37 ?p ?o ;
grep-r:har-etter-fag ?ksett .
?ksett grep:har-etter-aarstrinn ?trinn .
}

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


PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/>
PREFIX grep: <http://psi.udir.no/kl06/>
PREFIX grep-r: <http://psi.udir.no/ontologi/kl06/reversert/> 
PREFIX data: <http://data.udir.no/ontologi/kl06> 

SELECT DISTINCT ?lptittel ?trinn ?kms ?km ?kmtittel
WHERE {
grep:NOR1-05 ontologi:uri ?lp ;
ontologi:tittel ?lptittel ;
ontologi:har-kompetansemaalsett ?kompetansemaalsett .
FILTER (lang(?lptittel) = '')

?kompetansemaalsett ontologi:har-etter-aarstrinn ?aarstrinn ;
ontologi:har-kompetansemaal ?km .
?aarstrinn ontologi:rekkefoelge ?trinnorder ;
ontologi:tittel ?trinn .
FILTER (lang(?trinn) = '')

?km ontologi:tittel ?kmtittel .
FILTER (lang(?kmtittel) = '')

?km grep-r:har-kompetansemaal ?kms .
 
}
ORDER BY ?trinnorder ?kms ?km

Hvilke trinn gjelder læreplanen for?

PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/>
PREFIX grep: <http://psi.udir.no/kl06/>
PREFIX grep-r: <http://psi.udir.no/ontologi/kl06/reversert/> 
PREFIX data: <http://data.udir.no/ontologi/kl06> 

SELECT DISTINCT ?lptittel ?trinn 
WHERE {
grep:SAS1-04 ontologi:uri ?lp ;
ontologi:tittel ?lptittel ;
ontologi:har-kompetansemaalsett ?kompetansemaalsett .
FILTER (lang(?lptittel) = '')

?kompetansemaalsett ontologi:har-etter-aarstrinn ?aarstrinn ;
ontologi:har-kompetansemaal ?km .
?aarstrinn ontologi:rekkefoelge ?trinnorder ;
ontologi:tittel ?trinn .
FILTER (lang(?trinn) = '')

?km ontologi:tittel ?kmtittel .
FILTER (lang(?kmtittel) = '')

?km grep-r:har-kompetansemaal ?kms .
 
}
ORDER BY ?trinnorder ?kms ?km


Fra kompetansemål til læreplan


PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/>
PREFIX grep: <http://psi.udir.no/kl06/>
PREFIX grep-r: <http://psi.udir.no/ontologi/kl06/reversert/>
PREFIX data: <http://data.udir.no/ontologi/kl06>

SELECT ?kmkode ?kompetansemaal ?kmstittel ?laereplan ?lpkode
WHERE {

grep:K15426 ontologi:tittel ?kompetansemaal ;
ontologi:kode ?kmkode ;
grep-r:har-kompetansemaal ?kms .

?kms ontologi:tittel ?kmstittel .
FILTER (lang(?kompetansemaal) = '') 
FILTER (lang(?kmstittel) = '') 

?kms grep-r:har-kompetansemaalsett ?lp .

?lp ontologi:tittel ?laereplan ;
ontologi:kode ?lpkode .
FILTER (lang(?laereplan) = '') 
}


Fra kompetansemål til trinn


PREFIX u: <http://psi.udir.no/ontologi/kl06/>
PREFIX g: <http://psi.udir.no/kl06/>
PREFIX d: <http://data.udir.no/kl06/>
PREFIX r: <http://psi.udir.no/ontologi/kl06/reversert/> 

SELECT ?tittel ?trinn WHERE {
g:K1 u:tittel ?tittel ;
r:har-kompetansemaal ?kms .
FILTER (lang(?tittel) = '')

?kms u:har-benyttes-paa-aarstrinn ?tr .

?tr u:tittel ?trinn .
FILTER (lang(?trinn) = '')
}

Fra fagområde til læreplan


PREFIX ontologi: <http://psi.udir.no/ontologi/kl06/> 
PREFIX ontologi-rev: <http://psi.udir.no/ontologi/kl06/reversert/> 
PREFIX data: <http://data.udir.no/kl06/> 
SELECT ?uri ?tittel ?kode WHERE { 
{ SELECT DISTINCT ?lp WHERE { 
?psi ontologi:url-data data:FOMR404 ; 
ontologi-rev:har-fagomraade-referanser ?opplaeringsfag . 
?opplaeringsfag ontologi:status data:status_publisert ; 
ontologi-rev:har-etter-fag ?kms . 
?kms ontologi-rev:har-kompetansemaalsett ?lp 
} } 
?lp ontologi:status data:status_publisert ; 
ontologi:url-data ?uri ; ontologi:tittel ?tittel ; 
ontologi:kode ?kode FILTER (lang(?tittel) = "") 
} 
ORDER BY str(?tittel)

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


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?fagkode rdf:type u:fagkode ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:naar-gis-det-undervisning-foerste-semester ?foerstesemester .
FILTER regex(?foerstesemester, "semester_hoest_2018", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?kode

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


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?fagkode rdf:type u:programomraade ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:foerste-semester ?foerstesemester .
FILTER regex(?foerstesemester, "2017", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?kode

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


prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?tittel ?kode WHERE {
?uri rdf:type u:utdanningsprogram ;
u:tittel ?tittel ;
u:url-data ?kode ;
u:foerste-semester ?foerstesemester .
FILTER (lang(?tittel) = "")
FILTER regex(?foerstesemester, "2016", "i")
} ORDER BY ?kode

Liste utdanningsprogram, fagtype, sluttkompetanse og yrkestittel


prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix r: <http://psi.udir.no/ontologi/kl06/reversert/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?up ?po ?po_tittel ?lp ?fagtype ?sluttkompetanse ?y_tittel WHERE {

?opplaeringsfag rdf:type u:opplaeringsfag ;
u:status ?ofstatus ;
u:tittel ?oftittel ;
u:har-programomraader-referanse ?po ;
u:har-fagtype ?fagtype ;
u:status ?po_status ;
r:har-etter-fag ?kms .

?po u:tittel ?po_tittel .

?kms r:har-kompetansemaalsett ?lp .
FILTER regex(?fagtype, "program", "i")

?po u:har-utdanningsprogram-referanse ?up ;
u:sluttkompetanse ?sluttkompetanse ;
u:yrkestittel ?y_tittel ;
u:status ?upstatus .

FILTER regex(?po_status, "publisert", "i")
FILTER (lang(?oftittel) = "")
FILTER (lang(?po_tittel) = "")
FILTER (lang(?y_tittel) = "")
}
ORDER BY ?up ?po ?lp ?po_status

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

prefix u: <http://psi.udir.no/ontologi/kl06/>
prefix r: <http://psi.udir.no/ontologi/kl06/reversert/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?kode ?tittel ?up ?po WHERE {
?opplaeringsfag rdf:type u:opplaeringsfag ;
u:har-fagtype ?fagtype ;
u:har-programomraader-referanse ?po ;
u:status ?ofagstatus .
FILTER regex(?ofagstatus, "publisert", "i")
FILTER regex(?fagtype, "program", "i")
?po u:har-utdanningsprogram-referanse ?up .
?up u:type-utdanningsprogram ?uptype .
FILTER regex(?uptype, "yrke", "i")
?opplaeringsfag r:har-etter-fag ?sett .
?sett r:har-kompetansemaalsett ?lp .
?lp u:kode ?kode ;
u:status ?status ;
u:tittel ?tittel .
FILTER regex(?status, "publisert", "i")
FILTER (lang(?tittel) = "")
} ORDER BY ?up ?po ?kode ?tittel

Liste over læreplaner som foreligger både på bokmål og nynorsk

Aller læreplaner fastsettes enten på bokmål eller på nynorsk. Noen få oversettes til det motsatte målføre. Denne spørringen lister disse opp, og tar i tillegg med hvilket målføre læreplanen er fastsatt på.

prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT  ?kode ?nobtittel ?nnotittel ?fastsatt_sprak WHERE {
?uri rdf:type u:laereplan ;
u:tittel ?nobtittel ;
u:tittel ?nnotittel ;
u:har-fastsettelsesinformasjon-fastsatt-spraak ?fastsatt_sprak ;
u:url-data ?kode .
FILTER (lang(?nobtittel) = "nob")
FILTER (lang(?nnotittel) = "nno")
} ORDER BY ?fastsatt_sprak ?kode 

Antall kompetansemål pr. publiserte læreplan

Denne spørringen tar med kompetansemålsett i visningen slik at du får antall kompetansemål pr undervisningsår og målgruppe.


prefix u: <http://psi.udir.no/ontologi/kl06/> 
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX r: <http://psi.udir.no/ontologi/kl06/reversert/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT DISTINCT ?laereplankode ?lptittel ?kmstittel (COUNT (?km) as ?antall_km) WHERE {
?uri rdf:type u:laereplan ;
u:tittel ?lptittel ;
u:har-kompetansemaalsett ?kompetansemaalsett ;
u:status ?lpstatus ;
u:kode ?laereplankode ;
u:url-data ?lpkode .
FILTER regex(?lpstatus, "publisert","i")
FILTER (lang(?lptittel) = "")

?kompetansemaalsett u:har-kompetansemaal ?km ;
u:tittel ?kmstittel .
FILTER (lang(?kmstittel) = "")
} 
ORDER BY ?laereplankode ?kompetansemaalsett
# Alternativ sortering: ORDER BY DESC(?antall_km)


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

Se dokumentasjonen for spesialspørringer i REST.

Henter ut alle programområder for et fag

Tilsvarer REST-oppslag på http://data.udir.no/kl06/[FAGKODE]/programomraader, f.eks.: http://data.udir.no/kl06/AMB2002/programomraader.


PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>
PREFIX reversert:<http://psi.udir.no/ontologi/kl06/reversert/>
PREFIX uri:<http://psi.udir.no/kl06/>

SELECT ?status ?kode ?uri ?url_data ?tittel WHERE {

?fagkode rdf:type ontologi:fagkode ;
ontologi:har-opplaeringsfag ?via_opplaeringsfag .
FILTER regex(?fagkode, "AMB2002", "i")

?via_opplaeringsfag ontologi:har-programomraader-referanse ?uri .
?uri ontologi:tittel ?tittel ;
ontologi:status ?status ;
ontologi:kode ?kode ;
ontologi:url-data ?url_data .
FILTER (lang(?tittel) = "")
}

Henter ut alle programområder for et opplæringsfag

Tilsvarer data.udir.no/kl06/{kode}/programomraader{.format} f.eks. http://data.udir.no/kl06/MHE1Z11/programomraader.json.

PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>
PREFIX uri:<http://psi.udir.no/kl06/>
SELECT ?opplaeringsfag ?opplaeringsfagtittel ?programomraader ?programomraadetittel WHERE {
?opplaeringsfag ?p uri:AMB2Z02 .
?opplaeringsfag ontologi:tittel ?opplaeringsfagtittel ;
ontologi:har-programomraader-referanse ?programomraader ;
ontologi:tittel ?programomraadetittel .
FILTER (lang(?opplaeringsfagtittel) = "")
FILTER (lang(?programomraadetittel) = "")
}

Henter ut alle læreplaner for et programområde

Tilsvarer data.udir.no/kl06/{kode}/laereplaner{.format} f.eks. http://data.udir.no/kl06/DHTRB3----/laereplaner.json.

prefix ontologi: <http://psi.udir.no/ontologi/kl06/> 
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT DISTINCT ?laereplan ?tittel WHERE {
?laereplan rdf:type ontologi:laereplan ;
ontologi:tittel ?tittel ;
ontologi:har-kompetansemaalsett ?kompetansemaalsett.
?kompetansemaalsett ontologi:har-etter-fag ?opplaeringsfag .
?opplaeringsfag ontologi:har-programomraader-referanse ?programomraade .
?programomraade ontologi:kode ?opplfag_kode ;
ontologi:tittel ?opplfag_tittel .
FILTER regex(?opplfag_kode, "DHTRB3----") 
FILTER (lang(?tittel) = "")
} ORDER BY  ?laereplan


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

Tilsvarer data.udir.no/kl06/{kode}/opplaeringsfag?fagtype=fagtype_felles_programfag{.format} f.eks. http://data.udir.no/kl06/DHTRB3----/opplaeringsfag?fagype=fagtype_felles_programfag&format=json.

PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>
PREFIX r:<http://psi.udir.no/ontologi/kl06/reversert/>
PREFIX uri:<http://psi.udir.no/kl06/>
SELECT DISTINCT ?opplaeringsfag ?tittel WHERE {
?programomraade ?p uri:DHTRB3---- ;
r:har-programomraader-referanse	?opplaeringsfag .
FILTER regex(?p, "uri") 
?opplaeringsfag ontologi:har-fagtype ?fagtype ;
ontologi:tittel ?tittel .
FILTER regex(?fagtype, "fagtype_felles_programfag") 
FILTER (lang(?tittel) = "")
}


Hent alle opplæringsfag for fag med presisering av fagtype

Tilsvarer data.udir.no/kl06/{kode}/opplaeringsfag? fagtype=fagtype_felles_programfag{.format} f.eks. http://data.udir.no/kl06/AMB2002/opplaeringsfag?fagtype=fagtype_felles_programfag&format=json.

PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>
PREFIX r:<http://psi.udir.no/ontologi/kl06/reversert/>
PREFIX uri:<http://psi.udir.no/kl06/>
SELECT ?opplaeringsfag ?tittel WHERE {
?fagkode ?p uri:AMB2002 ;
ontologi:har-opplaeringsfag ?opplaeringsfag .
?opplaeringsfag ontologi:har-fagtype ?fagtype ;
ontologi:tittel ?tittel .
FILTER regex(?fagtype, "fagtype_felles_programfag") 
FILTER (lang(?tittel) = "")
}


Hent alle fagkoder for programområde med presisering av fagtype

Tilsvarer data.udir.no/kl06/{kode}/fagkoder? fagtype=fagtype_fellesfag{.format} f.eks. http://data.udir.no/kl06/babat1----/fagkoder?fagtype=fagtype_fellesfag&format=json.

PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>
PREFIX r:<http://psi.udir.no/ontologi/kl06/reversert/>
PREFIX uri:<http://psi.udir.no/kl06/>
SELECT DISTINCT ?fagkode ?tittel WHERE {
?fagkode rdf:type ontologi:fagkode ;
ontologi:tittel ?tittel  ;
ontologi:har-fagtype uri:fagtype_fellesfag ;
ontologi:har-opplaeringsfag ?opplaeringsfag.
FILTER (lang(?tittel) = "")
?opplaeringsfag ontologi:har-programomraader-referanse ?programomraade .

?programomraade ontologi:kode ?programomraadekode .
FILTER regex(?programomraadekode, "BABAT1----")
}
ORDER BY ?fagkode


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

Tilsvarer data.udir.no/kl06/laereplan/diffkompetansemaal/{kodeA}/{kodeB}.{format} f.eks. http://data.udir.no/kl06/laereplan/diffkompetansemaal/mat1-03/mat1-04.json.

prefix u: <http://psi.udir.no/ontologi/kl06/> 
prefix r: <http://psi.udir.no/ontologi/kl06/reversert/> 
prefix d: <http://psi.udir.no/kl06/>
prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT DISTINCT ?lptittel ?lp1 ?lp2 ?kode ?kmtekst ?kompetansemaalsett WHERE { 

{
  ?kompetansemaal rdf:type u:kompetansemaal ; 
  u:tittel ?kmtekst ; 
  u:kode ?kode ; u:url-data ?data ; 
  u:grep-type ?type ; 
  r:har-kompetansemaal ?kms .

  ?kms u:tittel ?kompetansemaalsett .
  FILTER (lang(?kompetansemaalsett) = "")

  ?kms r:har-kompetansemaalsett ?lp1 . 
  ?lp1 u:uri d:NOR1-04 ; 
  u:tittel ?lptittel . 
  FILTER (lang(?lptittel) = "") 
  FILTER (lang(?kmtekst) = "") 
}
UNION
{
  ?kompetansemaal rdf:type u:kompetansemaal ; 
  u:tittel ?kmtekst ; 
  u:kode ?kode ; u:url-data ?data ; 
  u:grep-type ?type ; 
  r:har-kompetansemaal ?kms .

  ?kms u:tittel ?kompetansemaalsett .
  FILTER (lang(?kompetansemaalsett) = "")

  ?kms r:har-kompetansemaalsett ?lp2 . 
  ?lp2 u:uri d:NOR1-05 ; 
  u:tittel ?lptittel . 
  FILTER (lang(?lptittel) = "") 
  FILTER (lang(?kmtekst) = "") 
}
} 
ORDER BY ?kmtekst ?kompetansemaalsett ?lp1 ?lp2

Hvis du vil filtrere på ?kmtekst, legg til:
FILTER regex(?kmtekst, "analysere og vurdere argumentasjon i og påvirkning fra tekster i aviser, på TV og Internett ved hjelp av begreper fra retorikken", "i")


Hent liste over siste publiserte endringer

Tilsvarer data.udir.no/kl06/endringer.{format} f.eks. http://data.udir.no/kl06/endringer.json.

PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>
PREFIX ontologi:<http://psi.udir.no/ontologi/kl06/>

SELECT DISTINCT ?uri ?uri_sist_endret ?data_sist_endret
WHERE {

?uri ontologi:kode ?kode ;
ontologi:sist-endret ?uri_sist_endret ;
ontologi:url-data ?data .

?data <http://www.sdshare.org/2012/extension/lastmodified>  ?data_sist_endret.

}
ORDER BY DESC(?uri_sist_endret) 
#ORDER BY ?data_sist_endret

#LIMIT 100


Flere eksempler eller kommentarer mottas med takk til data(alfakrøll)udir.no.

Personlige verktøy
Navnerom
Varianter
Handlinger
Navigasjon
Verktøy