SPARQL-spørringer
Fra GrepWiki
m (→Liste over læreplaner som har merkelapp) |
|||
Linje 815: | Linje 815: | ||
ORDER BY ?up ?po ?lp ?po_status | ORDER BY ?up ?po ?lp ?po_status | ||
</pre> | </pre> | ||
+ | |||
+ | |||
+ | |||
+ | = SPARQL-spørringer som erstatter spesialspørringene i REST = | ||
+ | Se [https://kl06-doc.gitbooks.io/kl06-public/rest-grensesnittet/spesialsporringer.html dokumentasjonen for spesialspørringer] i REST. | ||
+ | |||
+ | == Henter ut alle programområder for et fag == | ||
+ | Tilsvarer REST-oppslag på <nowiki>http://data.udir.no/kl06/[FAGKODE]/programomraader</nowiki>, f.eks.: http://data.udir.no/kl06/AMB2002/programomraader. | ||
+ | |||
+ | <pre width="30"> | ||
+ | |||
+ | 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) = "") | ||
+ | } | ||
+ | </pre> | ||
+ | |||
+ | == Henter ut alle programområder for et opplæringsfag == | ||
+ | Tilsvarer <nowiki>data.udir.no/kl06/{kode}/programomraader{.format}</nowiki> f.eks. http://data.udir.no/kl06/MHE1Z11/programomraader.json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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) = "") | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | == Henter ut alle læreplaner for et programområde == | ||
+ | Tilsvarer <nowiki>data.udir.no/kl06/{kode}/laereplaner{.format}</nowiki> f.eks. http://data.udir.no/kl06/DHTRB3----/laereplaner.json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | == Hent alle opplæringsfag for prograomområde med presisering av fagtype == | ||
+ | Tilsvarer <nowiki>data.udir.no/kl06/{kode}/opplaeringsfag?fagtype=fagtype_felles_programfag{.format}</nowiki> f.eks. http://data.udir.no/kl06/DHTRB3----/opplaeringsfag?fagype=fagtype_felles_programfag&format=json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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) = "") | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | == Hent alle opplæringsfag for fag med presisering av fagtype == | ||
+ | Tilsvarer <nowiki>data.udir.no/kl06/{kode}/opplaeringsfag? fagtype=fagtype_felles_programfag{.format}</nowiki> f.eks. http://data.udir.no/kl06/AMB2002/opplaeringsfag?fagtype=fagtype_felles_programfag&format=json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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) = "") | ||
+ | } | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | == Hent alle fagkoder for programområde med presisering av fagtype == | ||
+ | Tilsvarer <nowiki>data.udir.no/kl06/{kode}/fagkoder? fagtype=fagtype_fellesfag{.format}</nowiki> f.eks. http://data.udir.no/kl06/babat1----/fagkoder?fagtype=fagtype_fellesfag&format=json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
+ | == Hent forskjeller i kompetansemål og felles kompetansemål for læreplan A og B == | ||
+ | Tilsvarer <nowiki>data.udir.no/kl06/laereplan/diffkompetansemaal/{kodeA}/{kodeB}.{format}</nowiki> f.eks. http://data.udir.no/kl06/laereplan/diffkompetansemaal/mat1-03/mat1-04.json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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 | ||
+ | |||
+ | </pre> | ||
+ | Hvis du vil filtrere på ?kmtekst, legg til:<br> | ||
+ | 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 <nowiki>data.udir.no/kl06/endringer.{format}</nowiki> f.eks. http://data.udir.no/kl06/endringer.json. | ||
+ | |||
+ | <pre width="30"> | ||
+ | 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 | ||
+ | |||
+ | </pre> | ||
+ | |||
+ | |||
Flere eksempler eller kommentarer mottas med takk til data(alfakrøll)udir.no. | Flere eksempler eller kommentarer mottas med takk til data(alfakrøll)udir.no. |
Revisjonen fra 3. jan 2018 kl. 06:15
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
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? == <pre width="30"> 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
SPARQL-spørringer som erstatter 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.