SlideShare a Scribd company logo
Introduzione Ontologie Interrogazioni Vocabolari 
Linked Open Data e Semantic Web: 
Fondamenti e Linguaggi di Interrogazione 
Parte Prima 
Cristiano Longo 
longo@dmi.unict.it 
Universita di Catania, 2014-2015
Introduzione Ontologie Interrogazioni Vocabolari 
Argomenti 
Questa presentazione trattera i seguenti argomenti: 
Motivazioni del Web Semantico 
De
nizione formale di Ontologie 
Interrogazioni sulle Ontologie 
Vocabolari
Introduzione Ontologie Interrogazioni Vocabolari 
World Wide Web Consortium 
Le tecnologie del Web Semantico rispondono ad un insieme di standard e protocolli 
promossi e mantenuti dal World Wide Web Consortium (in breve W3C, vedi 
http://www.w3.org). 
Il W3C e un consorzio di standardizzazione per il Web che conta 403 membri tra 
aziende e organizzazioni governative: CNR, Microsoft Corporation, Apple Inc., Intel 
Corporation, Facebook, Google Inc., . . . 
Altri standard sviluppati in seno al W3C sono: URL, HTTP, XML, HTML, CSS, 
SOAP, WSDL, Javascript.
Introduzione Ontologie Interrogazioni Vocabolari 
Limiti del World Wide Web (1/4) 
The Web was designed as an information space, with the goal that it should 
be useful not only for human-human communication, but also that machines 
would be able to participate and help. One of the major obstacles to this has 
been the fact that most information on the Web is designed for human 
consumption, and even if it was derived from a database with well de
ned 
meanings (in at least some terms) for its columns, that the structure of the 
data is not evident to a robot browsing the web. 
Semantic Web Roadmap, Tim Berners-Lee, 1998.
Introduzione Ontologie Interrogazioni Vocabolari 
Limiti del World Wide Web (2/4) 
Alcuni problemi nell'interpretazione di testi derivano da: 
Lingue Dierenti e.g. Parigi e Paris possono indicare la stessa citta. 
Omonimie e.g. esistono svariate citta chiamate Paris nel mondo (Arkansas, 
Idaho, Illinois, Kentucky, Maine, Michigan, Missouri, New York, . . . );
Introduzione Ontologie Interrogazioni Vocabolari 
Limiti del World Wide Web (3/4) 
La situazione si complica in presenza di contenuti multimediali.
Introduzione Ontologie Interrogazioni Vocabolari 
Limiti del World Wide Web (4/4) 
Come conseguenza, spesso e impossibile eseguire su web ricerce complesse ottenendo 
risultati accurati. Ad esempio, cercando sul web Federico II places non si ottengono 
risultati in prima pagina su Federico II, ma solo sull'omonima universita: 
1 Universita degli Studi di Napoli Federico II | OPEN Places 
2 AOU - Policlinico Federico II - Napoli, Italy - Hospital | Facebook 
3 Federico II Ingegneria Via Claudio - College and University | Facebook 
4 MARIA CATERINA FONTE - www.docenti.unina.it
Introduzione Ontologie Interrogazioni Vocabolari 
Il Web Semantico (1/2) 
[. . . ] the Semantic Web approach instead develops languages for expressing 
information in a machine processable form. 
Semantic Web Roadmap, Tim Berners-Lee, 1998. 
Figure : Federico II su dbpedia.org
Introduzione Ontologie Interrogazioni Vocabolari 
Il Web Semantico (1/2) 
I linguaggi di rappresentazione usati nel Web semantico hanno una sintassi rigorosa e 
sono dotati di una semantica formale. 
Questo rende possibile eettuare interrogazioni complesse sui dataset, ottenendo dei 
risultati precisi anche se a volte parziali: 
Q = Luoghi di nascita di Federico II e dei suoi parenti stretti .
Introduzione Ontologie Interrogazioni Vocabolari 
Linked Open Data Cloud (1/2) 
The Semantic Web is a web of data, in some ways like a global database. 
Semantic Web Roadmap, Tim Berners-Lee, 1998. 
Figure : Linked Open Data Cloud
Introduzione Ontologie Interrogazioni Vocabolari 
Linked Open Data Cloud (2/2) 
Nel Linked Open Data Cloud sono presenti 365 dataset (fonte 
http://stats.lod2.eu/). 
Alcuni dataset: 
DBPedia (dbpedia.org) corrispondente a wikipedia.org; 
Linked Movie Database (http://linkedmdb.org/) controparte sul Web 
Semantico di Internet Movie Database (http://www.imdb.com/); 
Linked GeoData (http://linkedgeodata.org) contiene i dati di OpenStreetMap 
(http://www.openstreetmap.org/); 
AGROVOC (http://aims.fao.org/agrovoc) e il dataset della FAO 
(http://fao.org); 
Europeana (http://pro.europeana.eu/linked-open-data) contiene dati su 
beni culturali e tradizioni Europee.
Introduzione Ontologie Interrogazioni Vocabolari 
Linked Data (1/2) 
I dataset nel Web Semantico possono essere collegati tra loro. Ad esempio, una stessa 
risorsa puo essere descritta sotto diversi aspetti in dataset dierenti. 
Ad esempio, la citta di Catania e presente: 
come pubblica amministrazione nel dataset del sistema pubblico di connettivita e 
cooperazione http://spcdata.digitpa.gov.it/; 
come divisione amministrativa nel dataset http://www.geonames.org; 
come area territoriale nel dataset dell'ISTAT 
http://linkedstat.spaziodati.eu/.
Introduzione Ontologie Interrogazioni Vocabolari 
Linked Data (2/2) 
E 
possibile eettuare interrogazioni che coinvolgano diversi dataset (anche 
eterogenei). 
Ad esempio, la seguente query puo essere eseguita interrogando un data set 
contenente dati storici ed uno sulle strutture ricettive: 
Q = Strutture ricettive nei luoghi di nascita di Federico II e dei suoi parenti stretti.
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie 
I dataset del Web Semantico vengono spesso de
niti ontologie. 
Una ontologia e una descrizione parziale del mondo: 
descrive una porzione del mondo, spesso e limitata ad un'unico dominio di 
conoscenza; 
non si assume che i fatti non esplicitamente presenti nell'ontologia siano falsi 
(Open World Assumption). 
Essa e costituita da un insieme
nito di aermazioni. Ad esempio: 
Tutti gli esseri umani sono mortali; 
Socrate e mortale; 
Alice e la madre di Roberto.
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - Aermazioni 
Le aermazioni contenute in una ontologia sono di tre tipi: 
Constraints: impongono dei vincoli semantici sul dominio di conoscenza che si va a 
rappresentare. La notazione richiama quella insiemistica; 
HumanBeing v Mortal 
Property Assertions: impongono una relazione tra due elementi del dominio; 
Alice motherOf Bob 
Class Assertions: indicano l'appartenenza di un elemento ad un insieme. 
HumanBeing(Socrate)
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - Reasoning 
Con il termine reasoning si intende l'attivita di estrazione di conoscenza implicita in 
una ontologia. 
 
HumanBeing v Mortal; 
HumanBeing(Socrate) 
 
=) Mortal(Socrate) 
Le attivita di reasoning sono rese possibili dalle semantiche formali associate ai 
linguaggi di rappresentazione utilizzati.
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - De
nizione 
Siano NC , NP, NI tre insiemi in
niti, numerabili e a due a due disgiunti di nomi di 
classe, proprieta e individuo, rispettivamente. 
Una ontologia e un insieme
nito di asserzioni dei seguenti tipi: 
Sintassi Semantica 
Constraints C v D (8x)(x 2 C ! x 2 D) 
R v S (8x; y)([x; y] 2 R ! [x; y] 2 S) 
dom(R) v C (8x; y)([x; y] 2 R ! x 2 C) 
range(R) v C (8x; y)([x; y] 2 R ! y 2 C) 
Class Assertions C(a) a 2 C 
Property Assertions a P b (equivalente P(a; b)) [a; b] 2 P 
dove C;D 2 NC , R; S 2 NP e a; b 2 NI .
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - Esempio 
Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , 
teacherOf 2 NP, Socrate; Platone 2 NI . 
O = fHumanBeing v Mortal; 
range(teacherOf ) v HumanBeing; 
HumanBeing(Socrate); 
Socrate teacherOf Platoneg
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - Esempio 
Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , 
teacherOf 2 NP, Socrate; Platone 2 NI . 
Mediante reasoning e possibile esplicitare ulteriori aermazioni. 
O = fHumanBeing v Mortal; O0 = fMortal(Socrate); 
range(teacherOf ) v HumanBeing; =) 
HumanBeing(Socrate); g 
Socrate teacherOf Platoneg
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - Esempio 
Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , 
teacherOf 2 NP, Socrate; Platone 2 NI . 
Mediante reasoning e possibile esplicitare ulteriori aermazioni. 
O = fHumanBeing v Mortal; O0 = fMortal(Socrate); 
range(teacherOf) v HumanBeing; =) HumanBeing(Platone); 
HumanBeing(Socrate); g 
Socrate teacherOf Platoneg
Introduzione Ontologie Interrogazioni Vocabolari 
Ontologie - Esempio 
Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , 
teacherOf 2 NP, Socrate; Platone 2 NI . 
Mediante reasoning e possibile esplicitare ulteriori aermazioni. 
O = fHumanBeing v Mortal O0 = fMortal(Socrate); 
range(teacherOf ) v HumanBeing; =) HumanBeing(Platone) 
HumanBeing(Socrate); Mortal(Platone)g 
Socrate teacherOf Platoneg
Introduzione Ontologie Interrogazioni Vocabolari 
Interrogazioni 
Il metodo piu immediato per ottenere informazioni da una ontologia e il Conjunctive 
Query Answering. Consideriamo ad esempio la seguente ontologia: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Alcune interrogazioni che e possibile eettuare con il conjunctive query answering 
sono: 
Trova tutti gli individui maschi. 
Chi sono gli individui con almeno un
glio maschio? 
Chi sono i
gli di Alice? 
Chi sono gli individui con almeno un
glio maschio ed una femmina? 
Chi sono gli individui maschi con almeno un
glio maschio?
Introduzione Ontologie Interrogazioni Vocabolari 
Formule Atomiche 
Per de
nire in maniera rigorosa le query congiuntive e necessario de
nire 
preliminarmente l'insieme delle formule atomiche. 
Sia V = fx; y; z; :::g l'insieme in
nito, numerabile e disgiunto da NC , NP e NI delle 
variabili. Le formule atomiche sono espressioni dei due seguenti tipi: 
C(x); P(x; y) 
con x; y 2 NI [ V, P 2 NC e P 2 NP. 
Esempi di formule atomiche sono: 
HumanBeing(x), 
x childOf Alice, 
Bob childOf x, 
x childOf y, 
Mortal(Socrate), 
Alice childOf Elise 
con HumanBeing;Mortal 2 NC , childOf 2 NP, Alice; Bob; Elise 2 NI e x; y 2 V.
Introduzione Ontologie Interrogazioni Vocabolari 
Formule Atomiche Chiuse 
Una formula atomica nella quale non compaiano variabili si dice chiusa. 
Negli esempi che seguono sono evidenziate le formule atomiche chiuse: 
HumanBeing(x), 
x childOf Alice, 
Bob childOf x, 
x childOf y, 
Mortal(Socrate), 
Alice childOf Elise 
con HumanBeing;Mortal 2 NC , childOf 2 NP, Alice; Bob; Elise 2 NI e x; y 2 V.
Introduzione Ontologie Interrogazioni Vocabolari 
Formule Atomiche Chiuse 
Una formula atomica nella quale non compaiano variabili si dice chiusa. 
Negli esempi che seguono sono evidenziate le formule atomiche chiuse: 
HumanBeing(x), 
x childOf Alice, 
Bob childOf x, 
x childOf y, 
Mortal(Socrate), 
Alice childOf Elise 
con HumanBeing;Mortal 2 NC , childOf 2 NP, Alice; Bob; Elise 2 NI e x; y 2 V. 
Le asserzioni presenti nelle ontologie sono formule atomiche chiuse.
Introduzione Ontologie Interrogazioni Vocabolari 
Query Congiuntive 
Una query congiuntiva e una congiunzione
nita di formule atomiche T1 ^ : : : ^ Tn. 
Alcuni esempi di query congiuntive: 
Trova tutti gli individui maschi. 
Male(x) 
Chi sono gli individui con almeno un
glio maschio? 
y childOf x ^ Male(y) 
Chi sono i
gli di Alice? 
x childOf Alice 
con x; y 2 V, Male; Female 2 NC , childOf 2 NP e Alice 2 NI .
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (1/2) 
Per de
nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di 
sostituzione. 
Una sostituzione  = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una 
mappa
nita che associa nomi di individui a variabili. 
Sia T una formula atomica e  = [x1 ! a1; : : : ; xn ! an] una sostituzione. 
L'applicazione T di  a T e la formula atomica che si ottiene sostituendo in T ad 
ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 
1  i  n. 
Alcuni esempi: 
Male(x)[x ! Bob] = Male(Bob) 
Male(x)[y ! Bob] = 
(x childOf y)[x ! Alice] = 
(x childOf y)[x ! Alice; y ! Elise] = 
con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (1/2) 
Per de
nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di 
sostituzione. 
Una sostituzione  = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una 
mappa
nita che associa nomi di individui a variabili. 
Sia T una formula atomica e  = [x1 ! a1; : : : ; xn ! an] una sostituzione. 
L'applicazione T di  a T e la formula atomica che si ottiene sostituendo in T ad 
ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 
1  i  n. 
Alcuni esempi: 
Male(x)[x ! Bob] = Male(Bob) 
Male(x)[y ! Bob] = Male(x) 
(x childOf y)[x ! Alice] = 
(x childOf y)[x ! Alice; y ! Elise] = 
con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (1/2) 
Per de
nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di 
sostituzione. 
Una sostituzione  = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una 
mappa
nita che associa nomi di individui a variabili. 
Sia T una formula atomica e  = [x1 ! a1; : : : ; xn ! an] una sostituzione. 
L'applicazione T di  a T e la formula atomica che si ottiene sostituendo in T ad 
ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 
1  i  n. 
Alcuni esempi: 
Male(x)[x ! Bob] = Male(Bob) 
Male(x)[y ! Bob] = Male(x) 
(x childOf y)[x ! Alice] = Alice childOf y 
(x childOf y)[x ! Alice; y ! Elise] = 
con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (1/2) 
Per de
nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di 
sostituzione. 
Una sostituzione  = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una 
mappa
nita che associa nomi di individui a variabili. 
Sia T una formula atomica e  = [x1 ! a1; : : : ; xn ! an] una sostituzione. 
L'applicazione T di  a T e la formula atomica che si ottiene sostituendo in T ad 
ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 
1  i  n. 
Alcuni esempi: 
Male(x)[x ! Bob] = Male(Bob) 
Male(x)[y ! Bob] = Male(x) 
(x childOf y)[x ! Alice] = Alice childOf y 
(x childOf y)[x ! Alice; y ! Elise] = Alice childOf Elise 
con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (2/2) 
L'applicazione di sostituzioni a query congiuntive si de
nisce come segue. 
Sia  = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. 
Allora 
(T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: 
Alcuni esempi: 
(y childOf x ^ Male(y))[x ! Alice] =Def 
(y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def 
(y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (2/2) 
L'applicazione di sostituzioni a query congiuntive si de
nisce come segue. 
Sia  = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. 
Allora 
(T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: 
Alcuni esempi: 
(y childOf x ^ Male(y))[x ! Alice] =Def y childOf Alice ^ Male(y) 
(y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def 
(y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (2/2) 
L'applicazione di sostituzioni a query congiuntive si de
nisce come segue. 
Sia  = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. 
Allora 
(T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: 
Alcuni esempi: 
(y childOf x ^ Male(y))[x ! Alice] =Def y childOf Alice ^ Male(y) 
(y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def y childOf Alice ^ Male(y) 
(y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def
Introduzione Ontologie Interrogazioni Vocabolari 
Sostituzioni (2/2) 
L'applicazione di sostituzioni a query congiuntive si de
nisce come segue. 
Sia  = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. 
Allora 
(T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: 
Alcuni esempi: 
(y childOf x ^ Male(y))[x ! Alice] =Def y childOf Alice ^ Male(y) 
(y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def y childOf Alice ^ Male(y) 
(y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def Bob childOf Alice ^ Male(Bob)
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 1 = [x ! Alice; y ! Daniel]. 1 e una soluzione per Q rispetto ad O?
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query - Esempio 1 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
glio 
maschio?) de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 1 = [x ! Alice; y ! Daniel]. 1 e una soluzione per Q rispetto ad O? SI. 
Q1 = Daniel childOf Alice ^ Male(Daniel):
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query - Esempio 2 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 2 = [x ! Alice; y ! Bob]. 2 e una soluzione per Q rispetto ad O?
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query - Esempio 2 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
glio 
maschio?) de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 2 = [x ! Alice; y ! Bob]. 2 e una soluzione per Q rispetto ad O? NO. 
Q2 = Bob childOf Alice ^ Male(Bob):
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query - Esempio 3 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 3 = [x ! Charlie; y ! Francis]. 3 e una soluzione per Q rispetto ad O?
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query - Esempio 3 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
glio 
maschio?) de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 3 = [x ! Charlie; y ! Francis]. 2 e una soluzione per Q rispetto ad O? NO. 
Q3 = Francis childOf Charlie ^ Male(Francis):
Introduzione Ontologie Interrogazioni Vocabolari 
Soluzioni per una Query - Esempio 4 
Siano  = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query 
congiuntiva e O una ontologia. 
 e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 
compaiono in O. 
Consideriamo l'ontologia O e la query Q de
nite come segue: 
O = fFemale(Elise); Female(Alice); Male(Bob); 
Male(Charlie); Male(Daniel); 
Alice childOf Elise; Charlie childOf Elise; 
Daniel childOf Alice; Daniel childOf Bob; 
Francis childOf Charlieg 
Q = y childOf x ^ Male(y): 
Sia 4 = [y ! Daniel]. 4 e una soluzione per Q rispetto ad O?

More Related Content

Similar to Semantic Web e Linked Open Data - Parte I

Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studioIntegrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studioMaria Pia De Marzo
 
Corso Web 2.0: Trovare l'informazione
Corso Web 2.0: Trovare l'informazioneCorso Web 2.0: Trovare l'informazione
Corso Web 2.0: Trovare l'informazione
Roberto Polillo
 
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
Giorgia Lodi
 
Cmplx school spoleto_ve_reti1su3_22ago2016
Cmplx school spoleto_ve_reti1su3_22ago2016Cmplx school spoleto_ve_reti1su3_22ago2016
Cmplx school spoleto_ve_reti1su3_22ago2016
Valerio Eletti
 
Strategie Per Un Lor Federato
Strategie Per Un Lor FederatoStrategie Per Un Lor Federato
Strategie Per Un Lor Federato
Marcello Giacomantonio
 
Folksonomy e Web 2.0. Questioni metodologiche e implicazioni sociali
Folksonomy e Web 2.0. Questioni metodologiche e implicazioni socialiFolksonomy e Web 2.0. Questioni metodologiche e implicazioni sociali
Folksonomy e Web 2.0. Questioni metodologiche e implicazioni sociali
Matteo Vergani
 
CM Literacy Meeting - Traccia libri consigliati da Valerio Eletti
CM Literacy Meeting - Traccia libri consigliati da Valerio ElettiCM Literacy Meeting - Traccia libri consigliati da Valerio Eletti
CM Literacy Meeting - Traccia libri consigliati da Valerio Eletti
Complexity Institute
 
3c WEB SEMANTICO. Ontologie e RDF
3c WEB SEMANTICO. Ontologie e RDF3c WEB SEMANTICO. Ontologie e RDF
3c WEB SEMANTICO. Ontologie e RDF
Mau-Messenger
 
Guido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semanticoGuido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semanticoSocial Media Lab
 
201203021 comphumanities 2012
201203021 comphumanities 2012201203021 comphumanities 2012
201203021 comphumanities 2012
Stefano Lariccia
 
Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...
Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...
Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...
Sandro Rossetti
 
Metadati2008
Metadati2008Metadati2008
Metadati2008
Università di Padova
 
9a. Il web semantico
9a. Il web semantico 9a. Il web semantico
9a. Il web semantico
Maurizio Caminito
 
201304011 comphumanities 2013
201304011 comphumanities 2013201304011 comphumanities 2013
201304011 comphumanities 2013Stefano Lariccia
 
IC2009 Introduzione all'ingegneria della conoscenza
IC2009 Introduzione all'ingegneria della conoscenzaIC2009 Introduzione all'ingegneria della conoscenza
IC2009 Introduzione all'ingegneria della conoscenzaEmanuele Della Valle
 
IC2008 Introduzione all'Ingegneria Della Conoscenza
IC2008 Introduzione all'Ingegneria Della ConoscenzaIC2008 Introduzione all'Ingegneria Della Conoscenza
IC2008 Introduzione all'Ingegneria Della ConoscenzaEmanuele Della Valle
 
Risorse elettroniche per la ricerca 5.ed
Risorse elettroniche per la ricerca 5.edRisorse elettroniche per la ricerca 5.ed
Risorse elettroniche per la ricerca 5.ed
bibliobioing
 

Similar to Semantic Web e Linked Open Data - Parte I (19)

Integrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studioIntegrazione di ontologie su un sistema a regole: un caso di studio
Integrazione di ontologie su un sistema a regole: un caso di studio
 
Corso Web 2.0: Trovare l'informazione
Corso Web 2.0: Trovare l'informazioneCorso Web 2.0: Trovare l'informazione
Corso Web 2.0: Trovare l'informazione
 
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
OntoPiA la rete di ontologie e vocabolari controllati per la pubblica amminis...
 
Cmplx school spoleto_ve_reti1su3_22ago2016
Cmplx school spoleto_ve_reti1su3_22ago2016Cmplx school spoleto_ve_reti1su3_22ago2016
Cmplx school spoleto_ve_reti1su3_22ago2016
 
Strategie Per Un Lor Federato
Strategie Per Un Lor FederatoStrategie Per Un Lor Federato
Strategie Per Un Lor Federato
 
Folksonomy e Web 2.0. Questioni metodologiche e implicazioni sociali
Folksonomy e Web 2.0. Questioni metodologiche e implicazioni socialiFolksonomy e Web 2.0. Questioni metodologiche e implicazioni sociali
Folksonomy e Web 2.0. Questioni metodologiche e implicazioni sociali
 
Lezione01
Lezione01Lezione01
Lezione01
 
Lezione01
Lezione01Lezione01
Lezione01
 
CM Literacy Meeting - Traccia libri consigliati da Valerio Eletti
CM Literacy Meeting - Traccia libri consigliati da Valerio ElettiCM Literacy Meeting - Traccia libri consigliati da Valerio Eletti
CM Literacy Meeting - Traccia libri consigliati da Valerio Eletti
 
3c WEB SEMANTICO. Ontologie e RDF
3c WEB SEMANTICO. Ontologie e RDF3c WEB SEMANTICO. Ontologie e RDF
3c WEB SEMANTICO. Ontologie e RDF
 
Guido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semanticoGuido Vetere - Introduzione e critica al web semantico
Guido Vetere - Introduzione e critica al web semantico
 
201203021 comphumanities 2012
201203021 comphumanities 2012201203021 comphumanities 2012
201203021 comphumanities 2012
 
Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...
Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...
Deftcon 2013 - Alessandro Rossetti & Massimiliano Dal Cero - OSint a supporto...
 
Metadati2008
Metadati2008Metadati2008
Metadati2008
 
9a. Il web semantico
9a. Il web semantico 9a. Il web semantico
9a. Il web semantico
 
201304011 comphumanities 2013
201304011 comphumanities 2013201304011 comphumanities 2013
201304011 comphumanities 2013
 
IC2009 Introduzione all'ingegneria della conoscenza
IC2009 Introduzione all'ingegneria della conoscenzaIC2009 Introduzione all'ingegneria della conoscenza
IC2009 Introduzione all'ingegneria della conoscenza
 
IC2008 Introduzione all'Ingegneria Della Conoscenza
IC2008 Introduzione all'Ingegneria Della ConoscenzaIC2008 Introduzione all'Ingegneria Della Conoscenza
IC2008 Introduzione all'Ingegneria Della Conoscenza
 
Risorse elettroniche per la ricerca 5.ed
Risorse elettroniche per la ricerca 5.edRisorse elettroniche per la ricerca 5.ed
Risorse elettroniche per la ricerca 5.ed
 

More from Cristiano Longo

Open Data di Comunità
Open Data di ComunitàOpen Data di Comunità
Open Data di Comunità
Cristiano Longo
 
Attivismo Open Data a Catania: dal tour all'hacklab
Attivismo Open Data a Catania: dal tour all'hacklabAttivismo Open Data a Catania: dal tour all'hacklab
Attivismo Open Data a Catania: dal tour all'hacklab
Cristiano Longo
 
OpenDataTour: CO.P.E.
OpenDataTour: CO.P.E.OpenDataTour: CO.P.E.
OpenDataTour: CO.P.E.
Cristiano Longo
 
Introduzione ai Linked Open Data e al Web Semantico
Introduzione ai Linked Open Data e al Web SemanticoIntroduzione ai Linked Open Data e al Web Semantico
Introduzione ai Linked Open Data e al Web Semantico
Cristiano Longo
 
Open Data e Open Data Sicilia
Open Data e Open Data SiciliaOpen Data e Open Data Sicilia
Open Data e Open Data Sicilia
Cristiano Longo
 
Adding Semantics to Ontologies
Adding Semantics to OntologiesAdding Semantics to Ontologies
Adding Semantics to Ontologies
Cristiano Longo
 
Linked Open Data for Cultural Heritage
Linked Open Data for Cultural HeritageLinked Open Data for Cultural Heritage
Linked Open Data for Cultural Heritage
Cristiano Longo
 
Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...
Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...
Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...
Cristiano Longo
 
Sulle Linee Guida per gli Open Data nei Comuni
Sulle Linee Guida per gli Open Data nei ComuniSulle Linee Guida per gli Open Data nei Comuni
Sulle Linee Guida per gli Open Data nei Comuni
Cristiano Longo
 
Beni Culturali Aperti
Beni Culturali ApertiBeni Culturali Aperti
Beni Culturali Aperti
Cristiano Longo
 
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...Cristiano Longo
 

More from Cristiano Longo (11)

Open Data di Comunità
Open Data di ComunitàOpen Data di Comunità
Open Data di Comunità
 
Attivismo Open Data a Catania: dal tour all'hacklab
Attivismo Open Data a Catania: dal tour all'hacklabAttivismo Open Data a Catania: dal tour all'hacklab
Attivismo Open Data a Catania: dal tour all'hacklab
 
OpenDataTour: CO.P.E.
OpenDataTour: CO.P.E.OpenDataTour: CO.P.E.
OpenDataTour: CO.P.E.
 
Introduzione ai Linked Open Data e al Web Semantico
Introduzione ai Linked Open Data e al Web SemanticoIntroduzione ai Linked Open Data e al Web Semantico
Introduzione ai Linked Open Data e al Web Semantico
 
Open Data e Open Data Sicilia
Open Data e Open Data SiciliaOpen Data e Open Data Sicilia
Open Data e Open Data Sicilia
 
Adding Semantics to Ontologies
Adding Semantics to OntologiesAdding Semantics to Ontologies
Adding Semantics to Ontologies
 
Linked Open Data for Cultural Heritage
Linked Open Data for Cultural HeritageLinked Open Data for Cultural Heritage
Linked Open Data for Cultural Heritage
 
Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...
Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...
Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione - P...
 
Sulle Linee Guida per gli Open Data nei Comuni
Sulle Linee Guida per gli Open Data nei ComuniSulle Linee Guida per gli Open Data nei Comuni
Sulle Linee Guida per gli Open Data nei Comuni
 
Beni Culturali Aperti
Beni Culturali ApertiBeni Culturali Aperti
Beni Culturali Aperti
 
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
Herbrand-satisfiability of a Quantified Set-theoretical Fragment (Cantone, Lo...
 

Semantic Web e Linked Open Data - Parte I

  • 1. Introduzione Ontologie Interrogazioni Vocabolari Linked Open Data e Semantic Web: Fondamenti e Linguaggi di Interrogazione Parte Prima Cristiano Longo longo@dmi.unict.it Universita di Catania, 2014-2015
  • 2. Introduzione Ontologie Interrogazioni Vocabolari Argomenti Questa presentazione trattera i seguenti argomenti: Motivazioni del Web Semantico De
  • 3. nizione formale di Ontologie Interrogazioni sulle Ontologie Vocabolari
  • 4. Introduzione Ontologie Interrogazioni Vocabolari World Wide Web Consortium Le tecnologie del Web Semantico rispondono ad un insieme di standard e protocolli promossi e mantenuti dal World Wide Web Consortium (in breve W3C, vedi http://www.w3.org). Il W3C e un consorzio di standardizzazione per il Web che conta 403 membri tra aziende e organizzazioni governative: CNR, Microsoft Corporation, Apple Inc., Intel Corporation, Facebook, Google Inc., . . . Altri standard sviluppati in seno al W3C sono: URL, HTTP, XML, HTML, CSS, SOAP, WSDL, Javascript.
  • 5. Introduzione Ontologie Interrogazioni Vocabolari Limiti del World Wide Web (1/4) The Web was designed as an information space, with the goal that it should be useful not only for human-human communication, but also that machines would be able to participate and help. One of the major obstacles to this has been the fact that most information on the Web is designed for human consumption, and even if it was derived from a database with well de
  • 6. ned meanings (in at least some terms) for its columns, that the structure of the data is not evident to a robot browsing the web. Semantic Web Roadmap, Tim Berners-Lee, 1998.
  • 7. Introduzione Ontologie Interrogazioni Vocabolari Limiti del World Wide Web (2/4) Alcuni problemi nell'interpretazione di testi derivano da: Lingue Dierenti e.g. Parigi e Paris possono indicare la stessa citta. Omonimie e.g. esistono svariate citta chiamate Paris nel mondo (Arkansas, Idaho, Illinois, Kentucky, Maine, Michigan, Missouri, New York, . . . );
  • 8. Introduzione Ontologie Interrogazioni Vocabolari Limiti del World Wide Web (3/4) La situazione si complica in presenza di contenuti multimediali.
  • 9. Introduzione Ontologie Interrogazioni Vocabolari Limiti del World Wide Web (4/4) Come conseguenza, spesso e impossibile eseguire su web ricerce complesse ottenendo risultati accurati. Ad esempio, cercando sul web Federico II places non si ottengono risultati in prima pagina su Federico II, ma solo sull'omonima universita: 1 Universita degli Studi di Napoli Federico II | OPEN Places 2 AOU - Policlinico Federico II - Napoli, Italy - Hospital | Facebook 3 Federico II Ingegneria Via Claudio - College and University | Facebook 4 MARIA CATERINA FONTE - www.docenti.unina.it
  • 10. Introduzione Ontologie Interrogazioni Vocabolari Il Web Semantico (1/2) [. . . ] the Semantic Web approach instead develops languages for expressing information in a machine processable form. Semantic Web Roadmap, Tim Berners-Lee, 1998. Figure : Federico II su dbpedia.org
  • 11. Introduzione Ontologie Interrogazioni Vocabolari Il Web Semantico (1/2) I linguaggi di rappresentazione usati nel Web semantico hanno una sintassi rigorosa e sono dotati di una semantica formale. Questo rende possibile eettuare interrogazioni complesse sui dataset, ottenendo dei risultati precisi anche se a volte parziali: Q = Luoghi di nascita di Federico II e dei suoi parenti stretti .
  • 12. Introduzione Ontologie Interrogazioni Vocabolari Linked Open Data Cloud (1/2) The Semantic Web is a web of data, in some ways like a global database. Semantic Web Roadmap, Tim Berners-Lee, 1998. Figure : Linked Open Data Cloud
  • 13. Introduzione Ontologie Interrogazioni Vocabolari Linked Open Data Cloud (2/2) Nel Linked Open Data Cloud sono presenti 365 dataset (fonte http://stats.lod2.eu/). Alcuni dataset: DBPedia (dbpedia.org) corrispondente a wikipedia.org; Linked Movie Database (http://linkedmdb.org/) controparte sul Web Semantico di Internet Movie Database (http://www.imdb.com/); Linked GeoData (http://linkedgeodata.org) contiene i dati di OpenStreetMap (http://www.openstreetmap.org/); AGROVOC (http://aims.fao.org/agrovoc) e il dataset della FAO (http://fao.org); Europeana (http://pro.europeana.eu/linked-open-data) contiene dati su beni culturali e tradizioni Europee.
  • 14. Introduzione Ontologie Interrogazioni Vocabolari Linked Data (1/2) I dataset nel Web Semantico possono essere collegati tra loro. Ad esempio, una stessa risorsa puo essere descritta sotto diversi aspetti in dataset dierenti. Ad esempio, la citta di Catania e presente: come pubblica amministrazione nel dataset del sistema pubblico di connettivita e cooperazione http://spcdata.digitpa.gov.it/; come divisione amministrativa nel dataset http://www.geonames.org; come area territoriale nel dataset dell'ISTAT http://linkedstat.spaziodati.eu/.
  • 15. Introduzione Ontologie Interrogazioni Vocabolari Linked Data (2/2) E possibile eettuare interrogazioni che coinvolgano diversi dataset (anche eterogenei). Ad esempio, la seguente query puo essere eseguita interrogando un data set contenente dati storici ed uno sulle strutture ricettive: Q = Strutture ricettive nei luoghi di nascita di Federico II e dei suoi parenti stretti.
  • 16. Introduzione Ontologie Interrogazioni Vocabolari Ontologie I dataset del Web Semantico vengono spesso de
  • 17. niti ontologie. Una ontologia e una descrizione parziale del mondo: descrive una porzione del mondo, spesso e limitata ad un'unico dominio di conoscenza; non si assume che i fatti non esplicitamente presenti nell'ontologia siano falsi (Open World Assumption). Essa e costituita da un insieme
  • 18. nito di aermazioni. Ad esempio: Tutti gli esseri umani sono mortali; Socrate e mortale; Alice e la madre di Roberto.
  • 19. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - Aermazioni Le aermazioni contenute in una ontologia sono di tre tipi: Constraints: impongono dei vincoli semantici sul dominio di conoscenza che si va a rappresentare. La notazione richiama quella insiemistica; HumanBeing v Mortal Property Assertions: impongono una relazione tra due elementi del dominio; Alice motherOf Bob Class Assertions: indicano l'appartenenza di un elemento ad un insieme. HumanBeing(Socrate)
  • 20. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - Reasoning Con il termine reasoning si intende l'attivita di estrazione di conoscenza implicita in una ontologia. HumanBeing v Mortal; HumanBeing(Socrate) =) Mortal(Socrate) Le attivita di reasoning sono rese possibili dalle semantiche formali associate ai linguaggi di rappresentazione utilizzati.
  • 21. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - De
  • 22. nizione Siano NC , NP, NI tre insiemi in
  • 23. niti, numerabili e a due a due disgiunti di nomi di classe, proprieta e individuo, rispettivamente. Una ontologia e un insieme
  • 24. nito di asserzioni dei seguenti tipi: Sintassi Semantica Constraints C v D (8x)(x 2 C ! x 2 D) R v S (8x; y)([x; y] 2 R ! [x; y] 2 S) dom(R) v C (8x; y)([x; y] 2 R ! x 2 C) range(R) v C (8x; y)([x; y] 2 R ! y 2 C) Class Assertions C(a) a 2 C Property Assertions a P b (equivalente P(a; b)) [a; b] 2 P dove C;D 2 NC , R; S 2 NP e a; b 2 NI .
  • 25. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - Esempio Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , teacherOf 2 NP, Socrate; Platone 2 NI . O = fHumanBeing v Mortal; range(teacherOf ) v HumanBeing; HumanBeing(Socrate); Socrate teacherOf Platoneg
  • 26. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - Esempio Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , teacherOf 2 NP, Socrate; Platone 2 NI . Mediante reasoning e possibile esplicitare ulteriori aermazioni. O = fHumanBeing v Mortal; O0 = fMortal(Socrate); range(teacherOf ) v HumanBeing; =) HumanBeing(Socrate); g Socrate teacherOf Platoneg
  • 27. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - Esempio Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , teacherOf 2 NP, Socrate; Platone 2 NI . Mediante reasoning e possibile esplicitare ulteriori aermazioni. O = fHumanBeing v Mortal; O0 = fMortal(Socrate); range(teacherOf) v HumanBeing; =) HumanBeing(Platone); HumanBeing(Socrate); g Socrate teacherOf Platoneg
  • 28. Introduzione Ontologie Interrogazioni Vocabolari Ontologie - Esempio Riportiamo un esempio di ontologia. Siano HumanBeing;Mortal 2 NC , teacherOf 2 NP, Socrate; Platone 2 NI . Mediante reasoning e possibile esplicitare ulteriori aermazioni. O = fHumanBeing v Mortal O0 = fMortal(Socrate); range(teacherOf ) v HumanBeing; =) HumanBeing(Platone) HumanBeing(Socrate); Mortal(Platone)g Socrate teacherOf Platoneg
  • 29. Introduzione Ontologie Interrogazioni Vocabolari Interrogazioni Il metodo piu immediato per ottenere informazioni da una ontologia e il Conjunctive Query Answering. Consideriamo ad esempio la seguente ontologia: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Alcune interrogazioni che e possibile eettuare con il conjunctive query answering sono: Trova tutti gli individui maschi. Chi sono gli individui con almeno un
  • 31. gli di Alice? Chi sono gli individui con almeno un
  • 32. glio maschio ed una femmina? Chi sono gli individui maschi con almeno un
  • 34. Introduzione Ontologie Interrogazioni Vocabolari Formule Atomiche Per de
  • 35. nire in maniera rigorosa le query congiuntive e necessario de
  • 36. nire preliminarmente l'insieme delle formule atomiche. Sia V = fx; y; z; :::g l'insieme in
  • 37. nito, numerabile e disgiunto da NC , NP e NI delle variabili. Le formule atomiche sono espressioni dei due seguenti tipi: C(x); P(x; y) con x; y 2 NI [ V, P 2 NC e P 2 NP. Esempi di formule atomiche sono: HumanBeing(x), x childOf Alice, Bob childOf x, x childOf y, Mortal(Socrate), Alice childOf Elise con HumanBeing;Mortal 2 NC , childOf 2 NP, Alice; Bob; Elise 2 NI e x; y 2 V.
  • 38. Introduzione Ontologie Interrogazioni Vocabolari Formule Atomiche Chiuse Una formula atomica nella quale non compaiano variabili si dice chiusa. Negli esempi che seguono sono evidenziate le formule atomiche chiuse: HumanBeing(x), x childOf Alice, Bob childOf x, x childOf y, Mortal(Socrate), Alice childOf Elise con HumanBeing;Mortal 2 NC , childOf 2 NP, Alice; Bob; Elise 2 NI e x; y 2 V.
  • 39. Introduzione Ontologie Interrogazioni Vocabolari Formule Atomiche Chiuse Una formula atomica nella quale non compaiano variabili si dice chiusa. Negli esempi che seguono sono evidenziate le formule atomiche chiuse: HumanBeing(x), x childOf Alice, Bob childOf x, x childOf y, Mortal(Socrate), Alice childOf Elise con HumanBeing;Mortal 2 NC , childOf 2 NP, Alice; Bob; Elise 2 NI e x; y 2 V. Le asserzioni presenti nelle ontologie sono formule atomiche chiuse.
  • 40. Introduzione Ontologie Interrogazioni Vocabolari Query Congiuntive Una query congiuntiva e una congiunzione
  • 41. nita di formule atomiche T1 ^ : : : ^ Tn. Alcuni esempi di query congiuntive: Trova tutti gli individui maschi. Male(x) Chi sono gli individui con almeno un
  • 42. glio maschio? y childOf x ^ Male(y) Chi sono i
  • 43. gli di Alice? x childOf Alice con x; y 2 V, Male; Female 2 NC , childOf 2 NP e Alice 2 NI .
  • 44. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (1/2) Per de
  • 45. nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di sostituzione. Una sostituzione = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una mappa
  • 46. nita che associa nomi di individui a variabili. Sia T una formula atomica e = [x1 ! a1; : : : ; xn ! an] una sostituzione. L'applicazione T di a T e la formula atomica che si ottiene sostituendo in T ad ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 1 i n. Alcuni esempi: Male(x)[x ! Bob] = Male(Bob) Male(x)[y ! Bob] = (x childOf y)[x ! Alice] = (x childOf y)[x ! Alice; y ! Elise] = con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
  • 47. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (1/2) Per de
  • 48. nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di sostituzione. Una sostituzione = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una mappa
  • 49. nita che associa nomi di individui a variabili. Sia T una formula atomica e = [x1 ! a1; : : : ; xn ! an] una sostituzione. L'applicazione T di a T e la formula atomica che si ottiene sostituendo in T ad ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 1 i n. Alcuni esempi: Male(x)[x ! Bob] = Male(Bob) Male(x)[y ! Bob] = Male(x) (x childOf y)[x ! Alice] = (x childOf y)[x ! Alice; y ! Elise] = con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
  • 50. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (1/2) Per de
  • 51. nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di sostituzione. Una sostituzione = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una mappa
  • 52. nita che associa nomi di individui a variabili. Sia T una formula atomica e = [x1 ! a1; : : : ; xn ! an] una sostituzione. L'applicazione T di a T e la formula atomica che si ottiene sostituendo in T ad ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 1 i n. Alcuni esempi: Male(x)[x ! Bob] = Male(Bob) Male(x)[y ! Bob] = Male(x) (x childOf y)[x ! Alice] = Alice childOf y (x childOf y)[x ! Alice; y ! Elise] = con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
  • 53. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (1/2) Per de
  • 54. nire le soluzioni (risposte) delle query congiuntive introduciamo la nozione di sostituzione. Una sostituzione = [x1 ! a1; : : : ; xn ! an] (x1; : : : ; xn 2 V, a1; : : : ; an 2 NI ) e una mappa
  • 55. nita che associa nomi di individui a variabili. Sia T una formula atomica e = [x1 ! a1; : : : ; xn ! an] una sostituzione. L'applicazione T di a T e la formula atomica che si ottiene sostituendo in T ad ogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni 1 i n. Alcuni esempi: Male(x)[x ! Bob] = Male(Bob) Male(x)[y ! Bob] = Male(x) (x childOf y)[x ! Alice] = Alice childOf y (x childOf y)[x ! Alice; y ! Elise] = Alice childOf Elise con x; y 2 V, Male 2 NC , childOf 2 NP e Alice; Bob; Elise 2 NI .
  • 56. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (2/2) L'applicazione di sostituzioni a query congiuntive si de
  • 57. nisce come segue. Sia = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. Allora (T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: Alcuni esempi: (y childOf x ^ Male(y))[x ! Alice] =Def (y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def (y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def
  • 58. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (2/2) L'applicazione di sostituzioni a query congiuntive si de
  • 59. nisce come segue. Sia = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. Allora (T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: Alcuni esempi: (y childOf x ^ Male(y))[x ! Alice] =Def y childOf Alice ^ Male(y) (y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def (y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def
  • 60. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (2/2) L'applicazione di sostituzioni a query congiuntive si de
  • 61. nisce come segue. Sia = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. Allora (T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: Alcuni esempi: (y childOf x ^ Male(y))[x ! Alice] =Def y childOf Alice ^ Male(y) (y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def y childOf Alice ^ Male(y) (y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def
  • 62. Introduzione Ontologie Interrogazioni Vocabolari Sostituzioni (2/2) L'applicazione di sostituzioni a query congiuntive si de
  • 63. nisce come segue. Sia = [x1 ! a1; : : : ; xn ! an] una sostituzione e siano T1; : : : ;Tm formule atomiche. Allora (T1 ^ : : : ^ Tm) =Def T1 ^ : : : ^ Tm: Alcuni esempi: (y childOf x ^ Male(y))[x ! Alice] =Def y childOf Alice ^ Male(y) (y childOf x ^ Male(y))[x ! Alice; z ! Bob] =Def y childOf Alice ^ Male(y) (y childOf x ^ Male(y))[x ! Alice; y ! Bob] =Def Bob childOf Alice ^ Male(Bob)
  • 64. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q de
  • 65. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 1 = [x ! Alice; y ! Daniel]. 1 e una soluzione per Q rispetto ad O?
  • 66. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 1 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
  • 68. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 1 = [x ! Alice; y ! Daniel]. 1 e una soluzione per Q rispetto ad O? SI. Q1 = Daniel childOf Alice ^ Male(Daniel):
  • 69. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 2 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q de
  • 70. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 2 = [x ! Alice; y ! Bob]. 2 e una soluzione per Q rispetto ad O?
  • 71. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 2 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
  • 73. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 2 = [x ! Alice; y ! Bob]. 2 e una soluzione per Q rispetto ad O? NO. Q2 = Bob childOf Alice ^ Male(Bob):
  • 74. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 3 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q de
  • 75. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 3 = [x ! Charlie; y ! Francis]. 3 e una soluzione per Q rispetto ad O?
  • 76. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 3 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
  • 78. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 3 = [x ! Charlie; y ! Francis]. 2 e una soluzione per Q rispetto ad O? NO. Q3 = Francis childOf Charlie ^ Male(Francis):
  • 79. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 4 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q de
  • 80. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 4 = [y ! Daniel]. 4 e una soluzione per Q rispetto ad O?
  • 81. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 4 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
  • 83. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 4 = [y ! Daniel]. 2 e una soluzione per Q rispetto ad O? NO. Q4 = Daniel childOf x ^ Male(Daniel): Anche una sostituzione sia una soluzione per una query Q (a prescindere dall'ontologia) e necessario che in compaiano tutte le variabili di Q.
  • 84. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 5 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q de
  • 85. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 5 = [x ! Elise; y ! Charlie; z ! Francis]. 5 e una soluzione per Q rispetto ad O?
  • 86. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni per una Query - Esempio 5 Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q = T1 ^ : : : ^ Tm una query congiuntiva e O una ontologia. e detta essere una soluzione per Q rispetto ad O se e solo se T1; : : : ;T2 compaiono in O. Consideriamo l'ontologia O e la query Q (Chi sono gli individui con almeno un
  • 88. nite come segue: O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): Sia 5 = [x ! Elise; y ! Charlie; z ! Francis]. 5 e una soluzione per Q rispetto ad O? SI. Q5 = Charlie childOf Elise ^ Male(Charlie):
  • 89. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni Minimali per una Query Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q una query congiuntiva e O una ontologia. e una soluzione minimale per Q rispetto a O se e solo se: 1 e una soluzione per Q rispetto ad O e inoltre 2 tutte le variabili x1; : : : ; xn che compaiono in compaiono anche in Q (criterio di minimalita). Consideriamo ad esempio O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): 5 = [x ! Elise; y ! Charlie; z ! Francis] e una soluzione minimale per Q rispetto a O?
  • 90. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni Minimali per una Query Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q una query congiuntiva e O una ontologia. e una soluzione minimale per Q rispetto a O se e solo se: 1 e una soluzione per Q rispetto ad O e inoltre 2 tutte le variabili x1; : : : ; xn che compaiono in compaiono anche in Q (criterio di minimalita). Consideriamo ad esempio O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): 5 = [x ! Elise; y ! Charlie; z ! Francis] e una soluzione minimale per Q rispetto a O? NO. 6 = [x ! Elise; y ! Charlie] e una soluzione minimale per Q rispetto a O? .
  • 91. Introduzione Ontologie Interrogazioni Vocabolari Soluzioni Minimali per una Query Siano = [x1 ! a1; : : : ; xn ! an] una sostituzione, Q una query congiuntiva e O una ontologia. e una soluzione minimale per Q rispetto a O se e solo se: 1 e una soluzione per Q rispetto ad O e inoltre 2 tutte le variabili x1; : : : ; xn che compaiono in compaiono anche in Q (criterio di minimalita). Consideriamo ad esempio O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Q = y childOf x ^ Male(y): 5 = [x ! Elise; y ! Charlie; z ! Francis] e una soluzione minimale per Q rispetto a O? NO. 6 = [x ! Elise; y ! Charlie] e una soluzione minimale per Q rispetto a O? SI.
  • 92. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering Il problema del Conjunctive Query Answering consiste nel trovare tutte le soluzioni minimali di una query congiuntiva rispetto ad una ontologia. Esse sono sempre in numero
  • 93. nito, infatti: le variabili che compaiono nelle soluzioni sono esattamente quelle che compaiono nella query, i nomi di individui che compaiono nelle soluzioni sono un sottoinsieme di quelli che compaiono nell'ontologia.
  • 94. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 1 Trova tutti gli individui maschi. Q = Male(x) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x
  • 95. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 1 Trova tutti gli individui maschi. Q = Male(x) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x Bob
  • 96. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 1 Trova tutti gli individui maschi. Q = Male(x) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x Bob Charlie
  • 97. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 1 Trova tutti gli individui maschi. Q = Male(x) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x Bob Charlie Daniel
  • 98. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 2 Chi sono gli individui con almeno un
  • 99. glio maschio? Q = y childOf x ^ Male(y) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y
  • 100. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 2 Chi sono gli individui con almeno un
  • 101. glio maschio? Q = y childOf x ^ Male(y) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y Elise Charlie
  • 102. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 2 Chi sono gli individui con almeno un
  • 103. glio maschio? Q = y childOf x ^ Male(y) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y Elise Charlie Alice Daniel
  • 104. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 2 Chi sono gli individui con almeno un
  • 105. glio maschio? Q = y childOf x ^ Male(y) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y Elise Charlie Alice Daniel Bob Daniel
  • 106. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 3 Chi sono i
  • 107. gli di Elise? Q = x childOf Elise O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x
  • 108. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 3 Chi sono i
  • 109. gli di Elise? Q = x childOf Elise O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x Alice
  • 110. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 3 Chi sono i
  • 111. gli di Elise? Q = x childOf Elise O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x Alice Charlie
  • 112. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 4 Chi sono gli individui con almeno un
  • 113. glio maschio ed una femmina? O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y z
  • 114. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 4 Chi sono gli individui con almeno un
  • 115. glio maschio ed una femmina? Q = y childOf x ^ z childOf x ^ Male(y) ^ Female(z) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y z
  • 116. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 4 Chi sono gli individui con almeno un
  • 117. glio maschio ed una femmina? Q = y childOf x ^ z childOf x ^ Male(y) ^ Female(z) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y z Elise Charlie Alice
  • 118. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 5 Chi sono gli individui maschi con almeno una
  • 119. glia femmina? O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y
  • 120. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 5 Chi sono gli individui maschi con almeno una
  • 121. glia femmina? Q = Male(x) ^ y childOf x ^ Female(y) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg x y
  • 122. Introduzione Ontologie Interrogazioni Vocabolari Conjunctive Query Answering - Esempio 5 Chi sono gli individui maschi con almeno una
  • 123. glia femmina? Q = Male(x) ^ y childOf x ^ Female(y) O = fFemale(Elise); Female(Alice); Male(Bob); Male(Charlie); Male(Daniel); Alice childOf Elise; Charlie childOf Elise; Daniel childOf Alice; Daniel childOf Bob; Francis childOf Charlieg Nessuna Soluzione
  • 124. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari Classi e proprieta vengono raggruppati in vocabolari che trattano speci
  • 125. ci domini di conoscenza (eg. organizzazioni, pubblica amministrazione, biologia, commercio, etc.). Un vocabolario puo contenere anche alcuni vincoli sulle classi e le proprieta del vocabolario stesso.
  • 128. nizione di vocabolario puo essere la seguente: V = (C; P; ) dove 1 C e un sottoinsieme
  • 129. nito di NC , 2 P e un sottoinsieme
  • 130. nito di NP, 3 e un insieme
  • 131. nito di vincoli che coinvolgano solo nomi di classi in C e nomi di proprieta in P.
  • 132. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari condivisi L'utilizzo di vocabolari condivisi (ben noti) favorisce la scalabilita orizzontale delle applicazioni. Ad esempio, una applicazione sviluppata sull'ontologia di un comune che utilizzi i vocabolari standard per le pubbliche amministrazioni (vedi le Linee Guida per la Valorizzazione del Patrimonio Informativo Pubblico dell'Agenzia per l'Italia Digitale) puo essere estesa senza sforzi aggiuntivi per utilizzare i dati provenienti dalle ontologie di tutti i comuni.
  • 133. Introduzione Ontologie Interrogazioni Vocabolari Il Vocabolario FOAF Uno dei primi e piu utilizzati vocabolari de
  • 134. niti nell'ambito del Web semantico e Friend OF A Friend (FOAF, vedi http://foaf-project.org). FOAF is a project devoted to linking people and information using the Web. In questa sede ci limiteremo solo alla parte Core. Core - These classes and properties form the core of FOAF. They describe characteristics of people and social groups that are independent of time and technology; as such they can be used to describe basic information about people in present day, historical, cultural heritage and digital library contexts. In addition to various characteristics of people, FOAF de
  • 135. nes classes for Project, Organization and Group as other kinds of agent. Related work: (tratto da FOAF Vocabulary Speci
  • 136. cation 0.99, Namespace Document 14 January 2014, Paddington Edition, http://xmlns.com/foaf/spec/)
  • 137. Introduzione Ontologie Interrogazioni Vocabolari FOAF Core Il vocabolario Foaf Core e de
  • 138. nito come segue: FOAFCore =Def (Cfoaf ; Pfoaf ; foaf ) Cfoaf =Def fAgent; Person; Project; Organization; Group; Document; Imageg Pfoaf =Def fname; title; img; depiction; depicts; familyName; givenName; ; based near ; age; made; maker ; primaryTopic; primaryTopicOf ; memberg foaf =Def fPerson v Agent; Group v Agent; Organization v Agent; Image v Document; dom(title) v Document; range(depiction) v Image; img v depiction; dom(img) v Person; dom(knows) v Person; range(knows) v Person; : : :g
  • 139. Introduzione Ontologie Interrogazioni Vocabolari Descrizioni Intuitive degli Elementi dei Vocabolari Le classi e le proprieta di un vocabolario vengono spesso fornite di una descrizione intuitiva nel documento che descrive il vocabolario. Ad esempio, le classi Agent e Person vengono descritte come segue in http://xmlns.com/foaf/spec/ Agent - The Agent class is the class of agents; things that do stu. A well known sub-class is Person, representing people. Other kinds of agents include Organization and Group. The Agent class is useful in a few places in FOAF where Person would have been overly speci
  • 140. c. For example, the IM chat ID properties such as jabberID are typically associated with people, but sometimes belong to software bots. Person - The Person class represents people. Something is a Person if it is a person. We don't nitpic about whether they're alive, dead, real, or imaginary. The Person class is a sub-class of the Agent class, since all people are considered 'agents' in FOAF.
  • 141. Introduzione Ontologie Interrogazioni Vocabolari Descrizioni Rigorose degli Elementi dei Vocabolari Tuttavia, gia nei vincoli di un vocabolario si trovano indicazioni importanti sulla semantica dei nomi di classe e di proprieta del vocabolario stesso. Person v Agent range(depiction) v Image img v depiction; dom(img) v Person; dom(knows) v Person; range(knows) v Person; : : :
  • 142. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari Compositi E possibile costruire un vocabolario estendendone un'altro. Ad esempio, il vocabolario Organization Ontology (in breve ORG, vedi http://www.w3.org/TR/vocab-org/) estende FOAF con classi e proprieta, per modellare in dettaglio le strutture organizzative di aziende, associazioni e tutte le forme di organizzazioni. Formalmente, dati due vocabolari V =Def (C; P; ) V0 =Def (C0; P0; 0) si dice che V0 importa (o estende) V se e solo se C C P P0 0
  • 143. Introduzione Ontologie Interrogazioni Vocabolari Il Vocabolario Organization Ontology Ad esempio, il vocabolario Organization Ontology (in breve ORG, vedi http://www.w3.org/TR/vocab-org/) estende FOAF con classi e proprieta, per modellare in dettaglio le strutture organizzative di aziende, associazioni e tutte le forme di organizzazioni. ORG =Def (Corg ; Porg ; org ) Corg =Def Cfoaf [ fFormalOrganization; OrganizationalUnit; Site Post; Role; : : :g Porg =Def Pfoaf [ fbasedAt; classi
  • 144. cation; hasPost; hasPrimarySite; hasRegisteredSite; hasSite; hasSubOrganization; hasUnit; headOf ; heldBy; holds; location; postIn; purpose; role; siteAddress; siteOf ; unitOf ; subOrganizationOf ; transitiveSubOrganizationOf ; : : :g org =Def foaf [ fFormalOrganization v Organization; OrganizationalUnit v Organization; headOf v member ; dom(hasUnit) v Organization; range(hasUnit) v OrganizationalUnit; : : :g
  • 145. Introduzione Ontologie Interrogazioni Vocabolari Il Vocabolario Organization Ontology Ad esempio, il vocabolario Organization Ontology (in breve ORG, vedi http://www.w3.org/TR/vocab-org/) estende FOAF con classi e proprieta, per modellare in dettaglio le strutture organizzative di aziende, associazioni e tutte le forme di organizzazioni. ORG =Def (Corg ; Porg ; org ) Corg =Def Cfoaf [ fFormalOrganization; OrganizationalUnit; Site Post; Role; : : :g Porg =Def Pfoaf [ fbasedAt; classi
  • 146. cation; hasPost; hasPrimarySite; hasRegisteredSite; hasSite; hasSubOrganization; hasUnit; headOf ; heldBy; holds; location; postIn; purpose; role; siteAddress; siteOf ; unitOf ; subOrganizationOf ; transitiveSubOrganizationOf ; : : :g org =Def foaf [ fFormalOrganization v Organization; OrganizationalUnit v Organization; headOf v memberOf ; dom(hasUnit) v Organization; range(hasUnit) v OrganizationalUnit; : : :g NOTA: I vincoli semantici esplicitano la relazione tra i due vocabolari.
  • 147. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari e Ontologie - Struttura del Comune di Catania E buona norma de
  • 148. nire ontologie facendo riferimento a vocabolari ben noti. De
  • 149. niamo ad esempio una ontologia per descrivere la struttura organizzativa del comune di Catania (vedi http://www.dmi.unict.it/~longo/comunect/) a partire dal vocabolario ORG. Il sindaco del comune di Catania e Enzo Bianco OCT = fEnzoBianco headOf ComuneCT
  • 150. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari e Ontologie - Struttura del Comune di Catania E buona norma de
  • 151. nire ontologie facendo riferimento a vocabolari ben noti. De
  • 152. niamo ad esempio una ontologia per descrivere la struttura organizzativa del comune di Catania (vedi http://www.dmi.unict.it/~longo/comunect/) a partire dal vocabolario ORG. Fanno direttamente capo al comune il gabinetto del sindaco, la polizia municipale e la direzione aari legali. OCT = org [ fEnzoBianco headOf ComuneCT; ComuneCT hasUnit GabinettoDelSindaco; ComuneCT hasUnit PoliziaMunicipale; ComuneCT hasUnit AariLegali;
  • 153. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari e Ontologie - Struttura del Comune di Catania E buona norma de
  • 154. nire ontologie facendo riferimento a vocabolari ben noti. De
  • 155. niamo ad esempio una ontologia per descrivere la struttura organizzativa del comune di Catania (vedi http://www.dmi.unict.it/~longo/comunect/) a partire dal vocabolario ORG. Il comune comprende inoltre diverse direzioni, raggruppate in due macro-aree. OCT = org [ fEnzoBianco headOf ComuneCT; ComuneCT hasUnit GabinettoDelSindaco; ComuneCT hasUnit PoliziaMunicipale; ComuneCT hasUnit AariLegali ; ComuneCT hasUnit Area1; ComuneCT hasUnit Area2;
  • 156. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari e Ontologie - Struttura del Comune di Catania E buona norma de
  • 157. nire ontologie facendo riferimento a vocabolari ben noti. De
  • 158. niamo ad esempio una ontologia per descrivere la struttura organizzativa del comune di Catania (vedi http://www.dmi.unict.it/~longo/comunect/) a partire dal vocabolario ORG. Il comune comprende inoltre diverse direzioni, raggruppate in due macro-aree. OCT = org [ fEnzoBianco headOf ComuneCT; ComuneCT hasUnit GabinettoDelSindaco; ComuneCT hasUnit PoliziaMunicipale; ComuneCT hasUnit AariLegali ; ComuneCT hasUnit Area1; ComuneCT hasUnit Area2; Area1 hasUnit RisorseUmane; Area1 hasUnit Istruzione; Area1 hasUnit Famiglia; Area1 hasUnit Ecologia; Area1 hasUnit Manutenzione; Area1 hasUnit LavoriPubblici;
  • 159. Introduzione Ontologie Interrogazioni Vocabolari Vocabolari e Ontologie - Struttura del Comune di Catania E buona norma de
  • 160. nire ontologie facendo riferimento a vocabolari ben noti. De
  • 161. niamo ad esempio una ontologia per descrivere la struttura organizzativa del comune di Catania (vedi http://www.dmi.unict.it/~longo/comunect/) a partire dal vocabolario ORG. Il comune comprende inoltre diverse direzioni, raggruppate in due macro-aree. OCT = org [ fEnzoBianco headOf ComuneCT; ComuneCT hasUnit GabinettoDelSindaco; ComuneCT hasUnit PoliziaMunicipale; ComuneCT hasUnit AariLegali; ComuneCT hasUnit Area1; ComuneCT hasUnit Area2; Area1 hasUnit RisorseUmane; Area1 hasUnit Istruzione; Area1 hasUnit Famiglia; Area1 hasUnit Ecologia; Area1 hasUnit Manutenzione; Area1 hasUnit LavoriPubblici; Area2 hasUnit Patrimonio; Area2 hasUnit ServiziDemogra
  • 162. ci; Area2 hasUnit Turismo; Area2 hasUnit Urbanistica; Area2 hasUnit AttivitaProduttive; Area2 hasUnit Economatog