GraphDB 1.4 - Utdanningsdirektoratet/Grep_SPARQL GitHub Wiki

Denne siden er en del av Videreutvikling


GraphDB 1.4

Dette er en oversikt over saker som kommer med i releasen GraphDB 1.4, morgenen torsdag 10. juni, med etterfølgende import av nye data natt til fredag 11. juni 2021.

Repoet er fortsatt 201906, og ingen av sakene krever at datakonsumentene våre trenger å skrive om spørringene sine. De løser likevel problematikk som er etterspurt.

Her er oversikten:

  • GREPF-1283: Mangler "tilhoerer-laereplan"-property for typen "kompetansemaalsett" (altså LK-06) (dette er også nytt i det ordinære REST-APIet)
  • GREPF-1287: Mangler typen Ordforklaring
  • GREPF-1294: Mangler typen semester
  • GREPF-1327: Mangler info om kryssløp på programområder

"GREPF-xxxx", er vår referanse internt i Grep.


Detaljert oversikt

GREPF-1283: Mangler "tilhoerer-laereplan"-property for typen "kompetansemaalsett"

Beskrivelse:

Typen kompetansemaasett_lk20 har egenskapen "tilhoerer-laereplan", som mangler for tilsvarende lk06-type, altså komptetasemaalsett.

AK.1 (AK="akseptansekriterie") - Spørring etter tilhoerer-laereplan:

Gitt at jeg er i SPARQL-endepunktet (https://sparql-data.udir.no/sparql)
Når jeg skriver inn følgende i spørrefeltet: 

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

og deretter klikker "Kjør spørring",
Så skal jeg kunne se at jeg i p-kolonnen får en eller flere forekomster av 'http://psi.udir.no/ontologi/kl06/tilhoerer-laereplan' slik jeg i dag gjør for følgende spørring:

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

GREPF-1287: Mangler typen "Ordforklaring"

Beskrivelse:

Etter at ordforklaringer er gjort tilgjengelig i REST, har vi behov for at dette også kommer ut i SPARQL-grensesnittet, etter mønster fra de øvrige objektene.

AK.1 - Spørring etter ordforklaring:

Gitt at jeg er i SPARQL-endepunktet (https://sparql-data.udir.no/sparql), Når jeg skriver inn følgende i spørrefeltet:

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

og deretter klikker "Kjør spørring", Så skal jeg kunne se at jeg i hhv p- og o-kolonnen får de samme egenskapene og verdiene som i https://data.udir.no/kl06/v201906/ordforklaringer-lk20/OF1, (inkl språkversjonert innhold (beskrivelse og tittel), men likevel forflatet, slik at

  • beskrivelse og tittel ikke har "spraak/verdi-properties, og at
  • referanser bare er pekere til URIen til referert objekt (f.eks at 'tilhoerer-laereplan', kun har verdien "http://qa-psi.udir.no/kl06/MDD03-02" som i tilfellet for OF1).

Tips: Denne typen er relativt ny, og foreløpig bare sporadisk brukt i læreplanene (LK20). Her er en spørring som lister opp alle forekomster av ordforklaring i Grep:

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where { 
	?s a u:ordforklaring_lk20 .
} 

Mer detaljert spørring som også viser tilhørende læreplan (inkl. tittel):

PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where { 
	?s a u:ordforklaring_lk20 ;
	   u:tilhoerer-laereplan ?lp .
	?lp u:tittel ?lpTittel
	FILTER (lang(?lpTittel) = "default")
} 

GREPF-1294: Mangler typen "semester"

Beskrivelse:

Relativt selvforklarende oppgave som innebærer innføring av typen "semester" i SPARQL-grensesnitet slik at man kan nå forekomstene av semester på link linje med REST: https://data.udir.no/kl06/v201906/semester

AK.1 - Spørring etter forekomster av grep-typen semester

Gitt at jeg er i SPARQL-endepunktet (https://data.udir.no/kl06/sparql/) Når jeg skriver inn følgende i spørrefeltet:

PREFIX u: <http://psi.udir.no/ontologi/kl06/> 
SELECT * WHERE {
?semester a u:semester .
}

og deretter klikker "Kjør spørring", Så skal jeg kunne se at jeg i semester-kolonnen alle forekomster av http://psi.udir.no/ontologi/kl06/semester.

AK.2 - Spørring etter en gitt forekomst av grep-typen semester

Gitt at jeg er i SPARQL-endepunktet (https://data.udir.no/kl06/sparql/) Når jeg skriver inn følgende i spørrefeltet:

PREFIX d: <http://psi.udir.no/kl06/> 
SELECT * WHERE { 
d:semester_hoest_2006 ?property ?value.
}

og deretter klikker "Kjør spørring", Så skal jeg kunne se at jeg i hhv "property"- og "value"-kolonnen får navn på proprties og verdier som tilhører https://data.udir.no/kl06/v201906/semester/semester_hoest_2006.

GREPF-1327: Mangler info om kryssløp på programområder

I utflatingsprosessen for "bygger-paa-programomraade", som er en kobling mellom programområder, får vi i jsonld (og dermed i SPARQL-grensesnittet) ikke med "loepstype.beskrivelse.verdi: "Kryssløp" som i vanlig json.

Eksempel: https://data.udir.no/kl06/v201906/programomraader/DHAKT2---- er koblet til HSHSF1---- og DHDHV1----

  • HSHSF1---- har verdier for kryssløp
  • DHDHV1---- har det ikke ("loepstype": null)

Dette skal løses slik for jsonld:

  • Programområder som ikke er kryssløp i koblingen, vises ikke (altså - koblinger som har verdi null, slettes)
  • Programområder som er kryssløp i koblingen, vises som et array slik:
"loepstype-kryssloep": [
    {
      "uriId": "http://psi.udir.no/kl06/HSHSF1----"
    },
   {       
      "uriId": "http://psi.udir.no/kl06/HSHSF2----"
   }
  ]

NB: "Typen" 'loepstype' (som finnes i json) er tatt bort, og vi viser 'loepstype-kryssloep' direkte. Hvis vi ved en senere anledning få flere løpstyper, vil denne/disse bli lagt på samme nivå som 'loepstype-kryssloep' slik: 

"loepstype-kryssloep": [
    {
      "uriId": "http://psi.udir.no/kl06/HSHSF1----"
    }
],
"loepstype-annet": [
     {
       "uriId": "http://psi.udir.no/kl06/HSHSF2----"
     }
]

AK.1 - Spørring etter kryssløp for et gitt programområde

Gitt at jeg er i SPARQL-endepunktet ((https://data.udir.no/kl06/sparql/) Når jeg skriver følgende i spørrefeltet: 

PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {  
d:DHAKT2---- u:loepstype-kryssloep ?o
}

Så skal jeg kunne få et resultat slik:

o
http://psi.udir.no/kl06/HSHSF1----

Tips:

NB! "bygger-paa-programomraade" skal fremdeles fungere som tidligere. Kryssløp skal altså komme inn som en egen property i tillegg.

Her er en spørring som viser "bygger-paa-programomraade":

PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where { d:DHAKT2---- u:bygger-paa-programomraade ?o }