Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

RDF

RDF: un salto all'interno del Web Semantico
RDF: un salto all'interno del Web Semantico
Link copiato negli appunti

Concludiamo in questo capitolo la panoramica sulle tecnologie XML andando a parlare della rappresentazione della conoscenza e delle tecnologia XML che opera in questo settore.

Uno dei principali obiettivi a lungo termine del W3C è la costruzione del Semantic Web, ovvero di quello che può essere visto come l'estensione del Web attuale nella quale ad ogni documento (ma in generale ad ogni singola informazione) disponibile sul Web è associato un precisa descrizione.
Attualmente il Web è costituito da numerose risorse, identificate da un URI, caratterizzate dal fatto di essere ideate per essere compresa da un essere umano e proprio per questo comunemente vengono anche chiamate documenti.

L'importanza dei metadati

Tutto ciò evidenzia il fatto che l'informazione contenuta all'interno della risorsa è strutturata in modo da essere machine-readable (leggibile da una macchina) e non machine-understandable (comprensibile da una macchina).

In questo modo è molto difficile analizzare in maniera automatica le numerose informazioni sul Web proprio perché queste mancano di una caratterizzazione semantica che possa essere interpretata e compresa automaticamente da un programma.

Un ruolo molto importante in questo panorama è ricoperto dai Metadati, ovvero le informazioni relative ai dati, attraverso le quali è possibile ricavare delle informazioni sulla risorsa a cui sono associate.

Definendo una sintassi ed una struttura per rappresentare i Metadati abbiamo a disposizione un modo per descrivere le informazioni, relative ad una risorsa sul Web, che possono essere comprese da una macchina.

A cosa serve RDF

RDF (Resource Description Framework) è lo strumento proposto dal W3C per descrivere i metadati relativi ad una risorsa, mettendo a disposizione un linguaggio per esprimere la semantica di una risorsa.

L'utilizzo della descrizione semantica delle risorse può portare numerosi benefici in molti settori del Web: ad esempio si potrebbero sviluppare motori di ricerca più efficienti in grado di basare la loro ricerca non solo sull'occorrenza di una determinata parola all'interno di un documento ma anche in base alla caratterizzazione semantica del documento stesso; oppure si potrebbe realizzare un agente software per il filtraggio dei contenuti di una risorsa in funzione di determinati criteri impostati dall'utente.

RDF Model and Synthax e RDF Schema

La specifica di RDF è costituita da due componenti: RDF Model and Syntax e RDF Schema.

La prima componente riguarda la definizione del data model RDF (modello dei dati), tramite il quale descrivere le risorse, e della sintassi XML utilizzata per specificare questo modello.

RDF Schema invece permette di definire il significato e le caratteristiche delle proprietà e delle relazioni che esistono tra queste e le risorse descritte nel data model RDF.

Una risorsa, identificata univocamente da un URI, viene descritta utilizzando il data model RDF.

Questo modello è basato su tre oggetti:

  • Resource (risorsa): indica ciò che viene descritto mediante RDF e può essere una risorsa Web (ad esempio una pagina HTML, un documento XML o parti di esso) o anche una risorsa esterna al Web (ad esempio un libro, un quadro, etc.);
  • Property (proprietà): indica una proprietà, un attributo o una relazione utilizzata per descrivere una risorsa. Il significato e le caratteristiche di questa componente vengono definite tramite RDF Schema;
  • Statement (espressione): è l'elemento che descrive la risorsa ed è costituito da un soggetto (che rappresenta la Resource), un predicato (che esprime la Property) e da un oggetto (chiamato Value) che indica il valore della proprietà.

Lo statement RDF che descrive la risorsa è del tipo: <soggetto> HAS <predicato> <oggetto>.

Nella seguente figura è raffigurato un modo per esprimere lo statement RDF in forma grafica utilizzando un grafo etichettato orientato nel quale la risorsa è rappresentata da un'ellisse, la proprietà da un arco orientato, che parte dalla risorsa e punta all'oggetto, e l'oggetto da un rettangolo.

statement RDF in forma grafica

