GraphDB 1.9.0 - Utdanningsdirektoratet/Grep_SPARQL GitHub Wiki

Denne siden er en del av videreutvikling

Se den samme saken, men tilpasset REST-API (json)


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):

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