Web 2.0 -- Modulo B Web 2.0 e Semantic Web
Transcript
Web 2.0 -- Modulo B Web 2.0 e Semantic Web
Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Web 2.0 – Modulo B Web 2.0 e Semantic Web: tecnologie e applicazioni Andrea Perego DICOM, Università degli Studi dell’Insubria, Varese, Italy I Semestre, 1o ottobre 2008 – 14 novembre 2008 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Indice 1 Introduzione Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web 2 Web 2.0 3 Semantic Web 4 Semantic Web e Web 2.0 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Indice 1 Introduzione Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web 2 Web 2.0 3 Semantic Web 4 Semantic Web e Web 2.0 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Cos’è il Web 2.0 Non esiste una definizione condivisa Alcune accezioni: Un Web dove gli utenti sono sia fruitori che creatori di contenuti Un Web dove il feedback degli utenti influisce sui contenuti e servizi forniti dai content / service provider Un Web utilizzato dagli utenti come una piattaforma per la creazione e condivisione di contenuti Non indica un’evoluzione del Web in senso tecnologico, ma un cambiamento di come gli utenti e gli sviluppatori utilizzano tecnologie esistenti Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Storia del termine Il termine “Web 2.0” compare per la prima volta nel 2004 come titolo di una conferenza (la “Web 2.0 Conference” 1 , appunto) La sua iniziale definizione sottolineava l’idea del “Web come piattaforma” A partire da esso furono coniati i termini: “Web 1.0”: il Web prima del Web 2.0 – i.e., fino al 2001 “Web 1.5”: la fase intermedia tra il Web 1.0 e il Web 2.0 “Web 3.0”: il Web dopo il Web 2.0 1 URL: http://www.web2summit.com/web2con Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Alcune possibili distinzioni Web 1.0: pagine Web statiche (HTML) pubblicate da content provider e utenti con account su server Web 1.5: pagine Web dinamiche (HTML + CGI + database) pubblicate da content provider e utenti con accesso a servizi di hosting Web 2.0: il Web come piattaforma per la creazione, aggregazione e condivisione di contenuti da parte degli utenti finali Web 3.0: il Web come piattaforma per la creazione, aggregazione e condivisione di contenuti e servizi da parte degli utenti finali Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Il Web 2.0 secondo Tim Berners-Lee (2006) Web 1.0 was all about connecting people. It was an interactive space, and I think Web 2.0 is of course a piece of jargon, nobody even knows what it means. If Web 2.0 for you is blogs and wikis, then that is people to people. But that was what the Web was supposed to be all along. And in fact, you know, this ‘Web 2.0,’ it means using the standards which have been produced by all these people working on Web 1.0.2 2 Intervista a Tim Berners-Lee, 22 agosto 2006: http://www.ibm.com/developerworks/podcast/dwi/cm-int082206txt.html Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Tecnologie impiegate nel Web 2.0 (X)HTML + CSS: separazione tra rappresentazione e presentazione di un documento XML, XPath, XQuery, XSLT: rappresentazione, estrazione, trasformazione dei dati RSS, Atom: Web syndacation Microformats ((X)HTML + RDF), GRDDL: integrazione di metadati in pagine Web e loro estrazione Web Service (SOAP + WSDL, REST): API standardizzate che permettono l’utilizzo e l’aggregazione di servizi Ajax (JavaScript + XML + Web Service): il Web come desktop application, creazione di mash-up Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Alcuni framework e servizi impiegati dal Web 2.0 Wiki Forum Weblog Virtual community Social networking Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Attività specifiche del Web 2.0 Collaborative Web sites (Wikipedia) Collaborative rating (Amazon) Collaborative/social tagging → folksonomy (Delicious) User-generated content, consumer-generated media (blog, condivisione di file multimediali) Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web La tag cloud del Web 2.0 Fonte: Wikipedia Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Alcuni problemi aperti Trust: come garantire l’affidabilità dello user-generated content? Privacy: come proteggere la privacy degli utenti? Access control: come regolare l’accesso alle risorse condivise? Folksonomy: come renderle effettivamente utilizzabili? Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Indice 1 Introduzione Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web 2 Web 2.0 3 Semantic Web 4 Semantic Web e Web 2.0 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Cos’è il Semantic Web The Semantic Web is not a separate Web but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation. The first steps in weaving the Semantic Web into the structure of the existing Web are already under way. In the near future, these developments will usher in significant new functionality as machines become much better able to process and “understand” the data that they merely display at present.3 3 Tim Berners-Lee, James Hendler, Ora Lassila. The Semantic Web. Scientific American, May 2001 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web The Semantic Web stack (o layer cake) Fonte: World Wide Web Consortium Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Caratteristiche Il Semantic Web nasce dalla volontà di creare un insieme di strumenti standard per una descrizione delle risorse che sia processabile dalle macchine, così da automatizzare il processo di reperimento e scelta di informazioni e servizi Lo scopo è la costruzione di un framework di servizi che può essere integrato all’interno del Web attuale Come la maggior parte degli standard adottati nel Web, i building block del Semantic Web sono definiti dalle specifiche tecniche del World Wide Web Consortium Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web URI/IRI (Uniform/Internationalized Resource Identifiers) Gli URI/IRI sono, assieme al protocollo HTTP(S) e al linguaggio HTML, una delle basi su cui si fonda il Web Gli URI sono identificatori costruiti con una precisa sintassi La loro funzione è identificare univocamente una qualsiasi risorsa (anche non digitale e/o disponibile via Internet) URL (Uniform Resource Locator) e URN (Uniform Resource Name) sono sottoinsiemi degli URI Gli IRI sono un’estensione degli URI, realizzata per permettere l’utilizzo di caratteri non ASCII In quanto tali, gli URI sono un sottoinsieme degli IRI Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Esempi di URI/IRI ftp://ftp.is.co.za/rfc/rfc1808.txt http://www.ietf.org/rfc/rfc2396.txt ldap://[2001:db8::7]/c=GB?objectClass?one mailto:[email protected] news:comp.infosystems.www.servers.unix tel:+1-816-555-1212 telnet://192.0.2.16:80/ urn:oasis:names:specification:docbook:dtd:xml:4.1.2 http://www.astronomía.net/estrella/vega.html mailto:josé.ramí[email protected] Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web XML (Extensible Markup Language) Fornisce un formato standard per la rappresentazione dei dati È un metalinguaggio, cioè un linguaggio che fornisce un insieme di costrutti per la creazione di linguaggi che condividono la stessa sintassi È un sottoinsieme dell’SGML (Standard Generalized Markup Language), un metalinguaggio di marcatura sviluppato nell’ambito dell’editoria tradizionale, e diventato standard nel 1986 L’HTML appartiene alla stessa famiglia, in quanto linguaggio definito attraverso l’SGML L’XHTML è la ridefinizione dell’HTML a partire dall’XML Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Un esempio di documento XML che usa il “dialetto” RSS 1 2 3 4 5 6 7 8 9 10 11 12 13 <? x m l v e r s i o n=" 1 . 0 " e n c o d i n g =" u t f −8" ?> < r s s v e r s i o n=" 2 . 0 "> <c h a n n e l> < t i t l e > P u b l i c a t i o n s @ DaWSec</ t i t l e > < l i n k> h t t p : //www . di c om . u n i n s u b r i a . i t / daw sec /? s e c=p u b s</ l i n k> < l a s t B u i l d D a t e>Mon , 08 Sep 2008 10 : 0 6 : 3 0 +0200</ l a s t B u i l d D a t e> <i t e m> < t i t l e >B a r b a r a C a r m i n a t i , E l e n a F e r r a r i , Andr ea P e r e g o . S e c u r i t y and P r i v a c y i n S o c i a l N e t w o r k s ( 2 0 0 8 ) . I n : E n c y c l o p e d i a o f I n f o r m a t i o n S c i e n c e and T e c h n o l o g y , 2 nd E d i t i o n . I G I P u b l i s h i n g , pp . 3369 −3376 , 2 0 0 8 .</ t i t l e > <c a t e g o r y>Book c h a p t e r s</ c a t e g o r y> < l i n k> h t t p : //www . di c om . u n i n s u b r i a . i t / daw sec / p u b s / IST 3369 . p d f</ l i n k> </ i t e m> </ c h a n n e l> </ r s s> Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web RDF (Resource Description Framework) È il linguaggio utilizzato per descrivere ogni risorsa identificata da un URI/IRI Ogni enunciato RDF ha la forma di una tripla hsoggetto, predicato, oggettoi, in cui ognuna delle componenti è identificata da un URI/IRI Tale sintassi viene astratta utilizzando un modello a grafo in cui soggetto e oggetto sono nodi, mentre i predicati sono archi etichettati e orientati: soggetto predicato oggetto L’RDF è comunque esprimibile utilizzando la sintassi dell’XML Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Un esempio di documento (grafo) RDF http://authority.example.org/foaf.rdf#alice http://xmlns.com/foaf/0.1/maker http://www.example.org http://purl.org/dc/terms/0.1/issued 2007-12-14 1 2 3 4 5 6 7 8 9 <? x m l v e r s i o n=" 1 . 0 " ?> <r d f : R D F x m l n s : f o a f=" h t t p : // x m l n s . com/ f o a f / 0 . 1 / " x m l n s : r d f=" h t t p : //www . w3 . o r g /1999/02/22 − r d f −s y n t a x −n s#" x m l n s : d c t e r m s=" h t t p : // p u r l . o r g / dc / t e r m s / 0 . 1 / "> < r d f : D e s c r i p t i o n r d f : a b o u t =" h t t p : //www . e x a m p l e . o r g "> <f o a f : m a k e r r d f : r e s o u r c e =" h t t p : // a u t h o r i t y . e x a m p l e . o r g / f o a f . r d f# a l i c e " /> < d c t e r m s : i s s u e d>2007−12−14</ d c t e r m s : i s s u e d> </ r d f : D e s c r i p t i o n> </ r d f : R D F> Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web SPARQL (Simple Protocol and RDF Query Language) Definisce un protocollo e un linguaggio per interrogare grafi RDF Attraverso di esso è possibile estrarre, da uno o più grafi RDF, enunciati che soddisfino certe condizioni Il protocollo descrive struttura e contenuto dei messaggi che devono essere scambiati tra l’agent che effettua la query e quello che che risponde ad essa (endpoint) Il linguaggio è modellato a partire dall’SQL Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web RDFS (RDF Schema) I Permette la definizione di vocabolari RDF, attraverso cui è possibile classificare e descrivere le proprietà delle risorse I due costrutti principali sono rdfs:Class e rdf:Property rdfs:Class viene impiegato per definire classi di risorse che possono essere soggetti o oggetti di enunciati RDF rdfs:Property è impiegato per definire i predicati (che in RDF sono denominati proprietà) Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web RDFS (RDF Schema) II Per le classi è possibile definire relazioni di sottoclasse (rdfs:subClassOf) Per le proprietà è possibile definire relazioni di sottoproprietà (rdfs:subPropertyOf), oltre a specificare su quali (classi di) risorse si applica (rdfs:domain, rdfs:range) Altri costrutti supportati da RDFS: contenitori (per descrivere gruppi di risorse) collezioni RDF (contenitori “chiusi”) reificazione (per esprimere enunciati che hanno come soggetto e/o oggetto altri enunciati) Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web OWL (Web Ontology Language) I Estende RDFS con ulteriori costrutti per la definizione di classi e proprietà, attraverso cui è possibile definire ontologie OWL e utilizzare motori inferenziali per il ragionamento automatico Alcune caratteristiche: relazioni di equivalenza, disgiunzione, congiunzione e negazione; restrizioni su proprietà proprietà simmetriche, transitive, inverse, funzionali Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web OWL (Web Ontology Language) II Esistono tre “versioni” di OWL: OWL Lite: decidibile (complessità di tipo esponenziale) OWL DL: decidibile (complessità di tipo esponenziale non deterministico) OWL Full: indecidibile Tra di essi vale la relazione: OWL Lite ⊂ OWL DL ⊂ OWL Full (⊃ RDFS) Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web RIF (Rule Interchange Format) I linguaggi a regole costituiscono un’ulteriore estensione semantica, che permette di aumentare l’espressività di OWL Esistono diversi linguaggi a regole per il Semantic Web (ad es., SWRL e N3Logic), che utilizzano come base le regole di Horn: p1 ∧ · · · ∧ pn → q L’importanza delle regole sta nel fatto che possono essere utilizzate per svariate applicazioni. Ad es.: specifica di regole inferenziali non supportate da RDF/OWL specifica di politiche per il controllo dell’accesso e per la protezione della privacy specifica di preferenze degli utenti Il RIF definische un formato standard per l’interscambio di regole, in modo da far comunicare tra loro sistemi che impiegano linguaggi a regole e motori inferenziali diversi Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Le ultime componenti dello stack Unifying logic Fornisce un framework logico che permette di integrare i livelli sottostanti Proof Permette di verificare la correttezza delle inferenze Trust Verifica l’attendibilità delle informazioni veicolate dai livelli sottostanti. Il livello precedente (proof) è utilizzato per verificare l’attendibilità di informazioni inferite Crypto Utilizzo di tecniche crittografiche per garantire l’autenticità, ed eventualmente la confidenzialità, delle informazioni UI & Applications Usufruiscono dei servizi e informazioni fornite dai livelli sottostanti Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Indice 1 Introduzione Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web 2 Web 2.0 3 Semantic Web 4 Semantic Web e Web 2.0 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Vantaggi per il Semantic Web Alcuni esempi: Collaborative tagging Uno dei maggiori problemi del Semantic Web è l’acquisizione e l’aggiornamento della conoscenza: le folksonomy forniscono una soluzione al problema Collaborative rating Può fornire un supporto per il livello del Semantic Web denominato trust, per decidere l’affidabilità delle informazioni Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Cos’è il Web 2.0 Cos’è il Semantic Web L’integrazione tra Web 2.0 e Semantic Web Vantaggi per il Web 2.0 Le ontologie possono essere utilizzate per dare ordine e una precisa semantica alle folksonomy, e a garantire l’interoperabilità semantica tra folksonomy diverse A partire da ciò, diventa possibile integrare metadati del Web 2.0 con metadati del Semantic Web, e ad applicare sui primi tutti gli strumenti che il Semantic Web offre (interrogazioni, regole, inferenza, etc.) Il risultato è una semplificazione della procedura necessaria al reperimento e aggregazione di informazioni, alla valutazione della loro attendibilità, all’applicazione di politiche in senso lato (ad es., preferenze degli utenti, controllo dell’accesso, protezione della privacy) Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Letture consigliate La voce “Web 2.0” in Wikipedia fornisce un’elenco di documenti in cui viene discusso il “significato” del termine Sul Semantic Web: Tim Berners-Lee, James Hendler, Ora Lassila. The Semantic Web. Scientific American, May 2001 Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Riferimenti utili I Ajax (Asynchronous Javascript and XML): http://en.wikipedia.org/wiki/AJAX DOM (Document Object Model): http://en.wikipedia.org/wiki/Document_Object_Model XMLHttpRequest: http://en.wikipedia.org/wiki/XMLHttpRequest XML (Extensible Markup Language): http://www.w3.org/XML/ XHTML (Extensible Hypertext Markup Language): http://www.w3.org/MarkUp/ XSL (Extensible Stylesheet Language): http://www.w3.org/Style/XSL/ Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Riferimenti utili II XSLT (XSL Transformations): http://www.w3.org/TR/xslt Web Services: http://www.w3.org/2002/ws/ SOAP (Simple Object Access Protocol): http://www.w3.org/TR/soap/ RDF (Resource Description Framework): http://www.w3.org/RDF/ SPARQL (Simple Protocol and RDF Query Language): http://www.w3.org/TR/rdf-sparql-query/ RDFS (RDF Schema): http://www.w3.org/TR/rdf-schema/ OWL (Web Ontology Language): http://www.w3.org/2004/OWL/ Andrea Perego Corso Web 2.0 – Modulo B Introduzione Web 2.0 Semantic Web Semantic Web e Web 2.0 Riferimenti utili III Microformats: http://microformats.org/ GRDDL (Gleaning Resource Descriptions from Dialects of Languages): http://www.w3.org/2001/sw/grddl-wg/ RIF (Rule Interchange Format): http://www.w3.org/2005/rules/ Andrea Perego Corso Web 2.0 – Modulo B