Vous êtes sur la page 1sur 46

OWL

the
Web Ontology Language
The Semantic Web is a vision for the future of the Web
in which information is given explicit meaning, making it easier
for machines to automatically process and integrate information
available on the Web
Relazione degli studenti
Stefano Girotti (stefano.girotti@poste.it)
Antonio Zerbinati(antonio.zerbinati@poste.it)
Ultima modifica 17 febbraio 2004.
OWL the Web Ontology Language - 1.Abstract.
1.ABSTRACT.
Questo documento si propone di descrivere lo stato attuale dello sviluppo di OWL facendo
riferimento in modo esteso alla documentazione pubblicata dal W3C e da altre entit impegnate
nella ricerca nel settore del Semantic Web e di inquadrare i possibili sviluppi futuri nel
reperimento delle informazioni.
Questo documento non e non intende essere una traduzione del materiale pubblicato dal World
Wide Web Consortium sebbene alcuni paragrafi verranno ripresi in modo quasi testuale.
2
OWL the Web Ontology Language - 2.Indice
2.INDICE
Indice
1.Abstract.....................................................................................................................2
2.Indice........................................................................................................................3
3.Introduzione..............................................................................................................4
3.1.Dal Testo all'Informazione............................................................................................5
3.2.Metadata......................................................................................................................8
3.3.Resource Description Framework................................................................................9
3.3.1.Caratteristiche...............................................................................................................9
3.4.I Grafi: Soggetto Predicato Oggetto...........................................................................11
3.5.Oltre RDF...................................................................................................................15
3.6.Cos' un'Ontologia?...................................................................................................17
4.Introduciamo OWL..................................................................................................18
4.1.I tre sottolinguaggi di OWL.........................................................................................19
4.2.Struttura di questo capitolo.........................................................................................21
4.3.Language Synopsis....................................................................................................22
4.3.1.OWL Lite Synopsis .....................................................................................................22
4.3.2.Synopsis OWL DL e Full ............................................................................................24
4.4.Descrizione di OWL Lite.............................................................................................25
4.4.1.OWL Lite: RDF Schema..............................................................................................25
4.4.2.OWL Lite: Uguaglianze e Diseguaglianze..................................................................27
4.4.3.OWL Lite: Propriet.....................................................................................................28
4.4.4.OWL Lite: Property Type Restriction...........................................................................30
4.4.5.OWL Lite: Restrizioni sulla cardinalit........................................................................31
4.4.6.OWL Lite: Intersezione di Classi.................................................................................33
4.5.Incremental Language Description di OWL DL e OWL FULL ...................................34
5.Uses Cases............................................................................................................36
5.1.Web portals................................................................................................................37
5.2. Multimedia collections...............................................................................................38
5.3.Corporate web site management...............................................................................40
5.4. Design documentation...............................................................................................41
5.5. Agents and services..................................................................................................42
5.6. Ubiquitous computing................................................................................................43
6.Conclusioni.............................................................................................................45
7.Bibliografia..............................................................................................................46
3
OWL the Web Ontology Language - 3.Introduzione.
3.INTRODUZIONE.
Questo documento descrive l'Ontologic Web Language (OWL) e le sue possibili applicazioni.
OWL stato progettato allo scopo di essere usato quando le informazioni contenute nei documenti
devono essere processate da applicazioni, in contrapposizione alle situazioni in cui i contenuti
devono essere soltanto rappresentati agli utenti. OWL pu essere usato per rappresentare
esplicitamente il significato dei termini di un dizionario e le relazioni tra i termini stessi.
La rappresentazione dei vocaboli e delle loro reciproche relazioni viene chiamata ontologia.
Si hanno molte pi possibilit di esprimere concetti e significati usando il linguaggio OWL
piuttosto che con l'uso dei linguaggi XML, RDF o RDF-S; OWL va aldil di questi linguaggi nella sua
capacit di rappresentare contenuti interpretabili dalle macchine nel Web.
Poich OWL strettamente legato ai linguaggi RDF e RDFS, li introdurremo brevemente,
accennando prima per anche a XML e di conseguenza ai metadati.
4
OWL the Web Ontology Language - 3.Introduzione.
3.1.Dal Testo all'Informazione.
Con la nascita del Web, i documenti che prima venivano archiviati con formati proprietari e
dipendenti dal sistema usato, devono ora essere presentati in uno standard che permetta ad un
insieme di sistemi diversi di visualizzare i contenuti pubblicati indipendentemente dalla piattaforma
utilizzata. A questo scopo venne adottato HTML, un linguaggio derivato dal pi generico SGML.
HTML un linguaggio incentrato sulla sola formattazione dei contenuti e non garantisce
alcuna struttura al documento stesso. Alla base di questo linguaggio sono le TAG, da cui il nome di
Markup Language. Tag come <b> indicano che il testo che segue deve essere in grassetto. Una tag
come </p> indica che un paragrafo terminato. Tuttavia un paragrafo pu terminare senza che sia
mai cominciato o una tag aperta entro un'altra pu non venir chiusa prima che sia chiusa la tag che
la conteneva, come avviene ad esempio in <p><b>Grassetto</p></b>.
XHTML il nuovo standard per i documenti sul Web, esso si basa su XML. Anche XML un
linguaggio di MarkUp, tuttavia esistono delle restrizioni forti sull'uso delle TAG. Il documento
rappresenta un albero e ogni nodo rappresentato da una coppia di tag e ogni foglia da una tag
vuota. Nessuna tag pu essere chiusa prima che ogni altra tag in essa contenuta non sia stata chiusa.
Un esempio di documento XML potrebbe essere il seguente:
5
OWL the Web Ontology Language - 3.Introduzione.
XML un formato leggibile (ed editabile) direttamente dall'uomo, in questo esempio non
difficile capire che il documento riguarda dei contatti, in particolare due persone di nome Antonio
Zerbinati e Stefano Girotti. Utilizzando un foglio di stile possibile formattare il testo nel modo
voluto. Tuttavia, anche XML non va oltre il testo; le informazioni sono disponibili solo se si conosce
a priori la struttura del documento; solo grazie alla nostra capacit di esseri intelligenti abbiamo
dedotto le informazioni denotate dalle tag ma una macchina non sarebbe in grado di farlo. Per
rendere pi chiaro questo concetto esaminiamo il seguente esempio di documento XML:
6
<contatti>
<persona>
<nome>Antonio</nome>
<cognome>Zerbinati</cognome>
</persona>
<persona>
<nome>Stefano</nome>
<cognome>Girotti</cognome>
</persona>
</contatti>
<bottiglia>
<materiale>pet</materiale>
<contiene>acqua</contiene>
<confezionata>26/01/2004</confezionata>
<tappo tipo="avvitato"/>
<produttore>Acqua Web</produttore>
</bottiglia>
OWL the Web Ontology Language - 3.Introduzione.
Ci che dovrebbe essere evidente da questo esempio come sia impossibile avere delle
informazioni relative a questa bottiglia se non si da un significato chiaro e preciso alle tag usate: la
bottiglia fatta di pet e il suo contenuto acqua, questo evidente se si conosce il significato dei
termini usati; ma chi ci dice che non sia fatta di acqua e che il suo contenuto non sia pet?? O peggio,
il produttore contenuto nella bottiglia o partecipa in qualche altro modo? Per non parlare del
tappo... non sufficiente usare delle tag con un nome autoesplicativo per indicare in che relazione
stanno tra loro i dati poich solo degli esseri umani che conoscono il dominio delle informazioni
sarebbero in grado di desumerle.
XML un veicolo per trasportare dati in modo indipendente dal software usato per creare o
leggere il documento, ma la struttura non libera e deve essere concordata a priori; deve essere
nota la semantica delle tag usate se si vuole che il testo scritto nel documento si elevi allo stato di
informazione.
Se ci prefiggiamo come scopo soltanto di visualizzare i dati di un documento XML ad un
utente, sar sufficiente corredarlo con un foglio di stile ad hoc, ma se vogliamo andare oltre, se
vogliamo che le informazioni possano essere raccolte da un qualche agente software, XML da solo
non basta. Serve un linguaggio per descrivere il significato delle tag e in che relazione stanno tra di
esse.
7
OWL the Web Ontology Language - 3.Introduzione.
3.2.Metadata.
Ad un certo punto della storia del Web cominci a farsi largo l'utilizzo di metatag nei
documenti HTML per indicare in modo esplicito alcune informazioni di base come ad esempio il
nome dell'autore o la data di pubblicazione al fine di poter effettuare delle ricerche cos come
avviene in una biblioteca, dove possibile recuperare una pubblicazione accedendo semplicemente
ai cataloghi per Autore, Titolo, Editore o anno di pubblicazione.
In una biblioteca, per quanto vasta, bastano poche informazioni (autore, titolo, editore...)
per recuperare un documento; tuttavia nel web ci sono milioni di cose diverse, non solo
pubblicazioni ma anche negozi on-line, forum, blog, cataloghi multimediali, canali IRC... e
innumerevoli altre cose. Ogni categoria di documenti necessita di metadata specifici per poter
effettuare ricerche in modo efficiente e, visto la vastit delle possibilit offerte dal Web, diventa
praticamente impossibile pensare di conoscere a priori tutte le possibili metatag che verranno
utilizzati nelle pi disparate applicazioni. Un sito che tratta MP3 dovr usare metadata per valori
come l'Artista, il Titolo del Brano, l'Album, la Durata, la Qualit della codifica e tante altre
informazioni utili. Un sito che tratta prenotazioni aeree avr invece a che fare con Aeroporti,
Compagnie Aeree, Voli e cos via. La vastit di metadata diverse in cui ci si pu imbattere seconda
soltanto alle informazioni che esse vogliono classificare. Inoltre non sempre evidente se un
metadata abbia lo stesso significato in contesti diversi, ad esempio se Titolo abbia lo stesso
significato sia riguardo audio MP3 che video DVD o relativamente ad un archivio nobiliare dove i
Titoli hanno valori come Duca, Conte o Principe.
Forse che i metadata non siano appropriati a catalogare il materiale sul web? Dovremo forse
confidare per sempre solo su motori di ricerca basati sulla forza bruta come Altavista? La risposta
per fortuna NO.
Per regolamentare l'uso dei metadata, in modo che il loro significato fosse universalmente
noto e riconosciuto a livello globale, il W3C propose RDF.
Il Resource Description Framework, come il nome lascia intendere, un framework per
descrivere e scambiare descrizioni di risorse, ossia i metadata.
8
OWL the Web Ontology Language - 3.Introduzione.
3.3.Resource Description Framework
Lo sviluppo di RDF stato stimolato da alcune aree applicative, tra queste:
Web metadata: fornire informazioni riguardo risorse Web e sistemi che ne fanno uso.
Rappresentare informazioni machine processable.
Applicazioni che richiedano modelli aperti piuttosto che vincolati alle informazioni, cio
applicazioni che prescindano dalla particolare struttura XML del documento da elaborare.
Fornire un linguaggio universale per far cooperare processi WEB.
Introduciamo brevemente le caratteristiche di questo linguaggio.
3.3.1.Caratteristiche
RDF rappresenta le informazioni in modo flessibile, diretto e di facile interpretazione;
utilizzabile in applicazioni stand-alone, ma la caratteristica pi importante la possibilit di
scambiare informazioni fra applicazioni diverse in tutta la Rete.
RDF offre l'opportunit di esprimere affermazioni che siano "machine-processable", cosicch,
anche se i computer non sono in grado di "comprenderne" effettivamente il significato, essi possono
comunque elaborare queste affermazioni "come se le comprendessero", producendo risultati
significativi per gli utenti.
RDF ha una sintassi astratta che rispecchia un semplice modello di dati basato su Grafi e una
semantica formale che definisce rigorosamente la nozione di ereditariet, al fine di fornire le basi
per ricavare nuove informazioni implicite.
In un Grafo RDF abbiamo nodi legati da archi orientati, un arco rappresenta una relazione
(Predicato) fra il nodo Soggetto (dove ha origine l' arco) e il nodo Oggetto (dove l'arco termina). In
RDF dunque il significato codificato da triple formate da soggetto, predicato e oggetto.
Tornando al nostro esempio, si afferma che la bottiglia (soggetto) fatta di (predicato)
pet (oggetto) e che la bottiglia(soggetto) contiene (predicato) acqua (oggetto).
Ogni Nodo Soggetto o un Arco Predicato devono essere degli URI mentre un Nodo Oggetto pu
anche essere un Letterale o Nullo. Gli URI garantiscono che i concetti non siano solo parole in un
documento, ma che siano legati ad una definizione univoca.
Utilizzando in modo esteso queste semplici triple RDF possibile esprimere una conoscenza
molto vasta.
9
OWL the Web Ontology Language - 3.Introduzione.
In generale, non si assume che siano disponibili informazioni complete riguardo ogni risorsa.
RDF non previene dal fare asserzioni che siano in contraddizione tra loro o che siano inconsistenti.
Chi progetta applicazioni che fanno uso di RDF dovrebbe essere consapevole del principio che
anything can say anything about anything e di conseguenza dovrebbe progettare applicazioni in
modo tale da tollerare incompletezza e inconsistenza delle sorgenti di informazione.
10
OWL the Web Ontology Language - 3.Introduzione.
3.4.I Grafi: Soggetto Predicato Oggetto.
Vediamo alcuni esempi sulla trasposizione della conoscenza in triple RDF. Prendiamo una frase
in linguaggio naturale: Stefano possiede un orologio fatto di materiale metallico.
Questa frase contiene due affermazioni, che scritte sotto forma di tripla risultano:
Soggetto Predicato Oggetto
Stefano possiede orologio
orologio fatto di metallo
Come possiamo notare l'oggetto della prima tripla diventato il soggetto della seconda tripla.
Vediamo ora come esprimere queste due triple con la sintassi del linguaggio RDF.
Innanzitutto supponiamo di avere a disposizione dei namespaces. Al fine di poterli utilizzare
necessario dichiararli con la seguente sintassi:
<rdf:RDF xmlns:rdf="http://..."
xmlns:ve="http://.../verb"
xmlns:obj="http://.../Object">
....
</rdf:RDF>
11
Figura 1Grafo relativo a due triple.
OWL the Web Ontology Language - 3.Introduzione.
Le asserzioni sono definite all'interno del tag rdf:Description, vediamo un primo esempio:
...
<rdf:Description rdf:about="http://.../Stefano">
<ve:Own> Orologio </ve:Own >
</rdf:Description>
...
Questo esempio riguarda la prima tripla, Stefano possiede un orologio, dove la risorsa Stefano
stata identificata con l'URI http://.../Stefano", own fa parte del namespaces dei verbi, mentre
orologio stato lasciato come Letterale.
Ci siamo riferiti alla risorsa Stefano usando l'attributo rdf:about del tag
<rdf:Description>; se la risorsa non avesse ancora un URI definito, come
nel caso dell'orologio, possibile usare l'attributo rdf:ID per assegnargli un nome
locale.
Per completare la seconda affermazione, in cui l'orologio partecipa come soggetto,
necessario referenziarlo come un URI e non pi come un Letterale. Per fare ci introduciamo una
risorsa locale rdf:ID=orologio. Integrando l'esempio precedente con l'informazione l'orologio
fatto di metallo la descrizione RDF diviene la seguente:
In un Nodo RDF possibile avere pi archi uscenti corrispondenti ad altrettanti predicati,
questo corrisponde ad avere pi propriet figlie all'interno della stessa descrizione del nodo
Soggetto. Riprendiamo l' esempio della bottiglia:
12
...
<rdf:Description rdf:about="http://.../Stefano">
<ve:Own>
<rdf:Description rdf:Resource=#orologio/>
</ve:Own >
</rdf:Description>
<rdf:Description rdf:ID="orologio">
<ve:madeOf>iron</ve:madeOf>
</rdf:Description>
...
OWL the Web Ontology Language - 3.Introduzione.
Abbiamo qui specificato che la bottiglia fatta di materiale Pet col relativo URI e che stata
imbottigliata da Acqua pi di cui per disponibile solo il Letterale.
In RDF non esistono gi integrati i concetti di numero, data o altri tipi di dato standard, ma gli
elementi possono essere tipati dal relativo URI, ad esempio <obj:size
rdf:datatype="http://www.w3.org/2001/XMLSchema#int">123</obj:size> indica che il
letterale 123 rappresenta un numero intero. Gli elementi con tipo sono utilizzati anche per
descrivere una risorsa attraverso una propriet che assume pi valori, ad esempio una ordine
d'acquisto composto da pi articoli; per rappresentare situazioni di questo genere abbiamo a
disposizione le Collections identificate da rdf:parseType="Collection".
Per poter utilizzare oggetti di questo tipo necessario introdurre una risorsa fittizia, descritta
attraverso le usuali asserzioni RDF, col ruolo di Contenitore per altre Risorse. Prendiamo ad esempio
un gruppo di studio:
13
...
<rdf:Description rdf:about="http://.../StudyGroup">
<ex:hasStudent rdf:parseType="Collection">
<rdf:Description rdf:about="http://.../Antonio.Zerbinati"/>
<rdf:Description rdf:about="http://.../Stefano.Girotti"/>
<rdf:Description rdf:about="http://.../.."/>
</ex:hasStudent>
</rdf:Description>
...
...
<obj:bottle>
<rdf:Description>
<ve:MadeOf>
<rdf:Description rdf:about="http://.../pet">
</rdf:Description>
</ve:MadeOf>
<obj:brandfullName>Acqua pi</obj:brandfullName>
</rdf:Description>
</obj:bottle>
...
OWL the Web Ontology Language - 3.Introduzione.
Si pu avere la necessit di specificare liste di propriet che possono essere ordinate, o meno,
oppure mutuamente esclusive; a tal fine ci sono 3 classi che consentono di raggruppare propriet
con diversa semantica: i Contenitori RDF:
Nome Tag Caratteristiche
Bag rdf:Bag
Lista non ordinata di risorse o letterali, in cui
sono ammessi valori duplicati
Sequence rdf:Seq
Lista ordinata di risorse o letterali, in cui sono
ammessi valori duplicati.
Alternative rdf:Alt
Lista di risorse o letterali tra loro alternativi : la
Propriet deve assumere uno ed uno
soltanto dei valori specificati in questa lista di
possibili valori.
14
OWL the Web Ontology Language - 3.Introduzione.
3.5.Oltre RDF
RDF si dimostrato essere un eccellente complemento a XML, fornendo un linguaggio per
descrivere metadati semi-strutturati e rendendo possibili applicazioni di gestione della conoscenza.
RDF stato un successo grazie alla sua semplicit. Il W3C ha anche sviluppato uno schema language
intenzionalmente leggero, RDF Schema (RDFS), per disporre di strutture di base come classi e
propriet;
RDF Schema, il linguaggio per descrivere il vocabolario RDF, una estensione semantica di
RDF. Provvede un meccanismo per descrivere gruppi di risorse correlate e le relazioni tra queste. Le
descrizioni del vocabolario RDF Schema sono scritte a loro volta in RDF. Queste risorse sono usate
per determinare caratteristiche di altre risorse, come i domini e range delle propriet.
In RDFS il sistema delle classi e delle propriet simile a quello dei linguaggi di
programmazione orientati agli oggetti, come Java o C++. RDFS differisce da questi nel fatto che
invece di definire le classi in termini delle propriet che le istanze possono avere, RDFS descrivere
le propriet in termini delle classi delle risorse a cui si applicano. Per esempio possiamo definire che
la propriet es:autore appartiene al dominio es:documento e un ha il range es:persona. Se avessimo
usato Java avremmo definito una classe Documento con una propriet Autore di tipo Persona.
Usando l'approccio di RDF diviene facile per altri definire susseguentemente propriet
addizionali del dominio, diversamente in java, volendo aggiungere nuove propriet, si dovrebbero
ridefinire le classe. Ad esempio volendo aggiungere la propriet titolo al documento, in RDFS
sufficiente aggiungere che es:titolo appartiene al dominio es:documento; in Java, invece, dovrei
modificare la classe esistente Documento e aggiungere la nuova propriet Titolo; si noti che creare
una nuova classe che eredita da Documento, ad esempio DocumentoConTitolo non la stessa cosa:
in RDF abbiamo espresso che Documento dispone di un Titolo, non che ne dispone una sua
sottoclasse.
Uno dei vantaggi dell'approccio property-centric di RDF che permette a tutti di estendere la
descrizione di risorse esistenti, uno dei principi architetturali del WEB. [BERNERS-LEE98].
Tuttavia le limitazioni di uno schema language cos leggero cominciarono ad essere evidenti
quando si cerc di applicarle al Semantic Web. Di conseguenza, si form un gruppo per sviluppare
uno schema language pi espressivo, DARPA Agent Markup Language (DAML).
15
OWL the Web Ontology Language - 3.Introduzione.
DAML fornisce una infrastruttura di base che permette alle macchine di fare lo stesso tipo di
semplici deduzioni che gli esseri umani sanno fare. E' solo un primo passo, ma un presupposto
cruciale per un web dove le informazioni possano essere usate dalle macchine.
Sebbene DAML non sia un'iniziativa di W3C, diversi suoi componenti hanno partecipato al
progetto, fra cui lo stesso Tim Berners-Lee.
Ben presto il gruppo del DAML un gli sforzi con quello del Ontology Inference Layer (OIL). Il
risultato di quest'opera il linguaggio DALM+OIL che poi stato ripreso dal W3C come linguaggio di
partenza per sviluppare OWL.
16
OWL the Web Ontology Language - 3.Introduzione.
3.6.Cos' un'Ontologia?
Un'Ontologia definisce i termini usati per descrivere e rappresentare un'area di Conoscenza.
Le ontologie sono usate dalla gente, dai database e dalle applicazioni che necessitano di condividere
un dominio di conoscenza ( un dominio semplicemente un argomento specifico di un'area di
interesse, come medicina, gestione immobiliare o finanziaria, progettazione industriale...). Le
Ontologie includono definizioni computer-usable di concetti basilari del dominio e le relazioni tra di
essi. Codificano la conoscenza nel dominio e anche conoscenza estesa a pi domini. In questo modo
altre ontologie possono riusare una conoscenza espressa in un'ontologia gi esistente.
Le Ontologie sono solitamente espresse in un linguaggio logico tale che sia possibile fare
distinzioni fra Classi, Propriet e Relazioni, distinzioni che devono essere dettagliate, accurate,
basate sul significato e consistenti. Grazie a queste caratteristiche esistono strumenti che,
basandosi su una o pi Ontologie, sono in grado di automatizzare i ragionamenti, fornendo basi per
applicazioni intelligenti; ad esempio sistemi di search e retrieval basati su Concetti e Semantica,
Agenti Software, Supporto alle Decisioni, Gestione della Conoscenza....
Il W3C sta attualmente lavorando nella definizione di OWL, Ontologic Web Language.
17
OWL the Web Ontology Language - 4.Introduciamo OWL
4.INTRODUCIAMO OWL
Il primo mattone per costituire il Web Semantico sulle fondamenta di RDF e RDF Schema
un linguaggio ontologico in grado di descrivere formalmente non solo il significato dei termini usati
ma le relazioni che intercorrono fra di essi, al fine di ricavare altre informazioni non esplicitamente
presenti ma implicate dalla conoscenza a disposizione. Ad esempio se conosco l' informazione Maria
figlia di Paola posso ricavare anche l'informazione che Paola madre di Maria perch so che i
predicati figlia di ed madre di sono propriet l'una l'inversa dell'altra; un linguaggio ontologico
ha il compito di definire relazioni tra i predicati.
18
OWL the Web Ontology Language - 4.Introduciamo OWL
4.1.I tre sottolinguaggi di OWL
OWL prevede tre sottolinguaggi di espressivit crescente progettati per esser usati da
specifiche comunit di utenti e di implementatori.
Si parte da quello pi semplice e meno espressivo: OWL Lite, per poi passare a OWL DL, ed
infine il pi completo e complesso: OWL Full.
OWL Lite supporta le funzioni basilari per definire una tassonomia di classi e semplici
vincoli. Ad esempio supporta la cardinalit ma solo con valori pari a zero e uno. OWL Lite
il sottolinguaggio di pi facile implementazione. Inoltre OWL Lite consente una veloce
migrazione da thesauri o altre tassonomie.
OWL DL supporta gli utenti che desiderano la massima espressivit pur mantenendo la
completezza computazionale e la decidibilit, ossia garantito che tutte le implicazioni
vengano elaborate in un tempo finito. OWL DL comprende tutti i costrutti di OWL, ma con
certe restrizioni: ad esempio mentre una classe pu essere una sottoclasse di molte altre
essa non pu essere un'istanza di un'altra classe. DL sta per description logics, un campo di
ricerca che studia la logica che costituisce le fondamenta formali di OWL.
OWL Full concepito per gli utenti che desiderano la massima espressivit e la libert
sintattica di RDF ma senza garanzie computazionali. Ad esempio in OWL Full una classe pu
essere trattata allo stesso tempo sia come una collezione di entit (individui) sia come
un'entit a se stante. Un'Ontologia OWL Full permette di aumentare il significato di un
vocabolario (RDF o OWL) gi definito. Vista la sua complessit improbabile che un
reasoner software sia in grado di supportare pienamente tutte le caratteristiche di OWL
Full.
Ogni sottolinguaggio estende l'espressivit del predecessore, mantenendo per la compatibilit
sia per quanto riguarda quello che pu essere espresso sia per quanto riguarda le conclusioni che si
possono trarre, in generale non vale il contrario. Di conseguenza abbiamo:
Ogni Ontologia OWL Lite corretta anche un' ontologia OWL DL corretta.
Ogni conclusione valida in OWL Lite valida anche in OWL DL.
Ogni Ontologia OWL DL corretta anche un' ontologia OWL Full corretta.
Ogni conclusione valida in OWL DL valida anche in OWL Full.
19
OWL the Web Ontology Language - 4.Introduciamo OWL
Ogni sottolinguaggio OWL risponde a necessit diverse, ogni sviluppatore di ontologie
dovrebbe scegliere in base alle sue necessit. La scelta fra OWL Lite e OWL DL dipende dalla libert
d'espressione richiesta dall'utente. La scelta fra OWL DL e OWL Full dipende se l'utente richiede la
stessa capacit espressiva della metamodellazione di RDF Schema (ad esempio quando necessario
applicare alle classi le stesse definizioni che in DL si possono applicare solo sulle istanze). Nella
scelta tra OWL DL e OWL Full necessario considerare che attualmente non esistono
implementazioni complete di OWL Full e quindi meno prevedibile come sar il supporto al
reasoning.
OWL Full pu essere visto come un' estensione di RDF, mentre OWL Lite e OWL DL si possono
considerare estensioni di un RDF ristretto. Ogni Documento OWL (che sia Lite, DL o Full) un
documento RDF. Ogni documento RDF un documento OWL Full valido, ma solo alcuni documenti
RDF saranno dei documenti validi secondo OWL Lite o DL. Di conseguenza necessaria una certa
attenzione nella migrazione da documenti RDF a documenti OWL. Anche quando le espressivit di
OWL DL o OWL Lite sembrano appropriate necessario prendere alcune precauzioni per assicurare
che il documento RDF rispetti i vincoli aggiuntivi imposti da OWL DL e OWL Lite. In particolare ogni
URI usata come il nome di una classe deve essere dichiarata di tipo owl:Class, in modo analogo si
devono dichiarare le propriet; per ogni individual deve esistere almeno un'asserzione che lo
inserisca in una classe, al limite nella pi generica delle classi: owl:Thing. Gli URI utilizzati per
classi, propriet ed individual devono essere mutuamente disgiunti.
20
OWL the Web Ontology Language - 4.Introduciamo OWL
4.2.Struttura di questo capitolo
Questo capitolo descrive prima le caratteristiche di OWL Lite e in seguito una descrizione
delle caratteristiche che sono state aggiunte in OWL DL e OWL Full (OWL DL e OWL Full hanno le
stesse caratteristiche, ma OWL Full permette di combinarle in modo pi completo).
21
OWL the Web Ontology Language - 4.Introduciamo OWL
4.3.Language Synopsis
Questa sezione fornisce un breve indice sul tutte le caratteristiche di OWL Lite, DL e Full.
In questo capitolo, i termini in corsivo sono termini OWL. Prefissi rdf: o rdfs: sono usati
quanto i termini sono gi presenti in RDF o RDF Schema. Altrimenti i termini sono introdotti da OWL.
Quindi, il temine rdfs:subPropertyOf indica che subPropertyOf gi definito nel namespace rdfs.
Mentre, il termine Class o pi precisamente owl:Class un termine introdotto da OWL.
4.3.1.OWL Lite Synopsis
La lista dei costrutti del linguaggio OWL Lite la seguente.
Features di RDF Schema:
Class
rdf:Property
rdfs:subClassOf
rdfs:subPropertyOf
rdfs:domain
rdfs:range
Individual
Eguaglianze / Diseguaglianze:
equivalentClass
equivalentProperty
sameAs
differentFrom
allDifferent
Propriet Caratteristiche:
inverseOf
TransitiveProperty
SymmetricProperty
FunctionalProperty
22
OWL the Web Ontology Language - 4.Introduciamo OWL
InverseFunctionalProperty
Restrizioni sul Tipo della Propriet:
allValuesFrom
someValuesFrom
Restrizioni sulla Cardinalit:
minCardinality (solo 0 e 1)
maxCardinality (solo 0 e 1)
cardinality (solo 0 e 1)
Informazioni di Intestazione:
ontology
imports
Intersezione tra Classi:
intersectionOf
Supporto alla gestione delle Versioni:
versionInfo
priorVersion
backwardCompatibleWith
incompatibleWith
DeprecatedClass
DeprecatedProperty
Annotation Properties:
rdfs:label
rdfs:comment
rdfs:seeAlso
rdfs:isDefinedBy
Datatypes
DatatypeProperty
23
OWL the Web Ontology Language - 4.Introduciamo OWL
4.3.2.Synopsis OWL DL e Full
La lista dei costrutti dei linguaggi OWL DL e OWL Full in aggiunta a quelli di OWL Lite data
di seguito.
Assiomi sulle Classi:
oneOf, dataRange
disjointWith
equivalentClass
(applicata a espressioni di classi)
rdfs:subClassOf
(applicata a espressioni di classi)
Combinazioni Booleane di Espressioni di Classi:
unionOf
intersectionOf
complementOf
Cardinalit Arbitraria:
minCardinality
maxCardinality
cardinality
Filler Information:
hasValue
24
OWL the Web Ontology Language - 4.Introduciamo OWL
4.4.Descrizione di OWL Lite
Questa sezione fornisce una descrizione informale delle caratteristiche del linguaggio OWL
Lite senza esaminarne la sintassi specifica.
OWL Lite usa soltanto alcune delle caratteristiche del linguaggio OWL e ha alcune limitazioni
in pi nel loro uso rispetto al OWL DL o OWL Full. Per esempio, in OWL Lite le classi possono solo
essere definite in termini di superclassi con nome (le superclassi non possono essere espressioni
arbitrarie), e solo alcuni tipi di restrizioni sulle classi possono essere usati. Anche le relazioni di
equivalenza tra classi o le relazioni tra classe e sottoclasse possono coinvolgere soltanto classi con
nome, e non tra espressioni arbitrarie di classi. Similmente, restrizioni in OWL Lite utilizzano sono
classi con nome. OWL Lite ha anche una limitata notazione per la cardinalit, le uniche cardinalit
ammesse sono zero e uno.
4.4.1.OWL Lite: RDF Schema
OWL Lite include le sequenti caratteristiche relative a RDF Schema.
Class: Una classe definisce un gruppo di individual che sono accomunati poich
condividono alcune propriet. Ad Esempio, Deborah e Frank sono entrambi membri
della classe Person. Le classi possono essere organizzate in una gerarchia di
specializzazione usando subClassOf. Esiste gi predefinita una classe, la pi
generica, di nome Thing; essa la classe di tutti gli individual e una superclasse di
tutte le classi OWL. Esiste anche una classe predefinita chiamata Nothing, la pi
specifica, che non ha alcuna istanza ed sottoclasse di tutte le classi OWL.
rdfs:subClassOf: Una gerarchia di Classi pu essere create posizionando una o pi
dichiarazioni che una classe una sottoclasse di un'altra. Per esempio, si pu
affermare che la classe Person una sottoclasse della classe Mammal. Da questo un
ragionatore pu dedurre che se un individuo una Person, allora un Mammal.
Individual : gli individual sono istanze di una classe, e propriet posson essere usate
per legare un individual ad un altro. Per esempio, un individual di nome Deborah
pu essere descritto come un'istanza della classe Person e la propriet hasEmployer
pu essere usata per legarla all'individual StandfordUniversity.
Questo mondo di classi e individual sarebbe poco interessante se potessimo definire soltanto
tassonomie. Le Propriet ci permettono di affermare fatti veri in generale per ogni membro della
classe o fatti relativi solo ad un individual in particolare.
Una propriet una relazione binaria. Sono distinguibili due tipi di propriet:
25
OWL the Web Ontology Language - 4.Introduciamo OWL
Propriet sul datatype, relazioni tra istanze di classi e RDF literals e datatype XML Schema
Propriet sull'oggetto, relazioni tra istanze di due classi.
Quando definiamo una propriet ci sono diversi modi per esprimere i limiti della relazione. E'
possibile specificare il dominio ed il range della propriet.
Notare che l'utilit di range e domini in OWL diversa da quella in un linguaggio di
programmazione. In un linguaggio di programmazione i tipi sono usati per controllare la consistenza
delle informazioni, in OWL, un range pu essere usato per fare delle inferenze.
Le propriet, come le classi, possono essere organizzate in una gerarchia.
rdfs:Property: Propriet possono essere usate per affermare le relazioni tra
individui o tra individui e valori. Esempi di propriet includono hasChild,
hasRelative, hasSibling e hasAge. I primi tre possono essere usati per collegare
istanze della classe Persone ad alte istanze della classe Person, l'ultimo (hasAge) pu
essere usato per collegare istanze della classe Person con istanze del datatype
Integer.
rdfs:subPropertyOf: Gerarchie di propriet possono essere create usando uno o pi
dichiarazioni che una propriet una sottopropriet di una o pi propriet. Ad
Esempio, si pu affermare che hasSibling una sottopropriet di hasRelative. Da ci
un ragionatore pu dedurre che se un individuo legato ad un altro tramite la
propriet hasSibling allora ne legato anche tramite la propriet hasRelative.
rdfs:domain:Il dominio di una propriet limita gli individual verso i quali la
propriet pu essere applicata. Se una propriet lega un individual ad un altro, e la
propriet ha una classe come uno dei suoi domini allora quell' individual deve
appartenere a quella classe. Per esempio, si pu affermare che la propriet hasChild
ha come dominio i Mammal. Da ci un ragionatore pu dedurre che se Frank hasChild
Anna, allora Frank deve essere un Mammal. Da notare che rdfs:domain chiamata
essere una restrizione globale poich la restrizione si applica sulla propriet e non
solo sulla propriet quando associata con una classe particolare. Esiste anche la
possibilit di limitare il dominio localmente usando un altro costrutto che verr
illustrato in seguito.
26
OWL the Web Ontology Language - 4.Introduciamo OWL
rdfs:range: Il range di una propriet limita gli individuals che la propriet pu avere
come valore. Se la propriet lega un individual ad un altro, e la propriet ha una
classe come suo range, allora l'altro individual deve appartenere alla classe del
range. Per esempio, si pu affermare che la propriet hasChild ha come range i
Mammal. Da ci un ragionatore pu dedurre che se Louise legata a Deborah dalla
propriet hasChild, cio Deborah figlia di Louise, allora Deborah un Mammal.
Anche il range una restrizione globale come il dominio. Esiste anche un costrutto
per specificare localmente il range e verr illustrato in seguito.
4.4.2.OWL Lite: Uguaglianze e Diseguaglianze
Perch le ontologie abbiano il massimo impatto, hanno bisogno di essere condivise su larga
scala. Per minimizzare lo sforzo di sviluppo di una ontologia necessario che sia riutilizzabile.
Idealmente le ontologie dovrebbero essere componibili. Per esempio, si potrebbe adottare
un'ontologia sul calendario e una sulle locazioni fisiche ed ottenere cos la nozione di evento come
la locazione dove avviene, associata al periodo di tempo di validit.
importante comprendere che molto dello sviluppo di un'ontologia consiste nell'agganciare
insieme le classi e le propriet in modo da massimizzare le implicazioni. Si vogliono ottenere delle
semplici affermazioni sull'appartenenza di un individual ad una classe per dare luogo ad utili
implicazioni.
Se esiste un'ontologia gi provata e consolidata, il caso di adottarla. Il difficile sar fondere
una collezione di ontologie in un'unica base di conoscenza. L'uso di strumenti di supporto sar quasi
sicuramente necessario per mantenere la consistenza.
Le seguenti caratteristiche di OWL Lite permettono di fondere diverse ontologie grazie alle
uguaglianze e diseguaglianze tra classi e propriet.
equivalentClass : Si pu affermare che due classi sono equivalenti. Classi
equivalenti hanno le stesse istanze. L'equivalenza pu essere usata per creare
sinonimi di una classe. Per esempio, la classe Car pu essere una equivalentClass di
Automobile. Da ci un ragionatore potrebbe dedurre che ogni individual istanza
della classe Car anche un istanza di Automobile, e viceversa.
27
OWL the Web Ontology Language - 4.Introduciamo OWL
EquivalentProperty:Si pu affermare che due propriet sono equivalenti. Propriet
equivalenti legano un individual allo stesso insieme di individuals. L'eguaglianza pu
essere usate per creare sinonimi di propriet. Per esempio, hasLeader pu essere
ritenuta equivalentProperty di hasHead. Da ci un ragionatore pu dedurre che se X
legato a Y dalla propriet hasLeader, X legato a Y anche dalla propriet
hasHead, e viceversa. Un ragionatore potrebbe anche dedurre che hasLeader una
sottopropriet di hasHead e che hasHead sottopropriet di hasLeader.
sameAs: Si pu affermare che due individuals sono lo stesso individual. Questi
costrutti possono essere usati per creare una variet di nomi diversi che si
riferiscono allo stesso individual. Per esempio, l'individual Deborah pu essere detto
essere lo stesso di DeborahMcGuinnes.
differentFrom: Un individual pu esser detto essere diverso da altri individuals. Ad
esempio, l'individual Frank pu esser definito essere differente dagli individuals
Deborah e Jim. Di conseguenza, se gli individuals Frank e Deborah sono entrambi
valori di una propriet definita come funzionale (cio che la propriet deve avere un
solo valore), allora c' una contraddizione. Affermare esplicitamente che individuals
sono differenti pu essere importante quando si usano linguaggi come OWL (e RDF)
che non assumono che gli individuals abbiano uno e un solo nome. Per esempio,
senza ulteriori informazioni, un ragionatore non dedurr che Frank e Deborah si
riferiscono a individuals distinti.
AllDifferent: Un numero di individuals possono essere definiti come mutuamente
distinti. Per esempio, Frank, Deborah, e Jim possono dirsi essere mutuamente
distinti usando il costrutto allDifferent. Diversamente dal costrutto differentFrom,
questo affermer anche che Jim e Deborah sono distinti (non solo che Frank
distino da Deborah e che Frank distinto da Jim). Il costrutto allDifferent
particolarmente utile quando esiste un insieme di oggetti distinti e quando si
interessati a rafforzare l'assunzione sull'unicit dei nomi in quell'insieme di oggetti.
4.4.3.OWL Lite: Propriet
In OWL Lite ci sono degli identificatori speciali che sono usati per fornire informazioni
concernenti i legami tra le propriet e i loro valori. Questi costrutti permettono a dei ragionatori di
rafforzare le implicazioni riguardo individuals e le loro propriet.
28
OWL the Web Ontology Language - 4.Introduciamo OWL
inverseOf: Una propriet pu esser definita l'inversa di un'altra. Se la propriet P1
definita inversa della propriet P2, e se l'individual X in relazione con l'individual Y
tramite la propriet P2, allora Y in relazione con X tramite P1. Per esempio, se
hasChild inversa di hasParent e Deborah hasParent Louise, allora un ragionatore
pu dedurre che Louise hasChild Deborah.
TransitiveProperty: Una propriet pu essere definita transitiva. Se la coppia (x,y)
e la coppia (y,Z) sono istanze della propriet transitiva P, allora anche la coppia
(x,z) deve essere un'istanza di P. Per esempio, se antenato definito essere
transitivo, e se Sara un'antenata di Louise e Louise un'antenata di Deborah allora
un ragionatore pu dedurre che anche Sara antenata di Deborah. OWL Lite (e OWL
DL) impongono la condizione collaterale alle propriet transitive di avere
maxCardinality 1. Senza questa condizione collaterale, OWL Lite e OWL DL
diverrebbero linguaggi indecidibili.
SymmetricProperty: Una Propriet pu essere definita come simmetrica. Se una
propriet simmetrica e la coppia (x,y) un istanza della propriet simmetrica P,
allora anche la coppia (y,x) un'istanza di P. Per esempio, friend pu essere detta
una propriet simmetrica. Allora un ragionatore a cui vien detto che Frank friend
di Deborah pu dedurre che Deborah friend di Frank.
FunctionalProperty : Si pu affermare che una propriet ha un valore unico. Se una
propriet una FunctionalProperty, allora non ha pi di un valore per ciascun
individual (potrebbe non avere valori per qualche individual). FunctionProperty
anche una scorciatoia per affermare che la MinCardinality 0 e che la
MaxCardinality 1. Per esempio, hasPrimaryEmployer pu esser detta una
FunctionalProperty. Da ci un ragionatore pu dedurre che nessun individual pu
avere pi in un impiego principale. Questo non implica per che tutte le Person
devono averne almeno uno.
29
OWL the Web Ontology Language - 4.Introduciamo OWL
InverseFunctionalProperty: Si pu affermare che una propriet un inversa
funzionale. Se una propriet un'inversa funzionale allora l'inversa della propriet
un funzionale. Cio l'inversa della propriet ha al pi un valore per ciascun
individual. Questa caratteristica anche stata chiamata propriet non ambigua. Per
esempio, hasUSSocialSecurityNumber (un identificatore unico per i residenti negli
USA) pu esser detta un'inversa funzionale (o non ambigua). L'inversa di questa
propriet ( che potrebbe esser chiamata isTheSocialSecurituNumberFor) ha al pi un
valore per ogni individual nella classe dei numberi di previdenza sociale. Cio ogni
un numero di previdenza sociale di una persona ha quella persona come solo valore
della loro propriet isTheSocialSecurityNumberFor. Da ci un ragionatore pu
dedurre che non possono esistere istanze di due individuals distinti della classe
Person con lo stesso numero di previdenza sociale. Inoltre, un ragionatore pu
dedurre che se due istanze di Person hanno lo stesso numero di previdenza sociale,
allora queste due istanze si riferiscono allo stesso individual.
4.4.4.OWL Lite: Property Type Restriction
Abbiamo gi visto un modo per limitare globalmente il dominio e il range di una propriet.
OWL Lite permette anche di esprimere restrizioni localmente alla classe cui si riferiscono. Le
seguenti due restrizioni limitano il range della propriet quando applicata ad una classe specifica
mentre le restrizioni della prossima sezione limitano quanti valori possano essere usati.
30
OWL the Web Ontology Language - 4.Introduciamo OWL
allValuesFrom: La restrizione allValuesFrom si applica ad una propriet con
riferimento ad una classe. Significa che quella propriet in quella particolare classe
ha un restrizione locale sul range associata ad essa. Cio se un'istanza di una classe
legata tramite la propriet ad un secondo individual, allora il secondo individual
pu essere desunto essere un'istanza della classe che restringe localmente il range.
Per esempio, la classe Person pu avere una propriet chiamata hasDaughter
vincolata ad avere allValuesFrom la classe Women. Ci significa che se un individuo
della classe Person, Louise, legato tramite la propriet hasDaughter all'individuo
Deborah, allora un ragionatore pu desumere che Deborah un'istanza della classe
Women. Questa restrizione permette alla propriet hasDaughter di esser usata da
un'altra classe, ad esempio la classe Cat ed avere una diversa restrizione dei valori
associata ad essa. In questo caso, hasDaughter dovrebbe avere una restrizione locale
su Cat quando associato alla classe Cat e dovrebbe avere una restrizione alla classe
Person quando associata alla classe Person. Notate che un ragionatore non pu
dedurre dalla sola restrizione allValuesFrom che esista davvero almeno un valore
per la propriet.
someValuesFrom: La restrizione someValuesFrom si applica ad una propriet con
riferimento ad una classe. Una particolare classe pu avere una restrizione su una
propriet che almeno un valore per quella propriet deve essere di un certo Tipo.
Per esempio, la classe SemanticWebPaper pu avere una restrizione sulla propriet
hasKeyword che someValuesFrom dovrebbero essere un'istanza della classe
SemanticWebTopic. Questo permette di avere keyword multiple con il solo vincolo
che se almeno una di esse un'istanza della classe SemanticWebTopic, allora
l'articolo risulta esser consistente con la restrizione someValuesFrom. Diversamente
da allValuesFrom, someValuesFrom non restringe tutti i valori della propriet ad
essere istanze della stessa classe. Se myPaper un'istanza della classe
SemanticWebPaper, allora myPaper legata dalla propriet hasKeyword con almeno
un'istanza della classe SemanticWebTopic. Notare che un ragionatore non pu
dedurre (come farebbe con la restrizione allValuesFrom) che i valori di hasKeyword
sono istanze della classe SemanticWebTopic.
4.4.5.OWL Lite: Restrizioni sulla cardinalit
31
OWL the Web Ontology Language - 4.Introduciamo OWL
OWL Lite include una forma limitata di restrizioni sulla cardinalit. Le restrizioni sulla
cardinalit di OWL (e OWL Lite) sono restrizioni locali, poich sono definite su propriet riferite a
una classe particolare. Cio, le restrizioni vincolano la cardinalit su quella propriet su istanze di
una certa classe. Il supporto di OWL Lite alla cardinalit limitato poich sono permesse solo
definizioni concernenti cardinalit con valori zero o uno (non sono permesse cardinalit con valori
arbitrari, come nel caso di OWL DL e OWL Full).
minCardinality: La cardinalit si applica su una propriet con riferimento ad una
classe. Se si afferma una minCardinality ad 1 su una propriet riferita ad una classe,
allora ogni istanza di quella classe deve essere legata ad almeno un individuo da
quella propriet. Questa restrizione equivalente a dire che la propriet richiesta
per tutte le istanze di una certa classe. Per esempio, la classe Person non dovrebbe
avere nessuna restrizione sulla cardinalit minima su una propriet hasOffspring
poich non tutte le persone hanno dei figli. Tuttavia la classe Parent dovrebbe avere
una minCardinality a 1 sulla propriet hasOffspring. Una volta scoperto che un
individual, Lousie, un'istanza di Parent, un ragionatore pu desumere che deve
esistere un individual legato tramite la propriet hasOffspring. Da solo questa
informazione un ragionatore non pu dedurre il massimo numero di Ascendenti di un
individuo della classe Parent. In OWL Lite le sole minima cardinalit ammesse sono 0
e 1. Una minima cardinalit a zero su una propriet implica semplicemente che la
propriet opzionale per quella classe. Per esempio, la propriet hasOffspring pu
avere una cardinalit minima a zero per la classe Person.
32
OWL the Web Ontology Language - 4.Introduciamo OWL
maxCardinality: La cardinalit si applica su una propriet con riferimento ad una
classe. Se si afferma una maxCardinality a 1 su una propriet nell'ambito di una
classe, allora tutte le istanze di quella classe possono essere legate ad al pi ad un
individual tramite quella propriet. Un vincolo di maxCardinality a 1 anche detto
funzionale o propriet unica. Per esempio, la propriet hasRegistredVotingState
sulla classe UnitedStatesCitizen avr una cardinalit massima ad 1 (perch la gente
pu votare in un solo stato). Da ci un ragionatore pu dedurre che individuals
istanze della classe USCitizen non possono essere legati a due o pi individuals
distinti tramite la propriet hasRegistredVotingState. Pu essere utile per alcune
classi affermare che non sono ammessi valori per una particolare propriet cio
affermando che la massima cardinalit zero. Per esempio, istanze della classe
UnmarriedPerson non dovrebbero essere legate a nessun individual tramite la
propriet hasSpouse. Questa situazione si specifica tramite una maxCardinality a
zero sulla propriet hasSpouse nella classe UnmarriedPerson.
cardinality: Cardinality usato per convenienza quando si deve affermare che sia
minCardinality che maxCardinality assumono il valore zero oppure uno. Per
esempio, la classe Person ha esattamente un valore per la propriet hasBirthMother.
Da ci un ragionatore pu dedurre che nessuna coppia di individuals distinti della
classe Mother possono esser valori per la propriet hasBirthMother della stessa
persona.
4.4.6.OWL Lite: Intersezione di Classi
OWL Lite possiede un costruttore di intersezioni ma ne limita l'uso.
intersectionOf: OWL Lite permette restrizioni e intersezioni di classi che abbiano un
nome. Per esempio, la classe EmployedPerson pu essere descritta come
intersectionOf Person e EmployedThings (che dovrebbe essere definita come
l'insieme degli individuals che abbiano una cardinalit minima a 1 sulla propriet
hasEmployer). Da ci un ragionatore pu dedurre che ogni individuo della classe
EmployedPerson ha almeno un datore di lavoro.
33
OWL the Web Ontology Language - 4.Introduciamo OWL
4.5.Incremental Language Description di OWL DL e OWL FULL
Sia OWL DL che OWL Full condividono lo stesso vocabolario sebbene OWL DL sia soggetto ad
alcune restrizioni. Grossomodo, OWL DL richiede una separazione tra i tipi (una classe non pu
essere anche un individual o una propriet, una propriet non pu essere anche un individual o una
classe). Questo implica che le restrizioni non possono essere applicate agli elementi del linguaggio
stesso di OWL (cosa permessa in OWL Full). Inoltre, OWL DL richiede che le propriet siano o
ObjectProperties o DatatypeProperties: DatatypeProperties sono relazioni tra l'istanza di una classe
e letterali RDF o datatypes di XML Schema mentre ObjectProperties sono relazioni tra due istanze di
classi. Qui descriviamo il vocabolario di OWL DL e OWL Full che estende i costrutti di OWL Lite.
oneOf: (enumerated classes): Le classi possono essere descritte tramite
enumerazione degli individuals che ne fanno parte. I membri della classe sono
esattamente gli individuals dell'insieme di enumerazione; ne pi ne meno. Per
esempio, la classe daysOfTheWeek pu essere descritta semplicemente enumerando
gli individuals Luned, Marted, Mercoled, Gioved, Venerd, Sabato e Domenica. Da
ci un ragionatore pu dedurre la cardinalit massima (7) di ogni propriet che abbia
una restrizione di allValuesFrom come daysOfTheWeek.
hasValue: (property values): Pu essere richiesto che una propriet abbia un certo
individual come valore. Per esempio, istanze della classe dutchCitizen possono
essere caratterizzate come quelle perone che hanno theNetherlands come valore per
la loro nazionalit. (Il valore nazionalit, theNetherlands, un'istanza della classe
Nationalities).
disjointWith: OWL Full permette di affermare che classi sono disgiunte. Per
esempio, Man e Women possono essere definite come classi disgiunte. Da ci un
ragionatore pu dedurre una inconsistenza quando si afferma che un individual
istanza di entrambe le classi e similmente un ragionatore pu dedurre che se A un
istanza di Man, allora A non pu essere un'istanza di Woman.
unionOf, complementOf, intersectionOf (Boolean combinations): OWL DL permette
un'arbitraria combinazione booleana di classi e restrizioni: unionOf, complementOf,
e intersectionOf. Per esempio, usando UnionOf, possiamo affermare che una classe
contiene entit che possono essere sia USCitizen che DutchCitizen. Usando
complementOf, possiamo affermare che children non sono SeniorCitizen (cio, la
classe Children una sottoclasse del complemento della classe SeniorCitizen). La
cittadinanza dell'Unione Europea potrebbe essere descritta come l'unione delle
cittadinanze di tutti gli stati membri.
34
OWL the Web Ontology Language - 4.Introduciamo OWL
minCardinality, maxCardinality, cardinality (full cardinality): Mente in OWL Lite,
le cardinalit sono ristrette ad assumere almeno, al massimo o esattamente i valori
zero o uno, OWL Full permette espressioni arbitrarie (intere non negative) sulla
cardinalit. Per esempio la classe DINK (Dual Income, No Kids) dovrebbe
restringere la cardinalit della propriet hasIncome ad un minimo di due (e la
cardinalit massima di hasChild a zero)
classi complesse: In molti costrutti, OWL Lite restringe la sintassi alle sole classi
con nome (ad esempio nei costrutti subClassOf o EquivalentClass). OWL Full estende
questa restrizione per permettere descrizioni di classi arbitrariamente complesse,
con l'uso di enumerazioni di classi, restrizioni di propriet e combinazioni booleane.
Inoltre OWL Full permette alle classi di venir usate come istanze (OWL DL e OWL
Lite invece no).
35
OWL the Web Ontology Language - 5.Uses Cases
5.USES CASES
Le Ontologie possono essere usate per migliorare le applicazioni basate sul Web e possono
permetterne nuovi usi. In questo capitolo descriviamo sei casi rappresentativi dell'utilizzo di
ontologie. Questa non vuole essere una lista esaustiva ma invece una selezione rappresentativa di
casi d'uso interessanti. Questi use cases sono serviti come linee guida nel definire i requisiti del
linguaggio OWL. I requisiti sono stati scelti in base agli aspetti degli use cases che il gruppo di lavoro
ha considerato pi importanti. Di conseguenza, non si dovrebbe assumere che OWL supporti
direttamente ogni aspetto di questi use cases.
36
OWL the Web Ontology Language - 5.Uses Cases
5.1.Web portals
Un portale Web fornisce informazioni su un argomento specifico, ad esempio su una citt in
particolare oppure su un certo dominio d'interesse. Un Portale Web mette a disposizione a chi
interessato all'argomento notizie, forum, blog, una community e links ad altre risorse Web attinenti.
Una caratteristica di successo per un portale di essere un buon punto di partenza per
trovare contenuti interessanti. Tipicamente questi contenuti sono proposti dai membri della
community, che spesso li organizzano in una tassonomia di argomenti. Un altro modo di catalogare i
contenuti consiste nel taggare i documenti con informazioni utili per organizzarle. Tipicamente
questo prende la forma di semplici metatag che identificano gli argomento trattati.
In ogni caso, un semplice indice per aree di soggetto pu non fornire alla community una
capacit di ricerca sufficiente a soddisfare i membri. Per consentire un'organizzazione intelligente
un portale pu definire un'ontologia. Questa ontologia pu fornire una terminologia per descrivere
contenuti ed assiomi che definiscono termini usando altri termini dell'ontologia.
Per esempio, un'ontologia potrebbe includere termini come "articolo di giornale",
"pubblicazione", "persona" e "autore". Quest'ontologia potrebbe includere definizioni che asseriscono
ad esempio "tutti gli articoli di giornale sono delle pubblicazioni" o "tutti gli autori delle
pubblicazioni sono delle persone". Combinate con le informazioni gi note, queste definizioni
permettono di dedurre nuove informazioni implicate da quelle esplicite.
Queste inferenze permettono di ottenere risultati da una ricerca nell'ambito del portale
impossibile da ottenere con sistemi di reperimento convenzionali. Una tale tecnica confida di avere
a disposizione contenuti che utilizzino OWL per catturare relazioni ontologiche di alto livello; un
obbiettivo di OWL quello di mettere a disposizione metadata sufficientemente ricchi ed utili per
motivare l'overhead organizzativo.
Un linguaggio ontologico avr un grande impatto se potr facilitare la raccolta di metadata
come una parte non intrusiva di qualunque processo di creazione di informazioni.
Un esempio di portale basato su ontologia OntoWeb. Questo portale a disposizione delle
universit e delle industrie interessate alla ricerca inerente l'Ontologic Web. Un altro esempio di un
portale che usa tecnologie Semantic Web, e potrebbe trarre beneficio da un linguaggio ontologico,
The Open Directory Project; un grande, approfondito elenco del Web redatto da persone. Esso
costruito e mantenuto da un vasta community di volontari.
37
OWL the Web Ontology Language - 5.Uses Cases
5.2. Multimedia collections
Le Ontologie possono essere usate per fornire annotazioni semantiche per collezioni di
immagini, audio, o altri oggetti non testuali. Estrarre un significato sensato da risorse multimediali
ancora pi difficile di quanto non lo sia estrarlo da un testo in linguaggio naturale. Di conseguenza
questi tipi di risorse sono tipicamente indicizzati in base alle didascalie. In ogni caso persone diverse
possono descrivere questi oggetti non testuali in maniere diverse, importante che gli strumenti di
ricerca vadano oltre la semplice ricerca di parole chiave. Idealmente, un'ontologia dovrebbe
migliorare il reperimento di risorse multimediali utilizzando la conoscenza aggiuntiva del dominio
applicativo.
Le ontologie Multimediali possono essere di due tipi: specializzate per il supporto
multimediale oppure specializzate per il contenuto. Le ontologie specializzate per il supporto
multimediale potrebbero avere tassonomie dei differenti tipi di media e descriverne le propriet.
Per esempio, un video pu includere fra le propriet la sua durata e i cambi di scena. Le ontologie
specializzate per il contenuto potrebbero descrivere il soggetto della risorsa, come l'ambiente e i
participanti. Poich tali ontologie non sono specifiche del media, potrebbero essere riutilizzate per
altri documenti dello stesso dominio. Il riutilizzo dell'Ontologia migliorerebbe la ricerca di
informazioni su un soggetto particolare, senza badare al formato della risorsa. Le ricerche in cui
importante il tipo di media potrebbero combinare le ontologie specializzate per il supporto
multimediale con quelle specifiche per il contenuto.
Come un esempio di una collezione multimediale, consideriamo un archivio di immagini di
mobili antichi. Un'ontologia che tratta di mobili antichi sarebbe di grande aiuto nelle ricerche su
tale archivio. Una tassonomia pu essere usata per classificare i tipi di mobili. Per esempio
conoscendo che il periodo "Tardo Gregoriano" si dovrebbe inferire che la data di realizzazione
compresa tra il 1760 e 1811 e che la provenienza Inglese. La disponibilit di questo tipo di
conoscenza aiuta significativamente sia l'indicizzazione che la ricerca.
38
OWL the Web Ontology Language - 5.Uses Cases
Un'altra caratteristica che potrebbe essere utile il sostegno per la rappresentazione di
conoscenza predefinita. Un esempio di tale conoscenza sarebbe che per un "cassettone in stile tardo
Gregoriano", in mancanza di altre informazioni, si pu assumere che sia fatto di mogano. Questa
conoscenza cruciale per query realmente basate sulla semantica, per esempio una query per
"antico mobile contenitore in mogano" potrebbe dare come risultato immagini del cassettone in stile
tardo Gregoriano, anche se non si hanno informazioni sul tipo di legno effettivamente utilizzato per
il particolare mobile in questione. In questo esempio abbiamo migliorato l'efficacia del retrieval, in
quanto abbiamo scoperto documenti attinenti anche se non legati dalle keyword direttamente
espresse nella query.
Un altro aspetto applicativo di questa tecnica potrebbe invece permettere di eliminare a priori
documenti che verrebbero erroneamente selezionati se non si fosse a conoscenza ad esempio di
relazioni come differentFrom, in modo da discernere i documenti che contengono si le keyword
volute, ma applicate in contesti diversi. Ad esempio la keyword mogano prima riferita ad un mobile
antico potrebbe invece essere riferita al colore di un pavimento, di un tessuto oppure ad una tinta
per capelli, ovvero entit definite essere incompatibili con l'oggetto a cui dovrebbero invece riferirsi
tramite un'ontologia adottata.
39
OWL the Web Ontology Language - 5.Uses Cases
5.3.Corporate web site management
Tipicamente le grandi aziende hanno numerose pagine web riguardanti comunicati stampa,
prodotti offerti, confronti con altri prodotti, elenchi del personale, descrizioni dei processi
produttivi... ecc. Ontologie possono essere usate per indicizzare questi documenti e fornire migliori
mezzi di reperimento. Sebbene molte grandi organizzazioni abbiano una tassonomia per organizzare
le loro informazioni, questa spesso insufficiente. Una sola ontologia spesso limitativa perch
rappresenta le categorie che la costituiscono con una sola visione e una granularit di un dominio;
la capacit di lavorare simultaneamente con pi ontologie aumenterebbe la ricchezza descrittiva.
Inoltre, la possibilit di ricercare su diversi parametri spesso pi utile che una ricerca di una
parola chiave con tassonomia.
Un sito web fornito di ontologia pu essere usato da:
Un broker alla ricerca di acquirenti interessati ad una certa vendita.
Un esperto alla ricerca di specifiche tecniche ed informazioni su precedenti analoghi.
Un project leader alla ricerca di precedenti e modelli a supporto di un progetto complesso,
multi-fase, sia durante l'esposizione sia durante la realizzazione.
Un problema tipico per ciascuno di questi tipi di utenti che possono non conoscere la
terminologia esatta utilizzata dagli autori del contenuto desiderato. Un commesso alle vendita pu
non sapere il nome tecnico di una certa caratteristica, come pure tecnici, specializzati in ambiti
diversi, possono usare termini differenti per lo stesso concetto. Sarebbe quindi utile che per ogni
classe di utenti ci fosse un'ontologia specifica, ma ognuna messa in correlazione con le altre in modo
da permetterne traduzioni in modo automatico.
Un altro problema formulare query al giusto livello di astrazione. Un project leader alla ricerca
di un esperto in sistemi operativi dovrebbe essere in grado di trovarne uno esperto sia di Unix che di
Windows.
Una grande organizzazione fornitrice di servizi pu disporre di un insieme molto vasto di risorse.
Talvolta per ottenere importanti contratti necessario assemblare queste capacit in modi nuovi e
spesso non possibile trarre ispirazione da un solo progetto precedente. Bisogna esaminare i
modelli, i progetti ed i documenti passati per capire come possano essere riassemblati in nuove
configurazioni, soddisfando una diversa serie di precondizioni.
40
OWL the Web Ontology Language - 5.Uses Cases
5.4. Design documentation
Prendiamo in esame la gestione di una vasta documentazione ingegneristica, come quella
usata dall'industria aerospaziale. Questa documentazione pu essere di diversi tipi, documentazione
di progetto, di fabbricazione, e quella relativa ai test. Ogni tipo di documentazione ha una struttura
gerarchica, ma le strutture differiscono tra loro. C' inoltre una serie di collegamenti fra le
documentazioni: per esempio in ciascuna documentazione saranno presenti in larga parte gli stessi
componenti.
Ontologie posson essere usate per costruire un modello informativo che permetta
l'esplorazione dello spazio delle informazioni in termini degli oggetti in essa rappresentati, delle loro
associazioni, delle loro propriet e i collegamenti alla documentazione che li descrive e li raffina,
cio la giustificazione esterna sulla presenza dell'oggetto nel modello. Ci significa che ontologie e
tassonomie non sono indipendenti degli oggetti fisici che esse rappresentano, ma possono essere
sviluppate/esplorate in tandem.
Un esempio concreto di questo caso la documentazione di un progetto aerospaziale, dove gli
utenti tipici includono:
L'ingegnere di manutenzione alla ricerca di tutte le informazioni concernenti una parte
specifica.
L'ingegnere progettista alla ricerca dei vincoli per riutilizzare un sotto-montaggio specifico.
Per supportare questo tipo di utilizzo, importante la possibilit di definire vincoli. Questi
vincoli possono essere usati per migliorare la ricerca o verificare la consistenza. Un esempio di un
vincolo potrebbe essere:
biplane(X) => CardinalityOf(wing(X)) = 2
wingspar(X) AND wing(Y) AND isComponentOf(X,Y) => length(X) < length(Y)
Un altro uso comune di questo tipo di ontologia supportare la visualizzazione e la modifica
di questa documentazione focalizzando l'attenzione su un particolare concetto (classe o istanza che
sia). Questi sono tipicamente diagrammi con attivit e regole oppure diagrammi entity-relationship.
41
OWL the Web Ontology Language - 5.Uses Cases
5.5. Agents and services
Il Semantic Web pu fornire ad agenti software capacit di capire ed integrare diverse risorse
di informazioni. Prendiamo ad esempio un pianificatore di attivit sociale, che conosce le
preferenze di un utente (come i tipi di film o il cibo che preferisce) ed usa queste informazioni per
suggerire all'utente le attivit per una serata. L'efficacia di questo tipo di agente dipende dal
numero di servizi che pu valutare, dalla conoscenza sugli stessi e dalla conoscenza delle preferenze
dell'utente. Durante la ricerca di un servizio, un agente potrebbe consultare classifiche e recensioni
per trovare quello che pi si avvicina alle preferenze dell'utente (per esempio, consultando
recensioni di film e/o ristoranti per trovare il "meglio").
Questo tipo di agente necessita di un'ontologia che rappresenti i termini per ristoranti, hotel,
film ecc. e un'ontologia che rappresenti i termini usati per i servizi. Questa ontologia permetter la
cattura delle informazioni necessarie per discriminare e bilanciare le preferenze dell'utente. Tale
informazioni possono essere fornite da diverse fonti, come portali, siti specializzati in recensioni o
prenotazioni, ed il Web in generale.
Agentcities un esempio di un'iniziativa che esplora l'uso di agenti in un ambiente distribuito
di servizi su Internet. Questo comporta la costruzione di un network di agenti che rappresenta citt
reali o virtuali e la popolazione di ogni agente con i servizi di quella citt. Inizialmente, questi
saranno orientati verso i servizi business to consumer (B2C), come hotel, ristoranti, intrattenimento,
ecc., ma eventualmente, potrebbero espandersi fino ad includere servizi business to business, come
gestione di libri paga, logistica ecc.
Questo richieder ontologie su diversi domini e su diversi servizi: le questioni principali
includono:
Utilizzo ed integrazione di ontologie diverse e trasversali a domini e servizi.
Ontologie distribuite su Internet.
Ontologie potenzialmente diverse per ogni dominio o servizio (traduzione di ontologie o
riferimenti incrociati).
Semplice rappresentazione delle Ontologie per semplificarne la definizione e l'utilizzo.
42
OWL the Web Ontology Language - 5.Uses Cases
5.6. Ubiquitous computing
L' Ubiquitous computing un paradigma emergente del personal computing, caratterizzato
dalla mancanza di un PC dedicato a favore delle capacit di elaborazione insite nei nostri ambienti
di tutti i giorni. Dispositivi portatili e wireless sono caratteristici dell'Ubiquitous computing. La
diffusione su larga scala e la natura wireless di questi dispositivi richiede architetture di rete in
grado di gestire automaticamente una configurazione ad hoc. Una ragione ulteriore per lo sviluppo
di configurazioni automatiche che questa tecnologia ha come target i consumatori comuni e non i
tecnici specializzati.
La caratteristica principale di un vero network ad hoc l'esplorazione automatica dei servizi,
ovvero come le funzioni offerte dai dispositivi (telefoni cellulari, stampanti, fax, sensori) possano
essere descritte, pubblicizzate e scoperte. Tutti gli attuali meccanismi di discovery di servizi e di
caratteristiche (per esempio, JINI proposto da SUN, oppure UPnP proposto da Microsoft) sono basati
su schemi di rappresentazione ad hoc che prevedono una massiccia standardizzazione (cio,
identificano a priori tutto ci che pu essere oggetto di comunicazione).
Lo scopo dell'ubiquitous computing la "serendipitous interoperability", cio dispositivi che
pur non essendo stati pensati per lavorare assieme dovrebbero essere in grado di scoprire l'uno le
funzionalit dell'altro ed essere in grado di cooperare. Ogni dispositivo dovrebbe essere capace di
"capire" gli altri, e dovrebbe ragionare sui loro servizi/funzionalit perch l'esplosione dell'ubiquitous
computing coinvolger decine se non centinaia di dispositivi diversi ed una standardizzare a priori
non sarebbe gestibile.
Gli scenari di interazione sono di natura dinamica, i dispositivi appaiono e scompaiono in
qualunque momento perch i loro proprietari si spostano da un luogo ad un altro senza essere
coinvolti nella riconfigurazione del sistema. Per ottenere l'utilizzazione dei servizi necessaria una
fase di discovery e contrattazione. La contrattazione dei servizi pu comportare la
rappresentazione di informazioni sulla sicurezza, la privacy e i trust, come pure dettagli sulla
tariffazione (il fornitore di un servizio pu richiedere una tariffazione per i servizi resi). In
particolare importante che le politiche di sicurezza delle organizzazioni siano espresse in una
forma indipendente dall'applicazione, cos da poter essere utilizzate in tutti i meccanismi di
protezione (per esempio, firewall,filters/scanners, traffic monitors, router a livello applicativo e
load-balancers).
43
OWL the Web Ontology Language - 5.Uses Cases
In questi casi un linguaggio ontologico sarebbe usato per descrivere le caratteristiche dei
dispositivi, i mezzi di accesso a tale dispositivi, la politica di accesso al dispositivo stabilita dal
proprietario, ed altri vincoli o requisiti tecnici che riguardano il dispositivo dentro un network
ubiquitous computing.
44
OWL the Web Ontology Language - 6.Conclusioni
6.CONCLUSIONI
Apparentemente, potrebbe sembrare un paradosso sforzarsi di rendere le informazioni sul
Web a portata degli agenti software, rendere le macchine in grado di effettuare delle ricerche sul
web. Ma non bisogna dimenticare che questi agenti non ricercano le informazioni per loro stessi, per
essere usate dalle macchine, ma la loro ricerca finalizzata a fornire all'uomo documenti con un
elevato livello informativo: lo scopo ultimo rendere le macchine in grado di poter rispondere
direttamente alle domande fatte da un utente, non semplicemente di indicargli una possibile strada
dove reperire l'informazione desiderata.
Attualmente nei classici motori di ricerca, come Altavista o Google, qualunque sia la query si
ottiene una lista, pi o meno lunga, di documenti attinenti, o presunti tali; compito dell'utente
esaminare questi documenti al fine di ottenere l'esatta risposta alla sua domanda, scartando
documenti che non danno informazioni utili, ma anche integrando tra loro informazioni ricavate da
documenti diversi.
In un futuro in cui OWL ed RDF verranno adottati dalla maggior parte degli autori di contenuti
Web sar possibile andare oltre l'attuale meccanismo di ricerca per parole chiave, e realizzare
agenti software in grado di reperire informazioni in risposta ad una query utilizzando il significato
dei termini espressi. Per esempio sarebbe possibile immaginare di chiedere ad un motore di ricerca
quali sbocchi professionali siano resi disponibili da un certo percorso formativo ed avere una
risposta data dal risultato di una ricerca sui requisiti richiesti negli annunci di lavoro; o pi
semplicemente si potrebbe chiedere quali siano le possibilit offerte per una serata,
compatibilmente alle preferenze dell'utente. In pratica il motore di ricerca sarebbe in grado di
rispondere direttamente alla domanda, non con un elenco di documenti attinenti, ma proprio con
l'informazione voluta.
45
OWL the Web Ontology Language - 7.Bibliografia
7.BIBLIOGRAFIA
Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, 17
Maggio 2001
World Wide Web Consortium (W3C), http://www.w3.org/
W3C Semantic Web Activity, http://www.w3.org/2001/sw/
RDF/XML Syntax Specification (Revised)
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-rdf-syntax-grammar-20031215/
Dan Brickley, R.V. Guha,RDF Vocabulary Description Language 1.0: RDF Schema
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-rdf-schema-20031215/
Frank Manola, R.R. Swick, RDF Primer
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-rdf-primer-20031215/
Dan Brickley, R.V. Guha,RDF Vocabulary Description Language 1.0: RDF Schema
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-rdf-schema-20031215/
Deborah L. McGuinness, Frank van Harmelen, "Web Ontology Language (OWL): Overview",
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-owl-features-20031215/
M.Dean, G.Schreiber, OWL Web Ontology Language Reference
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-owl-ref-20031215/
M.K.Smith, C.Welty, D.McGuinness, "Web Ontology Language (OWL) Guide",
W3C Proposed Recommendation 15 December 2003
http://www.w3.org/TR/2003/PR-owl-guide-20031215/
46

Vous aimerez peut-être aussi