introduzione ai linked open data e al web semanticolongo/lod/corsolod2015_sistemidistribuiti.pdf ·...

89
Introduzione Ontologie Vocabolari Interrogazioni SPARQL Introduzione ai Linked Open Data e al Web Semantico Cristiano Longo [email protected] Universit` a di Catania, 11 Giugno 2015

Upload: vantu

Post on 17-Feb-2019

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Introduzione ai Linked Open Data e al Web Semantico

Cristiano [email protected]

Universita di Catania, 11 Giugno 2015

Page 2: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Argomenti

Questa presentazione trattera i seguenti argomenti:

Motivazioni del Web Semantico

Definizione formale di Ontologie

Interrogazioni sulle Ontologie

Vocabolari

Page 3: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Open Knowledge Foundation

Open means anyone can freely access, use, modify, and share for any purpose(subject, at most, to requirements that preserve provenance and openness).1

da Open Knowledge Foundation: The Open Definition

1http://opendefinition.org

Page 4: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 5: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 6: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 7: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 8: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 9: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 10: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Open Data - Agenzia per l’Italia Digitale

Nelle LINEE GUIDA NAZIONALI PER LA VALORIZZAZIONE DEL PATRIMONIOINFORMATIVO PUBBLICO, emanate dall’Agenzia per l’Italia Digitale (AgID)vengono riportate le seguenti definizioni a) formato dei dati di tipo aperto, unformato di dati reso pubblico, documentato esaustivamente e neutro rispetto aglistrumenti tecnologici necessari per la fruizione dei dati stessi;

b) dati di tipo aperto, i dati che presentano le seguenti caratteristiche: 1) sonodisponibili secondo i termini di una licenza che ne permetta l’utilizzo da parte dichiunque, anche per finalita commerciali, in formato disaggregato; 2) sono accessibiliattraverso le tecnologie dell’informazione e della comunicazione, ivi comprese le retitelematiche pubbliche e private, in formati aperti ai sensi della lettera a), sono adattiall’utilizzo automatico da parte di programmi per elaboratori e sono provvisti deirelativi metadati;

3) sono resi disponibili gratuitamente attraverso le tecnologie dell’informazione e dellacomunicazione, ivi comprese le reti telematiche pubbliche e private, oppure sono residisponibili ai costi marginali sostenuti per la loro riproduzione e divulgazione.L’Agenzia per l’Italia digitale deve stabilire, con propria deliberazione, i casieccezionali, individuati secondo criteri oggettivi, trasparenti e verificabili, in cui essisono resi disponibili a tariffe superiori ai costi marginali. [...]

Page 11: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Limiti del World Wide Web (1/4)

Tecnicamente, e sufficiente pubblicare le informazioni su un sito web o comedocumenti non strutturati, ma usando formati aperti?

The Web was designed as an information space, with the goal that it shouldbe useful not only for human-human communication, but also that machineswould be able to participate and help. One of the major obstacles to this hasbeen the fact that most information on the Web is designed for humanconsumption, and even if it was derived from a database with well definedmeanings (in at least some terms) for its columns, that the structure of thedata is not evident to a robot browsing the web.

Semantic Web Roadmap, Tim Berners-Lee, 1998.

Page 12: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Limiti del World Wide Web (1/4)

Tecnicamente, e sufficiente pubblicare le informazioni su un sito web o comedocumenti non strutturati, ma usando formati aperti?

The Web was designed as an information space, with the goal that it shouldbe useful not only for human-human communication, but also that machineswould be able to participate and help. One of the major obstacles to this hasbeen the fact that most information on the Web is designed for humanconsumption, and even if it was derived from a database with well definedmeanings (in at least some terms) for its columns, that the structure of thedata is not evident to a robot browsing the web.

Semantic Web Roadmap, Tim Berners-Lee, 1998.

Page 13: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Limiti del World Wide Web (2/4)

Alcuni problemi nell’interpretazione di testi derivano da:

Lingue Differenti 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, . . . );

Page 14: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Limiti del World Wide Web (3/4)

La situazione si complica in presenza di contenuti multimediali.

Page 15: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Limiti del World Wide Web (4/4)

Come conseguenza, spesso e impossibile eseguire su web ricerce complesse ottenendorisultati accurati. Ad esempio, cercando sul web “Federico II places” non si ottengonorisultati 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

Page 16: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Il Web Semantico

[. . . ] the Semantic Web approach instead develops languages for expressinginformation in a machine processable form.

Semantic Web Roadmap, Tim Berners-Lee, 1998.

Figure : Federico II su dbpedia.org

Page 17: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

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

Page 18: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle

Il w3c propone un modello per la qualita degli open data denominato classificazione a5 stelle.2 Riportiamo il diagramma della classificazione 5 stelle riportato nelle lineeguida dall’Agid.

2http://5stardata.info

Page 19: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Dimensioni

La classificazione 5 stelle viene estesa dall’AgID con alcune dimensioni esplicative:

INFORMAZIONE - descrive la qualita dell’informazione fornita insieme ai dati;

ACCESSO - descrive la facilita con cui utenti e programmi riescono ad accedereai dati;

SERVIZI - riguarda le tipologie e l’efficienza dei servizi che possono essererealizzati a partire dai dati.

Page 20: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Dimensioni

La classificazione 5 stelle viene estesa dall’AgID con alcune dimensioni esplicative:

INFORMAZIONE - descrive la qualita dell’informazione fornita insieme ai dati;

ACCESSO - descrive la facilita con cui utenti e programmi riescono ad accedereai dati;

SERVIZI - riguarda le tipologie e l’efficienza dei servizi che possono essererealizzati a partire dai dati.

Page 21: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Dimensioni

La classificazione 5 stelle viene estesa dall’AgID con alcune dimensioni esplicative:

INFORMAZIONE - descrive la qualita dell’informazione fornita insieme ai dati;

ACCESSO - descrive la facilita con cui utenti e programmi riescono ad accedereai dati;

SERVIZI - riguarda le tipologie e l’efficienza dei servizi che possono essererealizzati a partire dai dati.

Page 22: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Una Stella

Una Stella: Open Licence

La prima stella si ottiene rilasciando i dati in qualunque formato ma con una licenzaaperta. Rientrano in questa categoria ad esempio le scansioni dei documenti.

INFORMAZIONE: documenti - i dati sono incorporati all’interno di documentisenza struttura;

ACCESSO: solo umano - solo gli umani sono in grado di leggere i documentisenza struttura e quindi dare un senso ai dati in esso presenti;

SERVIZI: nessuno puo essere abilitato a meno di significativi interventi umani diestrazione ed elaborazione;

Page 23: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Una Stella

Una Stella: Open Licence

La prima stella si ottiene rilasciando i dati in qualunque formato ma con una licenzaaperta. Rientrano in questa categoria ad esempio le scansioni dei documenti.

INFORMAZIONE: documenti - i dati sono incorporati all’interno di documentisenza struttura;

ACCESSO: solo umano - solo gli umani sono in grado di leggere i documentisenza struttura e quindi dare un senso ai dati in esso presenti;

SERVIZI: nessuno puo essere abilitato a meno di significativi interventi umani diestrazione ed elaborazione;

Page 24: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Una Stella

Una Stella: Open Licence

La prima stella si ottiene rilasciando i dati in qualunque formato ma con una licenzaaperta. Rientrano in questa categoria ad esempio le scansioni dei documenti.

INFORMAZIONE: documenti - i dati sono incorporati all’interno di documentisenza struttura;

ACCESSO: solo umano - solo gli umani sono in grado di leggere i documentisenza struttura e quindi dare un senso ai dati in esso presenti;

SERVIZI: nessuno puo essere abilitato a meno di significativi interventi umani diestrazione ed elaborazione;

Page 25: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Due Stelle

Due Stelle: Open Licence, (Machine) Readable

La seconda stella si ottiene se i dati sono forniti in un formato leggibile da un agenteautomatico.Rientrano in questa categoria ad esempio i files in formato excel.

INFORMAZIONE: dati grezzi (o semi-strutturati) - i dati sono leggibili anche daun programma ma necessita un intervento umano per interpretarli;

ACCESSO: umano e semi-automatico - i software possono leggere i dati ma nonsono in grado di interpretarli automaticamente;

SERVIZI: non efficienti - servizi realizzati ad-hoc e devono incorporare al lorointerno i dati;

Page 26: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Due Stelle

Due Stelle: Open Licence, (Machine) Readable

La seconda stella si ottiene se i dati sono forniti in un formato leggibile da un agenteautomatico.Rientrano in questa categoria ad esempio i files in formato excel.

INFORMAZIONE: dati grezzi (o semi-strutturati) - i dati sono leggibili anche daun programma ma necessita un intervento umano per interpretarli;

ACCESSO: umano e semi-automatico - i software possono leggere i dati ma nonsono in grado di interpretarli automaticamente;

SERVIZI: non efficienti - servizi realizzati ad-hoc e devono incorporare al lorointerno i dati;

Page 27: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Due Stelle

Due Stelle: Open Licence, (Machine) Readable

La seconda stella si ottiene se i dati sono forniti in un formato leggibile da un agenteautomatico.Rientrano in questa categoria ad esempio i files in formato excel.

INFORMAZIONE: dati grezzi (o semi-strutturati) - i dati sono leggibili anche daun programma ma necessita un intervento umano per interpretarli;

ACCESSO: umano e semi-automatico - i software possono leggere i dati ma nonsono in grado di interpretarli automaticamente;

SERVIZI: non efficienti - servizi realizzati ad-hoc e devono incorporare al lorointerno i dati;

Page 28: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Tre Stelle

Tre Stelle: Open Licence, (Machine) Readable, Open Format

La terza stella viene attribuita se i dati sono rilasciati in un formato aperto. Rientranoin questa categoria ad esempio i files jsono, csv, xml.

INFORMAZIONE: dati grezzi (o semi-strutturati) - i dati sono leggibili anche daun programma ma necessita un intervento umano per interpretarli;

ACCESSO: umano e semi-automatico - i software possono leggere i dati ma nonsono in grado di interpretarli automaticamente;

SERVIZI: non efficienti - servizi realizzati ad-hoc e devono incorporare al lorointerno i dati;

Page 29: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Quattro Stelle

Quattro Stelle: Open Licence, (Machine) Readable, Open Format, URI

La quarta stella si ottiene esponendo i dati con le tecnologie del web semantico (RDFe SPARQL).

INFORMAZIONE: dati arricchiti semanticamente - i dati sono descritti usandotecnologie del Web Semantico;

ACCESSO: umano e automatico - i software sono in grado di elaborare i datiquasi senza ulteriori interventi umani (livelli 4 e 5);

SERVIZI: efficienti - servizi che sfruttano accessi diretti a Web per reperire i dati.

Page 30: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Quattro Stelle

Quattro Stelle: Open Licence, (Machine) Readable, Open Format, URI

La quarta stella si ottiene esponendo i dati con le tecnologie del web semantico (RDFe SPARQL).

INFORMAZIONE: dati arricchiti semanticamente - i dati sono descritti usandotecnologie del Web Semantico;

ACCESSO: umano e automatico - i software sono in grado di elaborare i datiquasi senza ulteriori interventi umani (livelli 4 e 5);

SERVIZI: efficienti - servizi che sfruttano accessi diretti a Web per reperire i dati.

Page 31: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Quattro Stelle

Quattro Stelle: Open Licence, (Machine) Readable, Open Format, URI

La quarta stella si ottiene esponendo i dati con le tecnologie del web semantico (RDFe SPARQL).

INFORMAZIONE: dati arricchiti semanticamente - i dati sono descritti usandotecnologie del Web Semantico;

ACCESSO: umano e automatico - i software sono in grado di elaborare i datiquasi senza ulteriori interventi umani (livelli 4 e 5);

SERVIZI: efficienti - servizi che sfruttano accessi diretti a Web per reperire i dati.

Page 32: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Cinque Stelle

Cinque Stelle: Open Licence, (Machine) Readable, Open Format, URI, Linked Data

La quinta stella viene attribuita quando i dati contengono riferimenti a dataset di terzeparti.

INFORMAZIONE: dati arricchiti semanticamente - i dati sono descritti usandotecnologie del Web Semantico;

ACCESSO: umano e automatico - i software sono in grado di elaborare i datiquasi senza ulteriori interventi umani (livelli 4 e 5);

SERVIZI: efficienti e con mashup di dati - servizi che sfruttano sia accessi direttia Web sia l’informazione ulteriore catturata attraverso i link dei dati di interesse.

Page 33: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Cinque Stelle

Cinque Stelle: Open Licence, (Machine) Readable, Open Format, URI, Linked Data

La quinta stella viene attribuita quando i dati contengono riferimenti a dataset di terzeparti.

INFORMAZIONE: dati arricchiti semanticamente - i dati sono descritti usandotecnologie del Web Semantico;

ACCESSO: umano e automatico - i software sono in grado di elaborare i datiquasi senza ulteriori interventi umani (livelli 4 e 5);

SERVIZI: efficienti e con mashup di dati - servizi che sfruttano sia accessi direttia Web sia l’informazione ulteriore catturata attraverso i link dei dati di interesse.

Page 34: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Classificazione 5 Stelle - Cinque Stelle

Cinque Stelle: Open Licence, (Machine) Readable, Open Format, URI, Linked Data

La quinta stella viene attribuita quando i dati contengono riferimenti a dataset di terzeparti.

INFORMAZIONE: dati arricchiti semanticamente - i dati sono descritti usandotecnologie del Web Semantico;

ACCESSO: umano e automatico - i software sono in grado di elaborare i datiquasi senza ulteriori interventi umani (livelli 4 e 5);

SERVIZI: efficienti e con mashup di dati - servizi che sfruttano sia accessi direttia Web sia l’informazione ulteriore catturata attraverso i link dei dati di interesse.

Page 35: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie

I dataset del Web Semantico vengono spesso definiti ontologie.

Una ontologia e una descrizione parziale del mondo:

descrive una porzione del mondo, spesso e limitata ad un’unico dominio diconoscenza;

non si assume che i fatti non esplicitamente presenti nell’ontologia siano falsi(Open World Assumption).

Essa e costituita da un insieme finito di affermazioni. Ad esempio:

Tutti gli esseri umani sono mortali;

Socrate e mortale;

Alice e la madre di Roberto.

Page 36: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Affermazioni

Le affermazioni contenute in una ontologia sono di tre tipi:

Constraints: impongono dei vincoli semantici sul dominio di conoscenza che si va arappresentare. 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)

Page 37: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Reasoning

Con il termine reasoning si intende l’attivita di estrazione di conoscenza implicita inuna ontologia.

HumanBeing v Mortal ,HumanBeing(Socrate)

=⇒ Mortal(Socrate)

Le attivita di reasoning sono rese possibili dalle semantiche formali associate ailinguaggi di rappresentazione utilizzati.

Page 38: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Definizione

Siano NC , NP , NI tre insiemi infiniti, numerabili e a due a due disgiunti di nomi diclasse, proprieta e individuo, rispettivamente.

Una ontologia e un insieme finito di asserzioni dei seguenti tipi:

Sintassi Semantica

Constraints C v D (∀x)(x ∈ C → x ∈ D)R v S (∀x , y)([x , y ] ∈ R → [x , y ] ∈ S)dom(R) v C (∀x , y)([x , y ] ∈ R → x ∈ C)range(R) v C (∀x , y)([x , y ] ∈ R → y ∈ C)

Class Assertions C(a) a ∈ C

Property Assertions a P b (equivalente P(a, b)) [a, b] ∈ P

dove C ,D ∈ NC , R, S ∈ NP e a, b ∈ NI .

Page 39: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Esempio

Riportiamo un esempio di ontologia. Siano HumanBeing ,Mortal ∈ NC ,teacherOf ∈ NP , Socrate,Platone ∈ NI .

O = HumanBeing v Mortal ,range(teacherOf ) v HumanBeing ,HumanBeing(Socrate),Socrate teacherOf Platone

Page 40: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Esempio

Riportiamo un esempio di ontologia. Siano HumanBeing ,Mortal ∈ NC ,teacherOf ∈ NP , Socrate,Platone ∈ NI .

Mediante reasoning e possibile esplicitare ulteriori affermazioni.

O = HumanBeing v Mortal, O′ = Mortal(Socrate),range(teacherOf ) v HumanBeing , =⇒HumanBeing(Socrate), Socrate teacherOf Platone

Page 41: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Esempio

Riportiamo un esempio di ontologia. Siano HumanBeing ,Mortal ∈ NC ,teacherOf ∈ NP , Socrate,Platone ∈ NI .

Mediante reasoning e possibile esplicitare ulteriori affermazioni.

O = HumanBeing v Mortal , O′ = Mortal(Socrate),range(teacherOf) v HumanBeing, =⇒ HumanBeing(Platone),HumanBeing(Socrate), Socrate teacherOf Platone

Page 42: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie - Esempio

Riportiamo un esempio di ontologia. Siano HumanBeing ,Mortal ∈ NC ,teacherOf ∈ NP , Socrate,Platone ∈ NI .

Mediante reasoning e possibile esplicitare ulteriori affermazioni.

O = HumanBeing v Mortal O′ = Mortal(Socrate),range(teacherOf ) v HumanBeing , =⇒ HumanBeing(Platone)HumanBeing(Socrate), Mortal(Platone)Socrate teacherOf Platone

Page 43: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie nel Web Semantico

Le ontologie definite usando tecnologie del Web Semantico hanno particolaricaratteristiche.Innanzitutto, tutti i nomi sono URI:

NC ∪ NP ∪ NI ⊆ URI .

Possono contenere dei letterali, che vengono usati per rappresentare tipi di datoconcreti, come ad esempio stringhe di testo, numeri, date, . . .

I letterali possono comparire come oggetto di una property assertion. Alcuni esempi dirole assertion che coinvolgono letterali sono

Mario surname “Rossi ′′

Cristiano hasbirth “March − 22− 1979′′

con Mario,Cristiano ∈ NI , surname, hasbirth ∈ NP e “Rossi ′′, “March − 22− 1979′′

letterali.

E possibile vincolare una proprieta ad avere come codominio solo letterali con un certodata type (datatype property).

range(surname) v xsd : stringrange(hasbirth) v xsd : date

Page 44: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie nel Web Semantico

Le ontologie definite usando tecnologie del Web Semantico hanno particolaricaratteristiche.Innanzitutto, tutti i nomi sono URI:

NC ∪ NP ∪ NI ⊆ URI .

Possono contenere dei letterali, che vengono usati per rappresentare tipi di datoconcreti, come ad esempio stringhe di testo, numeri, date, . . .

I letterali possono comparire come oggetto di una property assertion. Alcuni esempi dirole assertion che coinvolgono letterali sono

Mario surname “Rossi ′′

Cristiano hasbirth “March − 22− 1979′′

con Mario,Cristiano ∈ NI , surname, hasbirth ∈ NP e “Rossi ′′, “March − 22− 1979′′

letterali.

E possibile vincolare una proprieta ad avere come codominio solo letterali con un certodata type (datatype property).

range(surname) v xsd : stringrange(hasbirth) v xsd : date

Page 45: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie nel Web Semantico

Le ontologie definite usando tecnologie del Web Semantico hanno particolaricaratteristiche.Innanzitutto, tutti i nomi sono URI:

NC ∪ NP ∪ NI ⊆ URI .

Possono contenere dei letterali, che vengono usati per rappresentare tipi di datoconcreti, come ad esempio stringhe di testo, numeri, date, . . .

I letterali possono comparire come oggetto di una property assertion. Alcuni esempi dirole assertion che coinvolgono letterali sono

Mario surname “Rossi ′′

Cristiano hasbirth “March − 22− 1979′′

con Mario,Cristiano ∈ NI , surname, hasbirth ∈ NP e “Rossi ′′, “March − 22− 1979′′

letterali.

E possibile vincolare una proprieta ad avere come codominio solo letterali con un certodata type (datatype property).

range(surname) v xsd : stringrange(hasbirth) v xsd : date

Page 46: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Ontologie nel Web Semantico

Le ontologie definite usando tecnologie del Web Semantico hanno particolaricaratteristiche.Innanzitutto, tutti i nomi sono URI:

NC ∪ NP ∪ NI ⊆ URI .

Possono contenere dei letterali, che vengono usati per rappresentare tipi di datoconcreti, come ad esempio stringhe di testo, numeri, date, . . .

I letterali possono comparire come oggetto di una property assertion. Alcuni esempi dirole assertion che coinvolgono letterali sono

Mario surname “Rossi ′′

Cristiano hasbirth “March − 22− 1979′′

con Mario,Cristiano ∈ NI , surname, hasbirth ∈ NP e “Rossi ′′, “March − 22− 1979′′

letterali.

E possibile vincolare una proprieta ad avere come codominio solo letterali con un certodata type (datatype property).

range(surname) v xsd : stringrange(hasbirth) v xsd : date

Page 47: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Vocabolari

Classi e proprieta vengono raggruppati in vocabolari che trattano specifici domini diconoscenza (eg. organizzazioni, pubblica amministrazione, biologia, commercio, etc.).

Un vocabolario puo contenere anche alcuni vincoli sulle classi e le proprieta delvocabolario stesso.

Page 48: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Definizione di Vocabolario

Una definizione di vocabolario puo essere la seguente:

V = (C ,P,Ω)

dove

1 C e un sottoinsieme finito di NC ,

2 P e un sottoinsieme finito di NP ,

3 Ω e un insieme finito di vincoli che coinvolgano solo nomi di classi in C e nomi diproprieta in P.

Page 49: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Vocabolari condivisi

L’utilizzo di vocabolari condivisi (ben noti) favorisce la scalabilita orizzontale delleapplicazioni.

Ad esempio, una applicazione sviluppata sull’ontologia di un comune che utilizzi ivocabolari standard per le pubbliche amministrazioni (vedi le Linee Guida per laValorizzazione del Patrimonio Informativo Pubblico dell’Agenzia per l’Italia Digitale)puo essere estesa senza sforzi aggiuntivi per utilizzare i dati provenienti dalle ontologiedi tutti i comuni.

Page 50: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Il Vocabolario FOAF

Uno dei primi e piu utilizzati vocabolari definiti nell’ambito del Web semantico eFriend 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 describecharacteristics of people and social groups that are independent of time andtechnology; as such they can be used to describe basic information aboutpeople in present day, historical, cultural heritage and digital library contexts.In addition to various characteristics of people, FOAF defines classes forProject, Organization and Group as other kinds of agent.

(tratto da FOAF Vocabulary Specification 0.99, Namespace Document 14 January2014, Paddington Edition, http://xmlns.com/foaf/spec/)

Page 51: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

FOAF Core

Il vocabolario Foaf Core e definito come segue:

FOAFCore =Def (Cfoaf ,Pfoaf ,Ωfoaf )

Cfoaf =Def Agent,Person,Project,Organization,Group,Document, Image

Pfoaf =Def name, title, img , depiction, depicts, familyName, givenName,based near , age,made,maker , primaryTopic, primaryTopicOf ,member

Ωfoaf =Def Person 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, . . .

Page 52: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Descrizioni Intuitive degli Elementi dei Vocabolari

Le classi e le proprieta di un vocabolario vengono spesso fornite di una descrizioneintuitiva nel documento che descrive il vocabolario. Ad esempio, le classi Agent ePerson vengono descritte come segue in http://xmlns.com/foaf/spec/

Agent - The Agent class is the class of agents; things that do stuff. A wellknown sub-class is Person, representing people. Other kinds of agentsinclude Organization and Group.The Agent class is useful in a few places in FOAF where Person would havebeen overly specific. For example, the IM chat ID properties such as jabberIDare typically associated with people, but sometimes belong to software bots.

Person - The Person class represents people. Something is a Person if it is aperson. We don’t nitpic about whether they’re alive, dead, real, orimaginary. The Person class is a sub-class of the Agent class, since all peopleare considered ’agents’ in FOAF.

Page 53: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Descrizioni Rigorose degli Elementi dei Vocabolari

Tuttavia, gia nei vincoli di un vocabolario si trovano indicazioni importanti sullasemantica dei nomi di classe e di proprieta del vocabolario stesso.

Person v Agentrange(depiction) v Imageimg v depiction,dom(img) v Person,dom(knows) v Person,range(knows) v Person,. . .

Page 54: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Interrogazioni

Il metodo piu immediato per ottenere informazioni da una ontologia e il ConjunctiveQuery Answering. Consideriamo ad esempio la seguente ontologia:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Alcune interrogazioni che e possibile effettuare con il conjunctive query answeringsono:

“Trova tutti gli individui maschi.”

“Chi sono gli individui con almeno un figlio maschio?”

“Chi sono i figli di Alice?”

“Chi sono gli individui con almeno un figlio maschio ed una femmina?”

“Chi sono gli individui maschi con almeno un figlio maschio?”

Page 55: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Formule Atomiche

Per definire in maniera rigorosa le query congiuntive e necessario definirepreliminarmente l’insieme delle formule atomiche.

Sia V = x , y , z, ... l’insieme infinito, numerabile e disgiunto da NC , NP e NI dellevariabili. Le formule atomiche sono espressioni dei due seguenti tipi:

C(x), P(x , y)

con x , y ∈ NI ∪ V , C ∈ NC e P ∈ 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 ∈ NC , childOf ∈ NP , Alice,Bob,Elise ∈ NI e x , y ∈ V .

Page 56: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

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 ∈ NC , childOf ∈ NP , Alice,Bob,Elise ∈ NI e x , y ∈ V .

Page 57: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

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 ∈ NC , childOf ∈ NP , Alice,Bob,Elise ∈ NI e x , y ∈ V .

Le asserzioni presenti nelle ontologie sono formule atomiche chiuse.

Page 58: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Query Congiuntive

Una query congiuntiva e una congiunzione finita di formule atomiche T1 ∧ . . . ∧ Tn.

Alcuni esempi di query congiuntive:

“Trova tutti gli individui maschi.”

Male(x)

“Chi sono gli individui con almeno un figlio maschio?”

y childOf x ∧ Male(y)

“Chi sono i figli di Alice?”x childOf Alice

con x , y ∈ V , Male,Female ∈ NC , childOf ∈ NP e Alice ∈ NI .

Page 59: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (1/2)

Per definire le soluzioni (risposte) delle query congiuntive introduciamo la nozione disostituzione.

Una sostituzione σ = [x1 → a1, . . . , xn → an] (x1, . . . , xn ∈ V , a1, . . . , an ∈ NI ) e unamappa finita 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 adogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni1 ≤ 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 ∈ V , Male ∈ NC , childOf ∈ NP e Alice,Bob,Elise ∈ NI .

Page 60: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (1/2)

Per definire le soluzioni (risposte) delle query congiuntive introduciamo la nozione disostituzione.

Una sostituzione σ = [x1 → a1, . . . , xn → an] (x1, . . . , xn ∈ V , a1, . . . , an ∈ NI ) e unamappa finita 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 adogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni1 ≤ 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 ∈ V , Male ∈ NC , childOf ∈ NP e Alice,Bob,Elise ∈ NI .

Page 61: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (1/2)

Per definire le soluzioni (risposte) delle query congiuntive introduciamo la nozione disostituzione.

Una sostituzione σ = [x1 → a1, . . . , xn → an] (x1, . . . , xn ∈ V , a1, . . . , an ∈ NI ) e unamappa finita 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 adogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni1 ≤ 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 ∈ V , Male ∈ NC , childOf ∈ NP e Alice,Bob,Elise ∈ NI .

Page 62: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (1/2)

Per definire le soluzioni (risposte) delle query congiuntive introduciamo la nozione disostituzione.

Una sostituzione σ = [x1 → a1, . . . , xn → an] (x1, . . . , xn ∈ V , a1, . . . , an ∈ NI ) e unamappa finita 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 adogni occorrenza della variabile xi il corrispondente nome di individuo ai , per ogni1 ≤ 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 ∈ V , Male ∈ NC , childOf ∈ NP e Alice,Bob,Elise ∈ NI .

Page 63: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (2/2)

L’applicazione di sostituzioni a query congiuntive si definisce 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

Page 64: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (2/2)

L’applicazione di sostituzioni a query congiuntive si definisce 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

Page 65: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (2/2)

L’applicazione di sostituzioni a query congiuntive si definisce 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

Page 66: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Sostituzioni (2/2)

L’applicazione di sostituzioni a query congiuntive si definisce 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)

Page 67: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni per una Query

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q = T1 ∧ . . . ∧ Tm una querycongiuntiva 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 definite come segue:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y)

Sia σ1 = [x → Alice, y → Daniel ]. σ1 e una soluzione per Q rispetto ad O?

Page 68: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni per una Query - Esempio 1

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q = T1 ∧ . . . ∧ Tm una querycongiuntiva 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 figliomaschio?”) definite come segue:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y)

Sia σ1 = [x → Alice, y → Daniel ]. σ1 e una soluzione per Q rispetto ad O? SI.

Qσ1 = Daniel childOf Alice ∧ Male(Daniel).

Page 69: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni per una Query - Esempio 2

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q = T1 ∧ . . . ∧ Tm una querycongiuntiva 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 definite come segue:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

Sia σ2 = [x → Alice, y → Bob]. σ2 e una soluzione per Q rispetto ad O?

Page 70: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni per una Query - Esempio 2

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q = T1 ∧ . . . ∧ Tm una querycongiuntiva 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 figliomaschio?”) definite come segue:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

Sia σ2 = [x → Alice, y → Bob]. σ2 e una soluzione per Q rispetto ad O? NO.

Qσ2 = Bob childOf Alice ∧ Male(Bob).

Page 71: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni per una Query - Esempio 3

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q = T1 ∧ . . . ∧ Tm una querycongiuntiva 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 definite come segue:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

Sia σ3 = [x → Charlie, y → Francis]. σ3 e una soluzione per Q rispetto ad O?

Page 72: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni per una Query - Esempio 3

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q = T1 ∧ . . . ∧ Tm una querycongiuntiva 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 figliomaschio?”) definite come segue:

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

Sia σ3 = [x → Charlie, y → Francis]. σ2 e una soluzione per Q rispetto ad O? NO.

Qσ3 = Francis childOf Charlie ∧ Male(Francis).

Page 73: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni Minimali per una Query

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q una query congiuntiva e O unaontologia.

σ 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 diminimalita).

Consideriamo ad esempio

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

σ5 = [x → Elise, y → Charlie, z → Francis] e una soluzione minimale per Q rispetto aO?

Page 74: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni Minimali per una Query

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q una query congiuntiva e O unaontologia.

σ 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 diminimalita).

Consideriamo ad esempio

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

σ5 = [x → Elise, y → Charlie, z→ Francis] e una soluzione minimale per Q rispetto aO? NO.

σ6 = [x → Elise, y → Charlie] e una soluzione minimale per Q rispetto a O? .

Page 75: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Soluzioni Minimali per una Query

Siano σ = [x1 → a1, . . . , xn → an] una sostituzione, Q una query congiuntiva e O unaontologia.

σ 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 diminimalita).

Consideriamo ad esempio

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y).

σ5 = [x → Elise, y → Charlie, z→ Francis] e una soluzione minimale per Q rispetto aO? NO.

σ6 = [x → Elise, y → Charlie] e una soluzione minimale per Q rispetto a O? SI.

Page 76: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering

Il problema del Conjunctive Query Answering consiste nel trovare tutte le soluzioniminimali di una query congiuntiva rispetto ad una ontologia.

Esempio 1:“Trova tutti gli individui maschi.”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = Male(x)

xBob

CharlieDaniel

Page 77: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 2

“Chi sono gli individui con almeno un figlio maschio?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ Male(y)

x yElise CharlieAlice DanielBob Daniel

Page 78: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 3

“Chi sono i figli di Elise?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = x childOf Elisex

Page 79: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 3

“Chi sono i figli di Elise?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = x childOf Elisex

AliceCharlie

Page 80: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 4

“Chi sono gli individui con almeno un figlio maschio ed una femmina?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

x y z

Page 81: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 4

“Chi sono gli individui con almeno un figlio maschio ed una femmina?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ z childOf x ∧ Male(y) ∧ Female(z)x y z

Page 82: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 4

“Chi sono gli individui con almeno un figlio maschio ed una femmina?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = y childOf x ∧ z childOf x ∧ Male(y) ∧ Female(z)x y z

Elise Charlie Alice

Page 83: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 5

“Chi sono gli individui maschi con almeno una figlia femmina?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

x y

Page 84: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 5

“Chi sono gli individui maschi con almeno una figlia femmina?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = Male(x) ∧ y childOf x ∧ Female(y)x y

Page 85: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Conjunctive Query Answering - Esempio 5

“Chi sono gli individui maschi con almeno una figlia femmina?”

O = Female(Elise),Female(Alice),Male(Bob),Male(Charlie),Male(Daniel),Alice childOf Elise,Charlie childOf Elise,Daniel childOf Alice,Daniel childOf Bob,Francis childOf Charlie

Q = Male(x) ∧ y childOf x ∧ Female(y) Nessuna soluzione

Page 86: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Il protocollo SPARQL

Le basi di conoscenza presenti sul Web Semantico usualmente mettono a disposizioneuno SPARQL endpoint che permette di interrogarle e, ove permesso, di modificarle.

Knowledge Base Endpoint IRIEuropeana http://europeana.ontotext.com/sparql

CNR http://data.cnr.it/sparql/

Camera dei Deputati http://dati.camera.it/sparql

DBPedia http://dbpedia.org/sparql

Table : Alcuni endpoint sparql

Il protocollo SPARQL (vedi http://www.w3.org/TR/sparql11-protocol/) e basatosul protocollo HTTP le richieste SPARQL vengono inviate agli endpoint come richiesteGET o POST e l’endpoint risponde con un esito.

Page 87: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

Il protocollo SPARQL

Le basi di conoscenza presenti sul Web Semantico usualmente mettono a disposizioneuno SPARQL endpoint che permette di interrogarle e, ove permesso, di modificarle.

Knowledge Base Endpoint IRIEuropeana http://europeana.ontotext.com/sparql

CNR http://data.cnr.it/sparql/

Camera dei Deputati http://dati.camera.it/sparql

DBPedia http://dbpedia.org/sparql

Table : Alcuni endpoint sparql

Il protocollo SPARQL (vedi http://www.w3.org/TR/sparql11-protocol/) e basatosul protocollo HTTP le richieste SPARQL vengono inviate agli endpoint come richiesteGET o POST e l’endpoint risponde con un esito.

Page 88: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

SPARQL Query Language

Le richieste di tipo query vanno specificate nel linguaggio denominato SPARQL Query.La specifica di questo linguaggio e disponibile all’indirizzo

http://www.w3.org/TR/sparql11-query/ .

Una query SPARQL ha la seguente sintassi

SELECT ?x1 ... ?xm WHERE Q

dove:

?x1, . . . , ?xm sono variabili (m > 0);

Q e una query congiuntiva nella quale compaiono tutte le variabili ?x1, . . . , ?xm;

le formule atomiche di tipo C(?x) sono scritte come ?x a C .

Page 89: Introduzione ai Linked Open Data e al Web Semanticolongo/lod/corsoLOD2015_sistemiDistribuiti.pdf · IntroduzioneOntologieVocabolariInterrogazioniSPARQL Introduzione ai Linked Open

Introduzione Ontologie Vocabolari Interrogazioni SPARQL

SPARQL - Esempi

Alcuni esempi di query SPARQL sono:

“Trova tutti gli individui maschi.”SELECT ?x WHERE ?x a <http://example.org/Male>

“Chi sono gli individui con almeno un figlio maschio?”SELECT ?x WHERE ?y <http://example.org/childOf> ?x .

?y a <http://example.org/Male>

“Chi sono i figli di Alice?”SELECT ?x WHERE ?x <http://example.org/childOf> <http://example.org/Alice>