GraphDB 1.9.0 - Utdanningsdirektoratet/Grep_SPARQL GitHub Wiki
Denne siden er en del av videreutvikling
Releasen GraphDB 1.9.0 (2023-05-03), inneholder følgende saker:
- "Typing" av en rekke objekter som ikke er typer i dag
"Typing" av en rekke objekter som ikke er typer i dag
Internt i Grep – eller under panseret om du vil – har vi en del objekter som ikke er definert som typer i databasen, men som inneholder det vi kaller "hjelpedata" som kan brukes av typer rundt omkring i Grep. Forekomster av disse kan ikke listes opp for seg selv, men forekommer bare i f.eks. json-objekter for ulike typer. Ta for eksempel programområdet NAAGR3---- og dens egenskap "sluttkompetanse". Det ser slik ut i dag:
"sluttkompetanse": [
{
"beskrivelse": [
{
"spraak": "default",
"verdi": "Fagbrev"
},
{
"spraak": "nob",
"verdi": "Fagbrev"
}
],
"uri": "http://psi.udir.no/kl06/sluttkompetanse_fagbrev",
"grep-type": "http://psi.udir.no/ontologi/kl06/sluttkompetanse"
}
],
Her ser vi at det "proklameres" at sluttkompetanse er av "grep-type": "http://psi.udir.no/ontologi/kl06/sluttkompetanse"
, men vi finner ingen egenskap "url-data"
som gjør at vi kan slå opp "https://data.udir.no/kl06/v201906/sluttkompetanse/sluttkompetanse_fagbrev"
som vi kunne forventet av grep-typer. Og her i SPARQL kan vi heller ikke slå opp "uri": "http://psi.udir.no/kl06/sluttkompetanse_fagbrev"
for å få fram
"tittel"
eller de andre egenskapene vi ser i json-objektet ovenfor.
Derfor har vi nå gjort disse elementene til typer som vi kan slå opp på samme måten som andre grep-typer vi finner i Grep.
Dette gjelder (og lista fungerer som innholdsfortegnelse):
- dokumenttype
- loepstype
- merknadstype
- oppgave
- opplaeringssted
- programomraadetype
- sensur
- sluttkompetanse
- utdanningsprogramtype
Testkriterier (etter release)
Gitt at jeg går til SPARQL miljøet https://sparql-data.udir.no/sparql:
dokumenttype
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:dokumenttype_vitnemaal ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:dokumenttype
}
Så skal spørringen returnere liste over begge forekomster av typen
loepstype
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:loepstype_kryssloep ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:loepstype
}
Så skal spørringen returnere den ene forekomsten i kolonne "s".
merknadstype
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:merknadstype_fagmerknad ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:merknadstype
}
Så skal spørringen returnere liste over begge forekomster av typen
oppgave
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:oppgave_sentral ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:oppgave
}
Så skal spørringen returnere liste over begge forekomster av typen
opplaeringssted
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:opplaeringssted_skole ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:opplaeringssted
}
Så skal spørringen returnere liste over begge forekomster av typen
programomraadetype
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:programomraadetype_skole ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:programomraadetype
}
Så skal spørringen returnere liste over begge forekomster av typen
sensur
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:sensur_lokal ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:sensur
}
Så skal spørringen returnere liste over begge forekomster av typen
sluttkompetanse
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:sluttkompetanse_fagbrev ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:sluttkompetanse
}
Så skal spørringen returnere liste over alle de fire forekomstene av typen
utdanningsprogramtype
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
d:utdanningsprogramtype_yrkesfaglig ?p ?o
}
Så skal jeg kunne finne alle egenskaper (?p) og deres verdier (?o) (sammenlign med json) for den gitte forekomsten, med unntak av egenskaper som i json ikke har verdier.
Når jeg kjører følgende spørring;
PREFIX d: <http://psi.udir.no/kl06/>
PREFIX u: <http://psi.udir.no/ontologi/kl06/>
select * where {
?s a u:utdanningsprogramtype
}
Så skal spørringen returnere liste over begge forekomster av typen