Hopp til innhold

Resource Description Framework

Fra Wikipedia, den frie encyklopedi

Resource Description Framework (RDF) er en gruppe av W3C-spesifikasjoner som beskriver en modell for a representere metadata, data om data. Spesifikasjonene brukes i mange ulike sammenhenger for a beskrive informasjon og er et viktig element i visjonen om den semantiske webben.

RDF er basert pa ideen om a uttrykke informasjon i tripler: subjekt, predikat og objekt. Et eksempel pa et trippel kan vaere setningen "Per er glad i Anne", der "Per" er subjektet, "er glad i" er predikatet og "Anne" er objektet. Til sammen vil triplene danne en graf, som kan beskrives ut fra sine kanter.[1] Ut fra denne modellen beskrives bade data og metadata.

RDF er i utgangspunktet en datamodell og fastsetter ikke hvordan triplene skal noteres eller hvilket format de skal lagres i. Det viktigste formatet for RDF-informasjon er den XML-baserte RDF/XML. Nar informasjonen skal skrives og leses av mennesker brukes blant annet den mye enklere Turtle-notasjonen, som sa kan oversettes til XML-format av et dataprogram.[2]

Funksjonalitet

[rediger | rediger kilde]

RDF kan entydig identifisere objekter og begreper ved hjelp av samlinger med beskrivelser av klasser og egenskaper. Dette gir store muligheter for utveksling av informasjon pa tvers av systemer og teknologier. RDF er derfor egnet til a kommunisere og samordne data som kan lagres i ulike systemer, for eksempel i relasjonsdatabaser. I tillegg kan RDF beskrive og sette regler for data. Ved hjelp av RDF Schema eller et annet ontologisprak kan man sette data inn i klasser og beskrive forholdet mellom klasser og restriksjoner for samhandling mellom dem.

Ressursidentifisering

[rediger | rediger kilde]

Et sentralt mal for standarden er at datamaskiner skal kunne hente informasjon fra ulike kilder, og forsta nar det er snakk om samme begrep eller samme objekt.

For a oppna dette ma man for det forste kunne gi unike objekter og begreper entydige navn. Hvis for eksempel to personer har samme navn ma man finne en betegnelse som entydig identifiserer dem. Dette gjores ved a tilordne en URI for hvert begrep, ofte kan dette vaere en webadresse der det ligger informasjon om objektet eller begrepet.

De store mulighetene i det semantiske nettet ligger imidlertid i at ulike aktorer bruker samme URI nar det er snakk om det samme begrepet. Det eksisterer allerede flere storre samlinger av begreper som kan brukes nar man publiserer semantisk informasjon.

Blanke noder

[rediger | rediger kilde]

For a uttrykke en-til-mange-relasjoner og situasjoner der man kjenner forholdet mellom to objekter via et ukjent objekt brukes blanke noder, objekter uten egne navn/URIer.

RDF Schema

[rediger | rediger kilde]

RDF Schema er et formelt sprak beregnet for a beskrive metadata. Standarden er fastsatt av World Wide Web Consortium. Spraket gir enkel funksjonalitet for a beskrive ontologier, som brukes til a gi informasjon om RDF-ressurser. En mer ekspressiv standard som fyller samme funksjoner er Web Ontology Language (OWL).

RDFs opererer med klasser, som kan brukes til a beskrive objekter. Man kan fastsette forhold mellom klasser og legge enkelte restriksjoner for mulige kombinasjoner av klasser.

folk:Knut rdf:type folk:Knutsens .
folk:Knutsens rdfs:subClassOf foaf:Person .

Eksemplet overst (i Turtle-notasjon) forteller at Knut er en instans av klassen "Knutsens", som igjen er en underklasse av "Person". Ut fra dette kan datamaskinen forsta at Knut er en person.

foaf:knows rdfs:domain foaf:Person .
foaf:knows rdfs:range foaf:Person .
folk:Per foaf:knows folk:Anne .

Den forste linjen i dette eksempelet sier at subjektet for "knows" er en person. Den andre sier at objektet er en person. Ut fra siste linje (Per kjenner Anne) vil leseren konkludere at Per og Anne er personer.

Turtle er en enkel syntaks for a notere RDF-data, som er utviklet av Dave Beckett. Turtle utgjor en del av den mer omfattende Notasjon3-syntaksen. Turtle tar bare for seg RDF-grafer. Spraket har ingen offisiell status, men er et populaert verktoy for enkel koding av RDF.

.

I eksemplet ovenfor vises et enkelt trippel uttrykt i Turtle/Notasjon3. Utsagnet sier at personen som er representert ved den forste URL-en kjenner personen som er representert ved den andre URL-en.

@prefix foaf: .
@prefix folk: .
# Kommentarer skrives pa denne maten

folk:Knut
foaf:knows folk:Kjell, folk:Per, folk:Anne;
foaf:name "Knut Knutsen" .
folk:Per foaf:hasSister folk:Anne .

Dette lengre eksemplet forteller at Knut kjenner de tre personene og heter "Knut Knutsen", og at Anne er sosteren til Per.

RDF/XML er den ordinaere syntaksen for RDF-grafer. Et forenklet eksempel:






Et fullstendig eksempel med fildeklarasjoner:



xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xml:base="http://www.nordhus.no/folk#">















Datatyper

[rediger | rediger kilde]

RDF har stotte for a merke opplysninger med datatype og sprak. En mye brukt datatype-samling er XML Schema. Dette eksempelet viser dette, forst i Turtle-syntaks og deretter i RDF/XML (enkelte deklarasjoner er utelatt):

@prefix xsd: .
folk:Knut foaf:name "Knut Knutsen"^^xsd:string .



Knut Knutsen


Referanser

[rediger | rediger kilde]
  1. ^ Stolpe, Audun: RDF, The Resource Description Frameword (Slides). INF3580, Universitetet i Oslo, februar 2010.
  2. ^ Hitzler/ Krotzsch/ Rudolph: Foundations of Semantic Web Technologies. CRC Press 2010.

Eksterne lenker

[rediger | rediger kilde]