Per cercare di comprendere meglio il data model RDF consideriamo un esempio in cui andiamo a descrivere, mediante RDF, il metadato riguardante l'autore di una pagina HTML.

L'informazione che vogliamo descrivere è la seguente: Mario Rossi è l'autore della pagina http://nome_di_un_dominio/esempio.html

Applicando il data model RDF (basato su Resource, Property e Value) otteniamo la seguente tabella:

Resource (soggetto) http://nome_di_un_dominio/esempio.html
Property (predicato) author
Value (oggetto) Mario Rossi

Lo statement RDF che descrive il nostro esempio è quindi:

http://nome_di_un_dominio/esempio.html HAS author Mario Rossi

ed in forma grafica diventa:

esempio grafico

L'oggetto di uno statement RDF può essere a sua volta una risorsa, consentendo in questo modo di descrivere in maniera più approfondita il valore della proprietà.

Consideriamo l'esempio precedente e vediamo di aggiungere maggiori informazioni rigurdanti l'autore della pagina HTML (ad esempio email e numero di telefono).

In questo caso dobbiamo aggiungere allo statement precedente, la descrizione della risora autore che può essere identificata in maniera univoca utilizzando ad esempio l'URI della sua Homepage.

Lo statement RDF espresso in forma grafica diventa quindi:

esempio grafico

In forma testuale si ha uno statement RDF di questo tipo:

http://nome_di_un_dominio/esempio.html HAS author http://homepage_MarioRossi/ AND http://homepage_MarioRossi/ HAS name Mario Rossi AND email MR@email.it AND phone 0123456789

Sintassi XML: esempi pratici

Il data model RDF offre un mezzo astratto e concettuale per descrivere una risorsa e per facilitare la definizione e lo scambio dei metadati, RDF prevede l'utilizzo di una sintassi basata su XML per specificare in maniera concreta gli statement RDF.

Il primo esempio di statement RDF può essere espresso, utilizzando la sintassi XML, nel seguente modo:

<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:a="http://nome_di_un_dominio/schema_autore/">
<rdf:Description about="http://nome_di_un_dominio/esempio.html">
<a:author>
Mario Rossi
</a:author>
</rdf:Description>
</rdf:RDF>

L'elemento <rdf:RDF> racchiude la definizione dello statement RDF ed al suo interno troviamo la definizione di due Namespace: il primo è relativo al Namespace RDF, mentre il secondo Namespace contiene l'URI che identifica lo schema RDF utilizzato per descrivere la semantica e le convenzioni che regolano l'utilizzo delle proprietà presenti nello statement.

La descrizione del metadato è contenuta all'interno dell'elemento <rdf:Description> ed il suo attributo about identifica la risorsa alla quale si riferisce il metadato stesso.

La proprietà dello statement è descritta utilizzando il tag <a:author>, secondo le regole che sono espresse nel relativo schema RDF.

Il secondo esempio di statement RDF, espresso secondo la sintassi XML, diventa:

<?xml version="1.0"?>
<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:a="http://nome_di_un_dominio/schema_autore/">
<rdf:Description about="http://nome_di_un_dominio/esempio.html">
<a:author rdf:resource="http://homepage_MarioRossi/"/>
</rdf:Description>

<rdf:Description about="http://homepage_MarioRossi/">
<a:name>Mario Rossi</a:name>
<a:email>MR@email.it</a:email>
<a:phone>0123456789</a:phone>
</rdf:Description>
</rdf:RDF>

In questo caso, all'interno dello statemnt RDF abbiamo la definizione di due risorse (identificate dai due elementi <rdf:Description>) che sono messe in relazione attraverso l'uso dell'attributo rdf:resource presente nell'elemento <a:author>.

In questo modo la descrizione della seconda risorsa (quella relativa all'autore del documento) viene assegnata come valore della proprietà author della prima risorsa.

Anche in questo caso, per approfondire ulteriormente l'analisi su RDF vi rimando alla lettura delle specifiche delle due componenti di RDF: RDF Model and Syntax (http://www.w3.org/tr/REC-rdf-syntax/) e RDF Schema (http://www.w3.org/tr/rdf-schema/).

Ti consigliamo anche