**RDF** *(Resource Description Framework)* on W3C:n standardoima malli tiedon vaihtoon sovellusten välillä erityisesti web-ympäristössä. Erityispiirteenä RDF mahdollistaa useisiin eri tietomalleihin (skeemoihin) pohjautuvan tiedon integroinnin sekä näiden tietomallien evoluution jo mallinnettua tietoa muokkaamatta .

Tietomalli
----------

Tietomalli RDF:stä on hyvin samankaltainen kuin käsitteellisessä mallinnuksessa käytetyissä luokka- ja entiteettikaavioissa. Tieto rakentuu lausumista, joissa yksittäisistä resursseista (erityisesti web-resursseista) annetaan tietoa subjekti-predikaatti-objekti -kolmikoilla. Nämä kolmikot (engl. triples) muodostavat siis tietomallin perustan. Esimerkiksi ajatus "Taivas on väriltään sininen" voidaan mallintaa RDF:ssä kolmikkona: subjekti ("taivas"), predikaatti ("on väriltään"), ja objekti ("sininen"). RDF ei itsessään ota kantaa tiedon esitysmuotoon, joten RDF-pohjainen tieto voidaan esittää useilla eri formaateilla. Tapa, jolla kolmikot koodataan vaihtelee formaateittain.

RDF-tietomalli ja sen tapa kuvata resursseja on keskeinen osa W3C:n semanttista webiä.

Esitysformaatit
---------------

RDF-muotoinen tieto voidaan esittää useilla erityyppisillä formaateilla, joista keskeisimmät ovat RDF/XML sekä N3 ja Turtle. RDF:ää voidaan upottaa myös suoraan HTML-dokumentteihin attribuutteina RDFa-muodossa.

### RDF/XML

Alkuperäinen esitysformaatti, *RDF/XML*, on W3C:n standardoima, XML-pohjainen sarjallistus RDF:stä, jossa käytetään hyväksi erityisesti XML:n nimiavaruuksia ja entiteettejä. 

Esimerkiksi seuraava RDF-kuvaus määrittelee subjektille *http://fi.wikipedia.org* predikaatin *kieli*, jolla on objekti *suomi*:

```
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:esim="http://www.esimerkki.org/kasitteet/">
   <rdf:Description rdf:about="http://fi.wikipedia.org/">
      <esim:kieli>suomi</esim:kieli>
   </rdf:Description> 
</rdf:RDF>
```

### N3 ja Turtle

*N3* (Notation 3) on luonnollisen kielen kaltainen esitysmuoto RDF:lle, jossa pyritään lausumien tiiviimpään ja luettavampaan esitykseen. N3 sisältää myös ominaisuuksia, joita RDF ei määrittele. N3:sta yksinkertaisettu osajoukko, joka toteuttaa RDF:n on nimeltään *Turtle* - korostettaessa tätä osajoukkoa voidaan notaatiosta käyttää nimeä *N3/Turtle*. N3-formaattia ja sen määritystä kehittää Tim Berners Lee sekä muut semanttisen webin yhteisön jäsenet. 

Aikaisempi esimerkki voidaan kirjoittaa N3-formaatissa seuraavasti:

```
@prefix esim: <http://www.esimerkki.org/kasitteet/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
    
<http://fi.wikipedia.org/> esim:kieli "suomi" .
```

### RDFa

*RDFa* on W3C:n suositus, joka kuvailee HTML:ään attribuuttitason laajennuksen rikkaan metadatan liittämiseksi web-sivuihin.

Kyselykielet
------------

SPARQL-kyselyn rakenne:

```
SELECT ?subject ?predicate ?object
WHERE
	(?subject ?predicate ?object)
USING
	rdf FOR <http://www.w3.org/1999/02/22-rdf-syntax-ns#>

```

Josta tulokseksi saadaan:

```
subject: http://fi.wikipedia.org/
predicate: http://www.esimerkki.org/kasitteet/kieli
object: suomi

```

Katso myös
----------

* RSS
* Web Ontology Language
* SPARQL

Lähteet
-------

1. ↑  Resource Description Framework (RDF). Homepage.
2. ↑
3. ↑

Aiheesta muualla
----------------

* Kuvia tai muita tiedostoja aiheesta **RDF** Wikimedia Commonsissa