Resource Description Framework (RDF) är en öppen standard från W3C för att beskriva koncept och resurser digitalt med semantisk innebörd. Data som beskrivs med RDF format kan utbytas och vidarenyttjas med bibehållen begreppsförståelse för koncept mellan verksamheter, branscher och länder. Detta är den andra artikeln i en serie som går igenom grunderna för beskriva digitala resurser med semantisk innebörd. Modellen i artikeln länkar samman definitioner av resurser från Wikidata (Wikipedia) för att relatera till likvärdiga koncept för att skapa kontext. Föregående artikel beskriver hur klasser och attribut definieras med RDF-Schema (RDFS).
Prefix, relativa och absoluta sökvägar
Turtle formatet använder prefix för att förkorta IRI adresser vilket göra syntaxen enklare att läsa och definieras i början av filen. Prefix representerar IRI och är sökvägar till terminologier och klassificeringssystem (taxonomier) som används i modellen. Prefixen i modellen referera till externa resurser.
@base <https://www.clearbyte.org/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix wd: <http://www.wikidata.org/entity/> .
För att skapa relativa sökvägar till resurser som deklareras i modellen används notationen @base. Deklarationen nedanför visar relativ sökväg till resursen Guernica.
<Guernica> a <Painting> ;
rdfs:label "Guernica" .
Resurser som deklareras inom <> tilldelas sökvägen som deklareras med @base. Detta gör det enkelt att byta ut mot en annan adress. Sökvägen till resursen ovanför blir https://www.clearbyte.org/Guernica. Om @base och @prefix lämnas tomma kommer resurserna i modellen få adressen till servern där RDF resurserna publiceras. Det går att utelämna prefix namnet, vilket gör syntaxen ännu kortare men svårare att läsa.
@prefix : <http://clearbyte.org/> .
:Guernica a :Painting ;
rdfs:label "Guernica" .
Om Clear Byte
Clear Byte är registrerad som allmännyttig idéburen organisation inom forskning och utveckling sedan 2011. Vi verkar för inkluderande digital transformation och samhällsutveckling. Som bygger på grundprinciper om öppenhet, delaktighet och kollaborativt samarbete för att möjliggöra datadriven utveckling och vidareutnyttjande av information för att tillvarata synergieffekter och möjliggör innovation inom och mellan samhällssektorer. Vidareutnyttjande och interoperabilitet baserat på öppen teknologi och standarder är ett av våra fokusområden för att skapa innovativa lösningar på de mångfacetterade samhällsutmaningarna som deklareras i agenda 2030.
Kontakt oss info[at]clearbyte.org om du vill veta mer om vårt arbete med att främja tillit och demokratisering kopplat till digital transformation och samhällsutveckling.
Semantisk modell
Modellen nedanför beskriver koncept kopplat till målare och tavlor. Alla resurser beskrivs genom påståenden- statements vilket består av subjekt, predikat och objekt (förklarades i föregående artikel). Subjekt (Artist och Painting) tilldelas attribut genom att parvist deklarera predikat och objekt. Målare har bland annat attribut för etikett (rdfs:label) och beskrivning (rdfs:comment) med @en notation för att indikera att språket för beskrivningen är på engelska.
# Class definition
<Artist> a rdfs:Class ;
rdfs:label "Artist" ;
rdfs:comment "Creator of art artifacts"@en ;
rdfs:seeAlso wd:Q483501 ;
rdfs:seeAlso foaf:Person .
<Painting> a rdfs:Class ;
rdfs:label "Painting";
rdfs:comment "Art artifact on canvas"@en ;
rdfs:seeAlso wd:Q3305213 ;
rdfs:seeAlso schema:Painting .
Objekt kan bestå av textsträngar, numeriska värden eller andra resurser med egna attribut som deklareras i ett annat påstående. När objektet använder ett subjekt från ett annat påstående länkas resurserna samman och utgör grunden för en graf. Exempelvis är objektet wd:Q483501 ett påstående som definieras av Wikidata. Modellen använder predikatet rdfs:seeAlso för att länka samman och jämställa målare i modellen med Wikidata beskrivning av konceptet. Associationen till Wikidata definition av målare (Q483501) och FOAF (friend-of-a-friend) beskrivning av Person visar på hur resurser länkas samman med externa för att skapa kontext och begreppsförståelse.
För att skapa instanser av klasser behövs ett unikt IRI för resursen. Det går inte att deklarera flera subjekt av <VanGogh> i samma modell eftersom sökvägen inte blir unik.
<VanGogh> a <Artist> ;
rdfs:label "VanGogh" ;
foaf:firstName "Vincent" ;
foaf:surname "van Gogh";
rdfs:seeAlso wd:Q5582 ;
<creatorOf> <starryNight>, <sunflowers>, <potatoEaters>, <sundayEindhoven>, <minersInTheSnow> .
<StarryNight> a <Painting> ;
rdfs:label "StarryNight" ;
<paintingTechnique> <oil> .
Om det redan finns klasser med tillhörande attribut definierade i standarder eller allmänt använda taxonomier och ontologier är det fördelaktigt att använda dessa. Detta länkar samman dataset och förenklar förfrågningar om flera använder likvärdig beskrivning av digitala resurser. I vissa fall kan det vara motiverat att skapa egna definitioner eller utöka existerande beskrivningar om existerade taxonomier inte är tillräckligt detaljerade. Eller att beskrivning av resurser skiljer sig åt som i fallet med Wikidata som använder ett eget system av koder för att identifiera resurser, Q5582 för VanGogh och Q3305213 för Painting. Däremot går det att visa på likheter mellan resurser genom att exempelvis använda predikatet rdfs:seeAlso för att länka samman resurser.
Det går att använda IRI/URI fragment i sökvägen för att underordna resurser i förhållande till varandra genom att använda nummersymbol #. IRI sökvägen https://www.clearbyte.org/Painting#Guernica indikerar att Guernica är underordnad resursen Painting. Notera att fragment är en del av IRI/URI protokoll standarden som RDF ramverket bygger vidare på.
<Painting#Guernica> a <Painting> ;
rdfs:label "Guernica";
rdfs:seeAlso wd:Q175036 ;
<createBy> <Picasso> ;
<paintingTechnique> <oil> .
För att deklarera attribut används RDFS predikatet rdfs:Property. Definitionen av attribut tillför semantisk betydelse för hur subjekt och objekt länkas samman.
<creatorOf> a rdfs:Property ;
rdfs:domain <Artist> ;
rdfs:range <Painting> .
<createdBy> a rdfs:Property ;
rdfs:domain <Painting> ;
rdfs:range <Artist> .
Attribut i form av predikat kopplar ihop subjektet med objektet. Pilarna i bilden visar hur attribut tillämpas på klasser (domain) och instanser av klasser (range). Attributet createdBy tillhör klassen Painting och används på instanser av klassen Artist.
Grafen i bilden utgör en enkel kunskapsgraf som använder attribut för att beskriva semantiskt förhållandet mellan klasser. RDF ramverket erbjuder fler funktioner och möjligheter för mer detaljerad definitioner av kunskapsgrafer med semantisk innebörd vilket kommer förklaras i senare artiklar.
Innehållet är skapat av Clear Byte och är licensierad under Creative Commons Erkännande-IckeKommersiell-DelaLika 4.0 Internationell licens.