SEMANTIC WEB Antonio Bucchiarone FBK-IRST Trento, Italy 13 Novembre 2009 Il web semantico - I In un certo senso abbiamo bisogno di un web che sia computer-friendly per essere più user-friendly Più le macchine saranno in grado di interpretare autonomamente le informazioni della rete più efficaci saranno i loro servizi a: trovare informazioni pertinenti prendere decisioni Il web semantico - II [WIKIPEDIA]: Con il termine web semantico, termine coniato dal suo ideatore, Tim Berners-Lee, si intende la trasformazione del World Wide Web in un ambiente dove i documenti pubblicati (pagine HTML, file, immagini, e così via) siano associati ad informazioni e dati (metadati) che ne specifichino il contesto semantico in un formato adatto all'interrogazione, all'interpretazione e, più in generale, all'elaborazione automatica. Con l'interpretazione del contenuto dei documenti che il Web Semantico propone, saranno possibili ricerche molto più evolute delle attuali, basate sulla presenza nel documento di parole chiave, ed altre operazioni specialistiche come la costruzione di reti di relazioni e connessioni tra documenti secondo logiche più elaborate del semplice link ipertestuale. Metadati per il web semantico Una risorsa dovrebbe fornire informazioni su se stessa queste sono anche chiamate "metadati" i metadati sono conservati in XML, o in un'altra forma leggibile dalle macchine dovrebbero essere definiti i vocabolari di metadati gli agenti dovrebbero essere in grado di "ragionare" sui (meta)dati Il "Web Semantico" è un'infrastruttura basata sui metadati per ragionare sul Web Esso estende il Web attuale (e non lo sostituisce) Relazione tra documenti con XML è possibile descrivere adeguatamente i contenuti di un documento ma la sintassi XML non definisce alcun meccanismo esplicito per qualificare le relazioni tra documenti. In questo non è di aiuto neppure il meccanismo dei collegamenti ipertestuali reso popolare dall'HTML in quanto non prevede la possibilità di descrivere il legame definito. In altre parole, sebbene in un documento (ad es. una pagina HTML) sia possibile parlare di un Signor Ciampi ed esprimere semanticamente questo con opportuni tag, è poi difficile capire se due documenti che parlano di un Signor Ciampi si riferiscono alla stessa persona con conseguente scarsa qualità dei risultati restituiti dai motore di ricerca. Le tecnologie per il web Il sw utilizza una serie di tecnologie di cui alcune sono ancora in fase sperimentale Alcune tecnologie sono XML RDF DTD XSL XPATH XHTML … XML è … XML = eXtensible Markup Language XML può essere definito in molti modi diversi XML è una sintassi per marcare i documenti XML è una famiglia di tecnologie correlate XML consente di aggiungere metadati (semantica) ai propri dati separare il contenuto dalla presentazione definire in maniera rigorosa il linguaggio di markup utilizzato utilizzare un formato neutrale e testuale … ma da solo XML non è sufficiente ... XML è troppo flessibile mentre è necessario un modello estremamente semplice per esprimere delle conoscenze processabili automaticamente HTML è estremamente semplice ma non flessibile e perciò può solo rappresentare informazioni senza tener conto della semantica XML non è facile come HTML Può essere un limite? Con HTML chiunque poteva pubblicare in Web XML è complesso e non tutti saranno in grado di utilizzarlo Ritorno all’epoca pre-Web? O selezione obbligata di ciò che verrà pubblicato? Resource Description Framework (RDF) RDF è un modello di metadati RDF è una piattaforma per il trattamento dei metadati RDF costituisce una ipotesi di soluzione individuata dal W3C al problema della rappresentazione dei metadati RDF è complementare a XML <http://www.w3.org/RDF/> RDF Resource Description Framework W3C Recommendation, dal Febbraio 1999 si basa su XML e spazi di denominazione Indipendente dalla piattaforma Scopo principale rendere le etichette elaborabili da agenti software oltre che leggibili dall’uomo Primi passi con RDF I dati sono descritti da asserzioni Un’asserzione e’ composta da Una risorsa una proprieta’ Pagina Web o parte di essa, intero sito Web… …sottoalbero XML …un libro … qualunque cosa dotata di URI e.g. Titolo, Data, Tipo un valore es. stringa, numero, frammento XML, un’altra risorsa Scopo e finalità di RDF realizzare un meccanismo per la descrizione di risorse definizione di un meccanismo neutrale rispetto ai domini adattabile alla descrizione di informazioni di qualsiasi dominio permettere la definizione di semantiche per dati in formato XML secondo modalità standardizzate e che mirano l'interoperabilità Cosa offre RDF RDF offre l'interoperabilità tra applicazioni che scambiano sul Web informazioni comprensibili dalle macchine il modello RDF consente di rappresentare metadati in una sintassi per la codifica e la trasmissione di metadati scambio secondo modalità che favoriscano l'interoperabilità fra server e client Web, sviluppati in modo indipendente RDF può essere usato da agenti software intelligenti per facilitare la condivisione e lo scambio di conoscenza nella valutazione di contenuto nel descrivere collezioni di pagine che rappresentano un unico "documento" logico per descrivere i diritti di proprietà intellettuale di pagine Web per esprimere le preferenze sulla riservatezza da parte di un utente così come le politiche di riservatezza di un sito Web Il modello RDF L'evoluzione del web in web semantico inizia con la definizione, da parte del W3C, dello standard Resource Description Framework (RDF), una particolare applicazione XML che standardizza la definizione di relazioni tra informazioni ispirandosi ai principi della logica dei predicati e ricorrendo agli strumenti tipici del Web (ad es. URI) e dell'XML (namespace). le informazioni sono esprimibili con asserzioni costituite da triple formate da soggetto, predicato e valore il soggetto, l'oggetto e il predicato Il Soggetto è la risorsa descritta, L’Oggetto è quell'affermazione che attribuisce ad una caratteristica della risorsa descritta un determinato valore. Il Predicato è la caratteristica o l'aspetto specifico utilizzato per la descrizione del soggetto, che determina la proprietà della risorsa descritta. Esempio di RDF - I Ad esempio, le seguenti affermazioni sul Presidente della Repubblica del in carica nel 2005: Il Signor Ciampi vive a Roma. Il Signor Ciampi ha codice fiscale CMPCLZ20T09E625V. possono essere schematicamente scomposte come Asserzione 1 Asserzione 2 Soggetto Il Signor Ciampi Il Signor Ciampi Predicato Vive a Ha codice fiscale Valore Roma CMPCLZ20T09E625V Esempio di RDF - II Asserzione 1 Asserzione 2 Soggetto Il Signor Ciampi Il Signor Ciampi Predicato Vive a Ha codice fiscale Valore Roma CMPCLZ20T09E625V Alcuni di questi elementi è possibile reperirli arbitrariamente sul Web URI (risorse) che li identificano univocamente quali: Il Signor Ciampi http://www.quirinale.it/qrnw/statico/expresidenti/Ciampi/cia-biografia.htm vive a http://it.wiktionary.org/wiki/vivere Roma http://www.comune.roma.it/index.asp Ha codice fiscale http://it.wikipedia.org/wiki/codice_fiscale Esempio di RDF - IV In questo caso, per Il Signor Ciampi si è scelto di referenziare la relativa biografia disponibile sul sito ufficiale del Quirinale Roma si è scelto di utilizzare il sito istituzionale del Comune di Roma vive a si è scelto di referenziare la definizione del verbo vivere disponibile su wikidizionario ha codice fiscale si è scelto di referenziare la definizione di codice fiscale disponibile su wikipedia Il linguaggio RDF E’ una delle più importanti raccomandazioni del W3C. Molti motori di ricerca stanno già usando RDF per descrivere il contenuto dei loro motori di ricerca. Tuttavia RDF ha senso se c’è attiva partecipazione da parte degli autori di siti, e ad oggi non esistono software ragionevoli per esprimere gradevolmente queste informazioni. RDF è composto da due documenti: Model and Syntax Specification (W3C Recommendation del 25 marzo 2002): espone la struttura fondamentale del modello RDF, e descrive una possibile sintassi basata su XML. RDF Schema (W3C Candidate Recommendation 27 March 2000): espone la sintassi per definire schemi e vocabolari di meta-informazioni. Il modello di RDF Il modello di RDF è basato su tre concetti: Risorse: tutto ciò che viene descritto. Ogni risorsa è indentificata da un URI; può quindi essere anche un oggetto non accessibile da web. Proprietà: un attributo che voglio associare alla risorsa. E’ una coppia attributo-valore. Ogni proprietà ha un significato specifico, una serie di valori leciti, è associabile ad uno o più tipi di risorsa. Asserzioni (statement): l’associazione di una proprietà ad una risorsa. Ogni asserzione ha una struttura obbligata del tipo “soggetto”, “predicato”, “oggetto”. Soggetto (risorsa) http://www.host.org/~mrossi Predicato (proprietà) Autore Oggetto (letterale) “Mario Rossi” Rappresentazione grafica (1) La proprietà “Autore” della risorsa “http://www.host.org/~mrossi” vale “Mario Rossi” http://www.host.org/~mrossi Risorsa (ovale) Autore Mario Rossi Proprietà (freccia) Letterale (rettangolo) Rappresentazione grafica (2) La proprietà “Autore” della risorsa “http://www.host.org/~mrossi” è “Mario Rossi”, che ha email “[email protected]”. Autore http://people.com/id/1375 http://www.host.org/~mrossi Nome Mario Rossi Email [email protected] Sintassi estesa (1) Il primo caso diventa in sintassi estesa: <rdf:Description rdf:about="http://www.host.org/~mrossi"> <s:Autore>Mario Rossi</s:Autore> </rdf:Description> Il secondo caso: <rdf:Description rdf:about="http://www.host.org/~mrossi"> <s:Autore rdf:resource=”http://people.com/id/1375"/> </rdf:Description> <rdf:Description rdf:about=”http://people.com/id/1375"> <s:Nome>Mario Rossi</s:Nome> <s:Email>[email protected]</s:Email> </rdf:Description> Sintassi estesa (2) Il secondo esempio è equivalente alla seguente forma: <rdf:Description rdf:about="http://www.host.org/~mrossi"> <s:Autore> <rdf:Description rdf:about=”http://people.com/id/1375"> <s:Nome>Mario Rossi</s:Nome> <s:Email>[email protected]</s:Email> </rdf:Description> </s:Autore> </rdf:Description> Tipizzazione E’ possibile assegnare ad ogni risorsa un tipo appartenente ad uno schema di meta informazioni: <rdf:Description rdf:about="http://www.host.org/~mrossi"> <s:Autore> <rdf:Description rdf:about=”http://people.com/id/1375"> <rdf:type rdf:resource="/myschema.rdf#Persona"/> <s:Nome>Mario Rossi</s:Nome> <s:Email>[email protected]</s:Email> </rdf:Description> </s:Autore> </rdf:Description> L’attributo rdf:type specifica l’URI della definizione del tipo. Prima sintassi abbreviata Esistono alcune forme equivalenti ma più compatte. Il primo esempio è equivalente alla seguente forma: <rdf:Description rdf:about="http://www.host.org/~mrossi” s:Autore=“Mario Rossi” /> I predicati (s:Autore) che hanno come oggetto elementi di tipo stringa (“Mario Rossi”) e non sono ripetuti vengono direttamente inseriti come attributi di “rdf:Description”. Seconda sintassi abbreviata Applicando la seconda sintassi abbreviata al secondo esempio si ottiene: <rdf:Description rdf:about="http://www.host.org/~mrossi”> <s:Autore rdf:about=“http://people.com/id/1375” s:Nome=“Mario Rossi” s:[email protected]/> </rdf:Description> E’ applicabile quando l’oggetto di un’asserzione è una risorsa le cui proprietà hanno come valore un letterale. Terza sintasi abbreviata E’ possibile usare il valore del tipo come predicato: <rdf:Description about="http://www.host.org/~mrossi"> <s:Autore> <s:Persona rdf:about=“http://people.com/id/1375”> <s:Nome>Mario Rossi</s:Nome> <s:Email>[email protected]</s:Email> </s:Persona> </s:Autore> </rdf:Description> Software utili Validatore e visualizzatore di documenti RDF: http://www.w3.org/RDF/Validator/ Riferimenti Tim Berners-Lee. Semantic Web - XML2000 http://www.w3.org/2000/Talks/1206-xml2k-tbl Tim Berners-Lee, James Hendler, and Ora Lassila. The Semantic Web, http://www.scientificamerican.com/2001/0501issue/0501-berners-lee.html. Ora Lassila, Ralph R. Swick, Resource Description Framework (RDF), Model and Syntax Specification, W3C Recommendation 22 February 1999, http://www.w3.org/TR/REC-rdf-syntax Dave Beckett, RDF/XML Syntax Specification (Revised), W3C Recommendation 25 March 2002, http://www.w3.org/TR/2002/WD-rdfsyntax-grammar-20020325 Dan Brickley, R.V. Guha, Resource Description Framework (RDF) Schema Specification 1.0, W3C Candidate Recommendation 27 March 2000, http://www.w3.org/TR/rdf-schema Patrick Hayes, RDF Model Theory, http://www.w3.org/TR/2002/WD-rdf-mt20020214