Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
OWL
machine understandable
no ad arrivare al linguaggio più sviluppato e , conosciuto come
FULL , come illustrato nei paragra successivi. 12
Ontologie
1.3.1 Resource Description Framework (RDF)
RDF
Resource Description Framework ( ) è una particolare applicazione XML deputata alla
relazioni tra informazioni W3C
gestione delle . Esso è uno strumento proposto dal [10] per
descrivere i metodi relativi ad una risorsa.
RDF è utilizzato per ricercare informazioni, come le risorse, all'interno del World Wide Web.
Una risorsa può essere una pagina, una persona, un'istituzione, ecc. Queste risorse devono
essere identicate univocamente all'interno del Web. RDF usa Uniform Resource Identiers
(URIs) per questo scopo.
URLs sono usate nel Web per identicare pagine Web. Le pagine Web sono risorse che sono
direttamente disponibili nel Web. Un URI può essere creato da qualsiasi persona che ha biso-
gno di referire risorse. Esse assomigliano ad URLs ma non sono accessibili in rete attraverso
l'indirizzo di cui sono formate [11]. RDF usa URI references (URI refs). Un URIrefs consiste
fragment identier
in un URI e in a . Esso può essere, per esempio, come segue:
http : // eegdatabase . kiv . zcu . cz / home . html # article5
http://eegdatabase.kiv.zcu.cz/home.html article5 fragment iden-
dove rappresenta l'URI ed è il
tier
. statements di risorse
I pilastri sui quali si basa RDF sono chiamati .
Uno statement aggiunge un pezzo d'informazione alle risorse. Questo concetto è basato sull'i-
statements
dea che qualsiasi cosa venga descritta attraverso delle proprietà. Gli sono formati
triple
da tre parti (per questo sono chiamate anche ) -un soggetto, un predicato ed un oggetto.
Il soggetto è la risorsa che viene descritta, il predicato è la proprietà e l'oggetto è il valore.
Qualsiasi parte di una tripla può essere considerata una risorsa. Per questo dovrebbe es-
statement
sere identicata da un URIref. In questo modo, qualsiasi riguardante questa risorsa
può essere aggiunto, se necessario.
Solo gli oggetti che rappresentano valori concreti (esempio testuale o numerico) sono identi-
literals
cati direttamente da un valore (per questo vengono chiamati ).
statements
RDF permette di creare un modello di grafo (set di triple) di questi . Sia il soggetto
che l'oggetto rappresentano il nodo. Mentre, il predicato rappresenta un arco (orientato dal
soggetto all'oggetto).
Un esempio di questo tipo di grafo è mostrato in Figura 1.3. Esso descrive una persona chia-
mata Jan Novák, trentacinquenne, che ha alcuni colleghi. literals
I nodi identicati da URIref (persone), sono disegnati come ellissi mentre, gli oggetti
(nomi ed anni), sono rappresentati da nodi quadrati.
Un modo, non graco, di rappresentare le stesse informazioni è con l'uso della notazione
Tiple Notation N-Triple
( ), che scrive tutte le triple in un semplice formato testuale. Ogni
QNames
XML qualied names
tripla si conclude con un punto. RDF usa ( ) al ne di abbre-
viare URIref che sono lunghi. Questi sono composti da un presso ed un nome locale. 13
Ontologie Figura 1.3: Esempio di un grafo RDF
Il presso è dichiarato con un'abbreviazione per l'URI (chiamato namespace) ed il nome locale
fragment identier
corrisponde al dell'URIref.
Triple Notation
statements
Un esempio di in che esprime le stesse informazioni del graco
in Figura 1.3 è quello descritto in Figura 1.4.
Figura 1.4: Esempio della notazione N-Triple
RDF/XML usa funzionalità comuni di XML come namespaces e QNames, datatypes denite
da uno schema XML, entità ed altro. Tutti i tag appartenenti a RDF hanno un sso e ben
http://www.w3.org/1999/02/22-rdf-syntax-ns#
noto namespace , che solitamente è abbreviato
rdf:RDF
con rdf. La radice della root è [11].
1.3.2 Web Ontology Language
Web Ontology Language OWL
Il ( ) è un linguaggio per la rappresentazione di ontologie,
è stato denito nel 2004 dal World Wide Web.
La semantica formale del linguaggio OWL specica come derivare le conseguenze logiche al-
l'interno di un'ontologia, ovvero i fatti che non sono presenti letteralmente nell'ontologia, ma
derivati logicamente dalla semantica. Queste derivazioni logiche possono essere basate su un
14
Ontologie
singolo documento o su più documenti distribuiti che sono stati combinati fra loro usando dei
predeniti meccanismi OWL.
Il linguaggio OWL è stato rilasciato in tre diverse versioni (riassunte in Figura 1.5), con
espressività e potere espressivo crescenti, come illustrato in Figura 1.5.
OWL-Lite
è la versione sintatticamente più semplice, attraverso cui denire gerarchie
di classi e vincoli poco complessi;
OWL-DL OWL Description Logics
o è la versione intermedia, ore un potere
espressivo più elevato e mantiene la competenza computazionale (tutte le soluzioni sono
computabili) e la decidibilità (tutte le computazioni si concludono in un tempo nito);
OWL-Full
ore la massima espressività, senza orire nessuna garanzia riguardo la
completezza e la decidibilità.
Figura 1.5: Versioni di OWL
Concetti base delle ontologie OWL
Di seguito sono elencati i costrutti e i concetti base utilizzati per modellare ontologie che
rispettano lo standard W3C OWL.
Classi
: rappresentano insieme di oggetti (istanze) accomunati da una certa concet-
tualizzazione. Hanno un nome, una label, delle proprietà che le caratterizzano e sono
organizzate in strutture gerarchiche chiamate tassonomie. Le classi sfruttano il principio
dell'ereditarietà e possono essere fra loro equivalenti nel caso tutte le istanze di una siano
anche le istanze dell'altra o, disgiunte, nel caso non vi siano istanze in comune. Di fatto
le classi sono gli elementi principali per descrivere i concetti e denire il vero e proprio
modello di una ontologia e possono essere viste come i nodi di un grafo orientato. 15
Ontologie
Proprietà
: sono relazioni binarie denite a partire da una classe dominio. A seconda
DataType Object
del codominio possono essere di tipo o . L e prime legano una classe a
un valore di tipo datatype (stringa, URL, numerico etc...), mentre, le seconde, legano
una classe ad un'altra e rappresentano di fatto gli archi di un grafo orientato. Anche le
proprietà possono essere organizzate in maniera tassonomica e possono essere di vario
tipo a seconda delle relazione che modellano: functional, simmetriche, transitive, etc...
Istanze (individuals)
: sono gli elementi degli insiemi deniti dalle classi. In una
ontologia i valori veri e propri su cui solitamente eettuare delle query sono appunto
istanze. Le ontologie OWL ammettono istanze di classi diverse (purché non siano classi
disgiunte) in modo da ereditare l'unione delle proprietà delle classi;
Restrizioni
: le restrizioni sono vincoli che è possibile esplicitare sulle proprietà di una
certa classe e servono per caratterizzarne ulteriormente le relazioni e restringere i possibili
hasValue
valori di una proprietà. E' possibile, per esempio, denire restrizioni come per
someValueFrom
ssare un valore di proprietà, per asserire che almeno un valore deve
allValuesFrom
essere di un certo tipo (classe) o , per asserire che tutti i valori devono
essere di un certo tipo.
1.4 Le rules
rules regole
Le (in italiano ) consentono di inferire nuova conoscenza. In altre parole, permet-
tono di formulare una conclusione a partire da una premessa. Inoltre, una regola è formata da
una serie di premesse e dalla conclusione, come illustrato nel Listato 1.1. Le proposizioni as-
sunte come premesse devono essere in numero nito e nel caso siano tutte vere, allora saranno
vere anche una o più proposizioni che rappresentano la conclusione [12]. In questo elaborato
Semantic Web Rule Language SWRL
verrà preso come esempio il linguaggio ( ).
Listato 1.1: Struttura generale di una regola di inferenza
premessa #1
premessa #2
...
premessa # n
___________
conclusione
1.4.1 Il linguaggio SWRL
SWRL
L' è un linguaggio per la rappresentazione di regole. Esso è basato sulla combinazione
Una-
dei sottolinguaggi OWL DL e OWL Lite del linguaggio OWL, con il sottolinguaggio
ry/Binary Datalog RuleML Rule Markup
del linguaggio . SWRL permette agli utenti di
scrivere rules che possono essere espresse in termini di concetti OWL per fornire una maggiore
potenza deduttiva dell'OWL standard [13]. body corpo
Una rule SWRL è formata da una parte antecedente, chiamata ( ) ed una parte
head testa
conseguente, conosciuta come ( ). 16
Ontologie
antecedent -> consequent
Entrambe le parti fanno uso di legami positivi di atomi:
atom ^ atom .... -> atom ^ atom
Se tutti gli atomi nel body della rule sono veri, allora tutti gli atomi nella head devono essere
veri.
Un atomo è un'espressione che ha la seguente forma:
p( arg1 , arg2 , ... argn )
p arg1 arg2 argn
dove è il simbolo del predicato e , , ..., sono i termini o gli argomenti dell'e-
spressione.
In SWRL, i simboli dei predicati possono includere classi OWL, proprità e tipi di dati. Gli
argomenti possono essere individui OWL, dati o variabili che si riferiscono ad essi.
1.4.2 Gli atomi in SWRL
SWRL prevede sette tipi di atomi, i più usati sono i seguenti:
Class atom
: consiste nel nome di una classe o espressione ed un atomo singolo che
rappresenta un individuo OWL.
Esempio tutti gli individui della classe Man sono anche individui della classe Persona
:
Man (? p) -> Person (? p)
Individual Property atoms
: consiste in una proprietà dell'oggetto e due argomenti
che rappresentano individui OWL.
hasBrother (?x , ? y)
hasBother è una proprietà dell'oggetto e ?x, ?y sono variabili che rappresentano indi-
vidui OWL.
Data Valued Property atoms
: consiste in una proprietà e due argomenti, il primo
rappresenta un individuo OWL, il secondo un valore che può assumere quell'individuo,
come mostrato nell'esempio.
Esempio tutte le persone che hanno una macchina sono conducenti
:
Person (? p) ^ hasCar (?p , true ) -> Driver (? p)
hasCar è una proprietà OWL e ?p è una variabile che rappresenta l'individuo OWL.
17
Ontologie
Built-in atom
: una delle più potenti caratteristiche di SWRL è la sua abilità a sup-
built-in
portare buil-ins denite dall'utente. Una è un predicato che prende uno o più
argomenti e li valuta veri se essi soddisfano il predicato.
e