Comments
Transcript
Slide Prof.re Di Noia - Studenti Democratici
Web Semantico e Linked (Open) Data: dal Web dei documenti al Web dei dati Tommaso Di Noia Politecnico di Bari http://sisinflab.poliba.it/dinoia/ [email protected] Il Web dei documenti Il Web dei documenti: vantaggi ● Vastissima quantità di informazione ● Fruibile da utenti umani ● Documenti collegati tra loro ● ● Facilità di navigazione di una base documentale Base documentale distribuita Il Web dei documenti: svantaggi ● Informazione difficilmente elaborabile in maniera automatica ● I dati non sono strutturati ● Il significato dei dati non è esplicito ● Difficoltà nel riusare e aggregare informazione disponibile Un caso di studio ”Mamma ha necessità di una visita specialistica e successivamente deve sottoporsi ad una serie di sedute di fisioterapia. Due volte a settimana o giù di lì. Vado ad impostare il mio agente software per organizzarmi gli appuntamenti.” Idea: un Web orientato ai dati T. Berners-Lee, James Hendler and Ora Lassila. The Semantic Web. Scientific American Magazine, May 2001 Come faccio per recuperare... ● ● ● ● ● la descrizione del gruppo U2 in più di una lingua? un elenco dei musei che si trovano a Roma con un link ad un'immagine relativa? una descrizione multilingua dei musei romani? l'elenco dei comuni della privincia di Bari con più di 15000 abitanti? l'elenco degli eventi che si svolgono a Roma? Database = Schema + Dati ● Il dato rappresenta l'informazione ● Lo schema serve a dare significato ai dati ● Il dato senza schema è solo una sequenza di caratteri/bit Nome Cognome Età Tommaso Di Noia 33 Michelantonio Trizio 18 Nicholas Caporusso 21 Semantic Web: database distribuito Web vs Semantic Web Web Semantic Web Analogia File System Database Progettato per Uomini Macchine (Agenti Software) Elementi principali Documenti Cose Collegamenti tra Documenti Cose Semantica Implicita Esplicita Fonte: Semantic Web: Technologies and Applications. Prof. Enrico Motta, The Open University, Milton Keynes - Uk Il Semantic Web è una evoluzione del Web La ”torta semantica” La ”torta semantica” Come si crea il Semantic Web? ● ● ● Creare degli schemi che siano in grado di modellare diversi domini di conoscenza: Ontologie Identificare esplicitamente i dati all'interno delle pagine e dare loro un significato: collegarli allo schema corrispondente Collegare i dati tra di loro Quali Tecnologie? ● RDF (Resource Description Framework) ● RDF-S (RDF Schema) ● OWL (Ontology Web Language) RDF Framework per la rappresentazione dei dati e della relazione tra essi [Soggetto] [Predicato] [Oggetto] [Tommaso Di Noia] [autore] [SW_LOD_HitF5.pdf] [Tommaso Di Noia] [insegna] [Politecnico di Bari] I predicati possono essere visti come relazioni binarie tra soggetto e oggetto RDF: Risorse e URI ● Il soggetto di una tripla deve essere univocamente identificabile dal suo URI – ”Tommaso Di Noia” è una stringa – http://sisinflab.poliba.it/dinoia/#me è un identificatore univoco Sintassi RDF - Grafo http://sisinflab.poliba.it/dinoia/#me http://purl.org/dc/elements/1.1/creator SW_LOD_HitF5.pdf http://dbpedia.org/ontology/employer http://dbpedia.org/resource/Polytechnic_University_of_Bari http://xmlns.com/foaf/0.1/name Tommaso Di Noia Sintassi RDF - N-Triples <http://sisinflab.poliba.it/dinoia/#me> <http://purl.org/dc/elements/1.1/creator> ”SW_LOD_HitF5.pdf” <http://sisinflab.poliba.it/dinoia/#me> <http://xmlns.com/foaf/0.1/name> ”Tommaso Di Noia” <http://sisinflab.poliba.it/dinoia/#me> <http://dbpedia.org/ontology/employer> <http://dbpedia.org/resource/Polytechnic_University_of_Bari> Sintassi RDF - N3 @prefix : <http://sisinflab.poliba.it/dinoia/#> . @prefix dbpedia: <http://dbpedia.org/resource/> . @prefix dc: <http://purl.org/dc/elements/1.1/> . @prefix foaf: <http://xmlns.com/foaf/0.1/> . @prefix dbpedia-owl: <http://mged.sourceforge.net/ontologies/> . @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . :me dbpedia-owl:employer dbpedia:Polytechnic_University_of_Bari; dc:creator "SW_LOD_HitF5"; foaf:name "Tommaso Di Noia" . Sintassi RDF - XML <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dbpedia-owl="http://mged.sourceforge.net/ontologies/" xmlns:dbpedia="http://dbpedia.org/resource/"> <rdf:Description rdf:about="http://sisinflab.poliba.it/dinoia/#me"> <dc:creator>SW_LOD_HitF5.pdf</dc:creator> <foaf:name>Tommaso Di Noia</foaf:name> <dbpedia-owl:employer> <dbpedia:Polytechnic_University_of_Bari/> </dbpedia-owl:employer> </rdf:Description> </rdf:RDF> RDF-S ● Permette di descrivere lo schema dei dati – Classe – Sottoclasse – Sottoproprietà – Domain – Range – Label – Commento RDF-S: esempi foaf:Person è la classe delle persone http://sisinflab.poliba.it/dinoia/#me rdf:type foaf:Person La classe acme:University è una sottoclasse di foaf:Organization acme:University rdfs:subClassOf foaf:Organization Possiamo definire una proprietà acme:lavora che ha come domain foaf:Person e come range foaf:Organization acme:lavora rdfs:domain foaf:Person acme:lavora rdfs:range foaf:Organization La proprietà acme:dirige è una sotto-proprietà di acme:lavora acme:dirige rdfs:subPropertyOf acme:lavora RDF-S: esempi dbpedia:Polytechnic_University_of_Bari rdfs:label ”Politecnico di Bari@it” dbpedia:Polytechnic_University_of_Bari rdfs:label ”Polytechnic University of Bari@en” dbpedia:Polytechnic_University_of_Bari rdfs:comment ”Il Politecnico di Bari è uno dei tre politecnici italiani...@it” RDF-S OWL ● ● ● Possibilità di creare dei vincoli tra classi molto più espressivi ed elaborati Ha una forte vocazione alla rappresentazione della conoscenza Nato dagli studi teorici sulle Logiche Descrittive Dove sono gli URI e gli schemi? Linking Open Data cloud diagram, by Richard Cyganiak and Anja Jentzsch. http://lod-cloud.net/ Linked Open Data http://linkeddata.org Linee guida per la pubblicazione 1.usare URI per dare un nome alle “cose” 2.URI HTTP: facilmente ricercabili e dereferenziabili 3.quando viene cercato un URI, restituire dati che usano tecnologie standard (come RDF e SPARQL) 4.includere nelle descrizioni link ad altri URI (Web of Data) (Linked) Open Data Star Rating ★ Disponibile sul Web in qualsiasi formato con una licenza open ★★ Disponibile in un formato che sia elaborabile in maniera automatica (es. file Excel) ★★★ Disponibile in un formato non proprietario che sia elaborabile in maniera automatica (es. file csv) ★★★★ Disponibile in un formato standard del W3C (es. RDF) ★★★★★ Come per il caso precdente + collegamento ad altri dataset liberi DBpedia DBpedia ● ● Versione di Wikipedia per il Web semantico Generato processando le informazioni presenti nelle infobox di Wikipedia DBpedia DBpedia ● Ad ogni pagina di Wikipedia (in inglese) viene associato un URI in DBpedia partendo dall'URL della pagina URL Wikipedia: http://en.wikipedia.org/wiki/The_Matrix URI Dbpedia: http://dbpedia.org/resource/The_Matrix DBpedia ● ● ● In Wikipedia in inglese esistono i collegamenti alle corrispondenti pagine in lingue diverse. Questi collegamenti vengono usati per generare delle rdfs:label ed rdfs:comment in tutte le lingue per cui la pagina di Wikipedia è disponibile. Stesso discorso vale per dbpedia:abstract Dbpedia: le categorie ● ● ● ● In Wikipedia le categorie (si trovano in fondo alla pagina) servono a classificare il contenuto della pagina Sono organizzate in una gerarchia. In DBpedia sono modellate e organizzate attraverso attraverso la proprietà skos:broader . Ogni risorsa invece è collegata alla categoria corrispondente attraverso la proprietà dcterms:subject . DBpedia: le categorie dbpedia:The_Matrix dcterms:subject category:Dystopian_films . dbpedia:The_Matrix dcterms:subject category:Warner_Bros._films . dbpedia:The_Matrix dcterms:subject category:Post-apocalyptic_films . dbpedia:The_Matrix dcterms:subject category:1999_films . category:Dystopian_films skos:broader category:Science_fiction_films_by_genre . category:Science_fiction_films_by_genre skos:broader category:Science_fiction_films . DBpedia: Lookup ● Servizio per la ricerca di risorse collegate a determinate keywords e appartenenti a delle classi specificate. http://lookup.dbpedia.org/api/search/KeywordSearch?QueryClass=film&QueryString=matrix ● ● ● QueryString. La stringa di caratteri per la quale l'URI di Dbpedia dovrebbe essere trovato. QueryClass. (opzionale) Una classe della DBpedia Ontology di cui la risorsa risultante deve essere istanza. MaxHits. (opzionale) il numero massimo di risultati restituiti (default: 5) DBpedia: YAGO, Umbel e Dbpedia Ontology ● YAGO: tassonomia di classi creata mappando le categorie di Wikipedi che non hanno sotto-categorie con i synset di Wordnet – ● ● Wordnet: databese lessicale prevalentemente per l'inglese. Un sysnset è un insieme di sinonimi UMBEL: ontologia derivata da OpenCyc creata per collegare documenti presenti sul Web con dei dati. DBpedia Ontology: ontologia in OWL sviluppata manualmente che riflette le informazioni presenti nelle infobox GoodRelations http://www.ebusiness-unibw.org/wiki/GoodRelations Triple Store ● Virtuoso Universal Server ● AllegroGraph ● Sesame ● Jena Come interrogo un dataset? Ogni dataset espone un end-point SPARQL SPARQL PREFIX dbpedia: <http://dbpedia.org/resource/> SELECT ?p ?o FROM <http://dbpedia.org> WHERE{ dbpedia:Polytechnic_University_of_Bari ?p ?o } Quanti e quali dataset sono disponibili? http://labs.mondeca.com/sparqlEndpointsStatus/ owl:sameAs SELECT ?s ?o WHERE{ {<http://dbpedia.org/resource/PHP> owl:sameAs ?o} UNION {?s owl:sameAs <http://dbpedia.org/resource/PHP>} } ?s = http://mpii.de/yago/resource/PHP ?o = { http://sw.opencyc.org/concept/Mx4rFe-OqNGXQdabyuNpQ2p2KA http://rdf.freebase.com/ns/m/060kv } Un ultimo passo... ● RDFa: RDF in attributes – Permette di integrare triple RDF all'interno di pagine XHTML – È possibile ”nascondere” l'RDF all'interno della pagina Web RDFa: esempio <?xml version="1.0" encoding="UTF8"?> <!DOCTYPE html PUBLIC "//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtmlrdfa1.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:dbpedia="http://dbpedia.org/resource/" version="XHTML+RDFa 1.0" xml:lang="en"> <head> <base href="http://www.example.org/rdfa" /> <link rel="foaf:primaryTopic" href="http://sisinflab.poliba.it/dinoia/#me"/> </head> <body about="http://sisinflab.poliba.it/dinoia/#me"> <h1>Pagina personale di Tommaso Di Noia</h1> <p><span property="foaf:name">Tommaso Di Noia</span> lavora presso il <a href="http://www.poliba.it" rel="dbpedia:employer" resource="[dbpedia:Polytechnic_University_of_Bari]"> Politecnico di Bari </a>. </p> </body> </html> RDFa: triple generate <http://www.example.org/rdfa> foaf:primaryTopic <http://sisinflab.poliba.it/dinoia/#me> . <http://sisinflab.poliba.it/dinoia/#me> dbpedia:employer dbpedia:Polytechnic_University_of_Bari; foaf:name "Tommaso Di Noia"@en . Web 2.0 e Web 3.0 ● ● Web 2.0: approccio social, tag Web 3.0: approccio social (LOD), semantic tag (RDFa) – Faviki: http://www.faviki.com – NOT: http://sisinflab.poliba.it/notonlytag / Strumenti ● ● Triplestore Librerie per la manipolazione di dati RDF in moltissimi linguaggi di programmazione: C, Java, PHP, Phyton, C#, .... ● Ragionatori (reasoners) ● http://www.w3.org/2001/sw/wiki/RDF ● http://www.w3.org/2001/sw/wiki/OWL A chi interessa il Semantic Web? A chi interessa il Semantic Web? http://stores.bestbuy.com/840/semanticweb.rdf A chi interessa il Semantic Web? Fonte: Semantic Web: Technologies and Applications. Prof. Enrico Motta, The Open University, Milton Keynes - Uk Open Government (Linked) Open Data e Italia ● http://dati.gov.it ● http://dati.camera.it ● http://spcdata.digitpa.gov.it ● http://www.dati.salute.gov.it/ ● http://it.dbpedia.org/datasets/ Tommaso Di Noia Politecnico di Bari http://sisinflab.poliba.it/dinoia/ [email protected]