Rappresentazione della conoscenza: RDF e RDF Schema

Rappresentazione della conoscenza: RDF e RDF Schema

RDF (Resource Description Framework) è lo standard che consente l’aggiunta di semantica a un documento e quindi si pone ad un livello direttamente superiore rispetto ad XML. RDF è in un certo senso un’applicazione di XML: se XML è un’estensione del documento, RDF può essere visto come un’estensione dei dati introdotti da XML.

Rappresentazione della conoscenza - RDF e RDF Schema

Il modello base dei dati RDF è composto da:

  • Risorse: con questo termine si intende qualsiasi cosa possa essere descritta. Una risorsa può essere ad esempio una pagina Web oppure un qualsiasi oggetto anche se non direttamente accessibile via Web (ad esempio un libro, una persona). Una risorsa viene identificata univocamente attraverso un URI.
  • Proprietà: una proprietà è una caratteristica, una relazione che descrive una risorsa. Il significato, l’insieme di valori che può assumere, i tipi di risorse a cui può riferirsi sono tutte informazioni reperibili dallo schema RDF in cui essa è definita.
  • Asserzioni: un’asserzione è costituita da un soggetto (la risorsa descritta), un predicato (la proprietà) e un oggetto (il valore attribuito alla proprietà), dove l’oggetto può essere una semplice stringa o un’altra asserzione.

Volendo fare un paragone con un database relazionale potremmo dire che una riga di una tabella è una risorsa RDF, il nome di un campo (una colonna) è il nome di una proprietà RDF, il valore del campo è il valore della proprietà.
Un semplice esempio di utilizzo del modello di RDF può essere fornito dalla seguente asserzione:

Jim’s phone_number is 1024

che è stato graficamente schematizzato nella figura seguente.

Semplice esempio di un'asserzione RDF

La precedente asserzione è formalizzata in RDF/XML come segue:

Esempio di documento RDF XML
Esempio di documento RDF XML

Sintatticamente, i concetti espressi con RDF vengono serializzati mediante XML. RDF definisce, quindi, un semplice modello dei dati per descrivere proprietà e relazioni fra risorse. In RDF però non esistono livelli di astrazione: ci sono le risorse e le loro relazioni, tutte organizzate in un grafo piatto. In altri termini non è possibile definire tipi (o classi) di risorse con loro proprietà specifiche.
Vista l’utilità di poter definire classi di risorse, RDF è stato arricchito con un semplice sistema di tipi detto RDF Schema.

Il sistema di tipi RDF Schema ricorda i sistemi di tipi dei linguaggi di programmazione object-oriented (Java-like). Una risorsa può, per esempio, essere definita come istanza di una classe (o di più classi) e le classi possono essere organizzate in modo gerarchico. RDF Schema utilizza il modello RDF stesso per definire il sistema di tipi RDF, fornendo un insieme di risorse e proprietà predefinite che possono essere utilizzate per definire classi e proprietà a livello utente. E’ possibile, inoltre, definire vincoli di dominio e di range sulle proprietà ed alcuni tipi di relazioni (comprese quelli di sottoclasse di una risorsa e sottotipo di una proprietà). L’insieme di tali elementi è detto vocabolario dell’RDF Schema.

Il linguaggio di specifica RDFS è un linguaggio dichiarativo poco espressivo ma molto semplice da implementare. Si esprime attraverso la sintassi di serializzazione RDF/XML e si avvale del meccanismo dei namespace XML per la formulazione delle URI che identificano in modo univoco le risorse (definite nello schema stesso) consentendo il riutilizzo di termini definiti in altri schemi.
Concetti e proprietà già dichiarati per un dominio possono essere impiegati di nuovo o precisati per incontrare le esigenze di una particolare comunità di utenti.

Sebbene, in prima battuta, RDF e RDF Schema sembrano essere un buon strumento per la definizione di un linguaggio di markup per il Web Semantico (ad esempio, per determinare le relazioni semantiche tra termini differenti), in realtà essi mostrano di non avere sufficiente potere espressivo: non consentono, infatti, di specificare le proprietà delle proprietà, le condizioni necessarie e sufficienti per l’appartenenza alle classi e gli unici vincoli che si possono definire sono quelli di dominio e range delle proprietà.
Inoltre, il loro utilizzo nei sistemi di rappresentazione della conoscenza è limitato da un’altra caratteristica: non permettono di specificare meccanismi di ragionamento, ma rappresentano semplicemente un sistema a frame. I meccanismi di ragionamento devono essere quindi costruiti ad un livello superiore.

Precedente Linguaggio di Markup: XML e XML Schema Successivo Perché è importante l'innovazione per le aziende?

Lascia un commento

*