Faktasnutt om context i JSON‐LD - Utdanningsdirektoratet/KL06-LK20-public GitHub Wiki
Dette er en faktasnutt for artikkelen Typer og egenskaper i Grep; REST vs SPARQL
@context
i JSON-LD?
Faktasnutt: Hva er Helt i starten av en .jsonld
-fil finner du et felt kalt @context
. Dette er en nøkkelkomponent i JSON-LD, og det som gjør at dataene blir Linked Data – altså RDF (og dermed tigjengelig for SPARQL-spørringer)
@context
fungerer som en slags «oppslagsbok» som sier hva alle feltnavnene i dokumentet betyr. Den gir kortformene (f.eks. "tittel"
, "status"
, "kode"
) en entydig URI, slik at både maskiner og mennesker forstår at "tittel"
i dette datasettet betyr det samme som http://psi.udir.no/ontologi/kl06/tittel
.
"@context": {
"@vocab": "http://psi.udir.no/ontologi/kl06/",
"uriId": "@id",
"uri": {
"@type": "@id"
},
"url-data": {
"@type": "@id"
},
"grepType": "@type",
"grep-type": {
"@type": "@id"
},
"verdi": "@value",
"spraak": "@language",
"status": {
"@type": "@id"
}
},
Legg merke til at:
@id
og@type
er standard RDF-felter.- Felter som
tittel
ogstatus
får utdypet både hva de peker til (URI) og hvordan de er strukturert (f.eks. med språkcontainer eller ID-type). - Det er
@context
som gjør at vi kan bruke SPARQL mot disse dataene.
Her er en tabell som viser sammenhengen mellom feltnavnene i dataen, definisjonene i @context
, og hva det betyr i praksis:
Felt i JSON | Definisjon i @context |
Hva det betyr (enkelt forklart) |
---|---|---|
@vocab |
"http://psi.udir.no/ontologi/kl06/" |
Grunnstamme for alle feltnavn uten eksplisitt URI |
uriId |
"@id" |
Dette feltet skal tolkes som selve ID-en til objektet |
grepType |
"@type" |
Objektets RDF-type – hvilken "klasse" det tilhører |
grep-type |
{ "@type": "@id" } |
Dette feltet er en URI til en annen ressurs (ikke tekststreng) |
uri |
{ "@type": "@id" } |
Også en URI – typisk en ekstern lenke eller identifikator |
url-data |
{ "@type": "@id" } |
URI til selve dataressursen på nett (brukes som lenke) |
verdi |
"@value" |
Brukes som selve innholdet i en tekst (i språkversjonerte tekster) |
spraak |
"@language" |
Hvilket språk teksten er på (nob, nno, eng, sme, default osv. |
status |
{ "@type": "@id" } |
Dette er en referanse til en URI som beskriver statusen til elementet (f.eks. publisert/utgått) |
Du trenger ikke forstå hele @context
-objektet for å bruke dataene – men det er nyttig å vite at det finnes, og hva det gjør.