260 likes | 411 Views
DAL WEB AL SEMANTIC WEB. Aspetti teorici e tecnologici Carmagnola Francesca Dipartimento Informatica C.so Svizzera 185, Torino carmagnola@di.unito.it. COME REALIZZARE COLLEGAMENTI SEMANTICI?. Semantic Web significa un Web comprensibile per le macchine
E N D
DAL WEB AL SEMANTIC WEB. • Aspetti teorici e tecnologici • Carmagnola Francesca • Dipartimento Informatica • C.so Svizzera 185, Torino • carmagnola@di.unito.it
COMEREALIZZARECOLLEGAMENTISEMANTICI? • Semantic Web significa un Web comprensibile per le macchine • Esse sono in grado di comunicare tra loro scambiandosi dati aventi un preciso significato: non semplici dati ma informazioni • Presupposto per lo scambio di dati fra le applicazioni è che le macchine comprendano i dati del Web • Ma come è possibile questo? • Strutturando le informazioni almomento della loro archiviazione
L’idea del Web semantico propone di utilizzare degli schemiper la descrizione dei domini di informazione • Ogni dominio di informazione deve essere descritto da unparticolare schema • Esigenza di introdurre metadati (dati che descrivonodati) per mappare i dati rispetto a classi, o concetti, di questo schema di dominio ONTOLOGIE Metadati strutturati secondo un ordine logico. Vengono espresse le relazioni fra i metadati (concetti) METADATI Descrivono i dati riportandoli ai concetti di uno schema. DATI distribuiti nel Web (pagine web)
SEMANTIC WEB LAYER CAKE Il Web semantico è stato pensato dal W3C come un oggetto costruito attraverso strati sovrapposti di linguaggi. Ogni nuovo strato usa o estende gli strati precedenti { ONTOLOGIE { METADATI Semantic Web Layer Cake [Barners-Lee, 2003] DATI DATI DATI DATI
UNIVERSAL RESOURCE IDENTIFIER: URI • • Per poter descrivere la conoscenza del mondo è necessario poter identificare e nominare tutte le risorse presenti nel Web • Per ottenere ciò si utilizzano le URI • Non dipende dal meccanismo di memorizzazione sottostante • Esempi di URI sono le URL (Universal Resource Locators), che permettono alle risorse di essere localizzate. • Gli URI non ci dicono solo dove sono le risorse ma danno anche un nome identificativo e univoco alle risorse stesse
Tutto ha un URI Non diciamo “colore=blu“, ma ne indichiamo l’URL http://example.com/2002/std6#col
Rappresentare i metadati: EXTENSIBLE MARKUP LANGUAGE: (XML) • •XML può essere considerato un meta-linguaggio, perché facilita la creazione, l’uso e l’interoperabiltà sintattica dei vocaboli dei metadati • Deriva da SGML (Standard Generalized Markup Language) ed e’ un formato standard per serializzare i dati usando tag • Consente di definire un formato personalizzato per i propri documenti e compilarli secondo una sintassi definita • E’ indipendente dalla piattaforma ed ha una sintassi simile a quella di HTML • Come l’HTML contiene testo e marcatori (“<” e “>”), detti tag • Diversamente dall’HTML l’insieme dei tag non e’ definito nella specifica, ma ognuno può definirsi tag adatti alle proprie specifiche esigenze
Facciamo un esempio <Frase> <Persona homepage=http://example.com/#johnsmith>Io </Persona> ha appena acquistato un <Animale>cane</Animale> </Frase> “Frase”, “Persona”, “Animale” vengono usati come nomi dei tag per conferire significato agli elementi, ma c’e’ significato solo per chi riconosce e condivide i termini. Non c’e’ semantica.
Se dicessimo <dfrg> <nigi homepage=”http://example.com/#johnsmith”>Io</nigi> ho appena acquistato un <hyg>cane</hyg> </dfrg> Per un computer la frase ha la stessa struttura dell’esempio precedente, ma cambia il significato per gli umani che non condividono i termini. Cosa dice questa frase?
XML (Extensible Markup Language) • It supports the creation of metadata (tag) • It allows the definition of a personalized format for documents XML: Document = labelled tree <student> <name> …. </name> <programme> …. </programme> <course> …. </course> <name> …. </name> <http> …. </http> </student> <xdax> <dsds> …. </dsds> <yjyjyjyjy> …. </ yjyjyjyjy> <fwsfsw> …. </ fwsfsw> <sqsq> …. </ sqsq> <kykuj> …. </ kykuj> </ xdax> = Simple grammar (declared in DTD) to describe the structure of a document Domain specific, not easy to combine trees, not suitable for sharing web resources Nor semantics or interoperability
Perché non vi sia confusione sul significato dei termini, bisogna unificare univocamente i tag che esprimono i metadati, mediante i Namespaces • Namespaces indicano una parte del Web che funge da qualificatore per uno specifico set di nomi • Per creare namespaces utilizzabili nei documenti XML occorre associare ad essi un URI • Associando gli URI, chiunque può creare tag propri poiche’si è in grado di distinguerli dagli altri con lo stesso nome • XML aggiunge struttura sintattica ai documenti ma non fornisce alcuno strumento semantico
RESOURCE DESCRIPTION FRAMEWORK (RDF) • •Modello per la codifica, lo scambio e il riutilizzo di metadati strutturati • Fornisce un framework comune per esprimere informazioni che possano essere scambiate tra le applicazioni senza il rischio di perdita di significato • Consente dunque l'interoperabilità tra applicazioni che si scambiano sul Web informazioni machine-understandable • Non descrive la semantica dei dati, ma fornisce una base comune per poterla esprimere, permettendo di definire la semantica dei tag XML
Dichiarazione RDF: simile ad una semplice frase eccezion fatta che tutte le parole sono degli URI • Ogni dichiarazione RDF è basata su tre concetti: oggetto, attributo, valore < rdf:RDF> < rdf:Description about="http://www.di.unito.it/~carmagnola"> < s:Creator>Francesca Carmagnola</s:Creator> </rdf:Description> </rdf:RDF> Oggetto: risorsa di cui si parla Attributo: proprietà che descrive le relazioni fra le risorse Valore: assegnazione di una proprietà ad una risorsa
Triples: [Subject] → Predicate → [Object] can be chained in a graph • RDF does not describe the semantics of the resources, • but it offers a way to define the semantics of XML tag • http://www.w3.org/TR/REC-rdf-syntax/
RDF Web page Qualsiasi risorsa Web <a href= URI> <a href=“http://…”> HTML RDF URI URI URI RDF is like the web! La specifica formale di RDF è raggiungibile a http://www.w3.org/TR/REC-rdf-syntax/
L'uso degli URI è senza alcuna utilità se non descriviamo cosa significano ontologie • Elemento chiave per la realizzazione del Semantic Web • Rappresenta una modalità per descrivere il significato dei termini e le loro relazioni • Descrizione che aiuta i sistemi di computer ad usare i termini più facilmente e decidere come convertirli fra di loro
ONTOLOGIE • Documento che definisce formalmente le relazioni tra i termini di un dominio di conoscenza • Ad esempio l’ontologia del dominio“Università” conterrà la definizione di termini come: studente, professore, esame, etc… • Espressa in forma di tassonomia e insieme di regole di inferenza per esprimere conoscenza dalla tassonomia • Sono necessari linguaggi per rappresentare in modo formale le ontologie nel Semantic Web • Alcuni esempi di questi linguaggi sono RDFS, OIL, DAML, OWL
RESOURCE DESCRIPTION FRAMEWORK SCHEMA (RDFS) • Aumenta le capacità espressive di RDF • Vocabolario che consente di: • definire le classi delle risorse • definire le relazioni di sottoclasse • specificare restrizioni sulle classi
OIL (Ontology Inference Layer) • Linguaggio standard per le ontologie che fornisce, a partire dagli Schemi RDF, un approccio multilivello, basato su una gerarchia stratificata • Vantaggi • possibilità di supportare la definizione di ontologie, il loro cambiamento, la loro verifica e integrazione per mezzo del sistema FaCT che esamina la consistenza di tutte le definizioni ontologiche per scoprire i legami fra le sottoclassi • Svantaggi • prevede un numero limitato e immutabile di proprietà senza la possibilità di avere definizioni di relazioni composte che rimangono slegate e indipendenti • non supporta domini concreti come interi e stringhe, e questo costituisce un grande limite per la rappresentazione della conoscenza ontologica
DAML (Darpa Agent Markup Language) • Linguaggio di markup ontologico promosso negli Stati Uniti dall’agenzia Darpa • Combina caratteristiche di altri linguaggi basati sul Semantic Web • E’costruito su RDF e lo integra con elementi di logica descrittiva • Offre un mezzo per l’espressione e interpretazione della classificazione, delle asserzioni e delle proprietà dei metadati rappresentati da RDF e RDFS
OWL (Ontology Web Language) LO VEDREMO IN DETTAGLIO IN SEGUITO
IL LIVELLO LOGICO • Fino al livello dello ontologie non vi è inferenza, ma solo rappresentazione della conoscenza • Fino ad ora abbiamo solo documenti descritti semanticamente • Ma come estrarre informazioni da questi documenti? • Il livello logico usa la rappresentazione semantica delle informazioni per estrarre nuova conoscenza tramite ragionamenti inferenziali • L’inferenza è un procedimento deduttivo mediante cui si ricava una conclusione a partire da una o più premesse • Nel livello logico si attua l’obiettivo del Semantic Web: la rappresentazione della conoscenza in formato machine understandable, tale che possa essere utilizzata per l’automazione, l’integrazione e il riuso della conoscenza fra le applicazioni.
Ma come estrarre la conoscenza da questi documenti e ragionare su di essa? • Mediante opportuni linguaggi • REWERSE (“reasoning on the Web”), rete di eccellenza con lo scopo di definire linguaggi standard per estrarre e ragionare sui dati del Semantic Web. • Esempi di linguaggi sono: • SWRL • RuleML, • OWL-S… • Manca ancora la definizione di uno standard
I LIVELLI DELLA PROVA (Proof) E DELLA FIDUCIA (Trust) • Secondo il principio del Semantic Web, “anything can say anything about anything” • Come gestire affermazioni contraddittorie? • “Francesca ama il mare”/ “Francesca odia il mare” • Si creano problemi di ordine logico (ama o odia sono proprietà fra loro incompatibili) e problemi legati alla fiducia che l’utente ha nell’informazione sul Web • La firma digitale costituisce una forma di autentificazione. Ogni utente può istruire il proprio computer su quali firme digitali considerare affidabili e quali no.
La fiducia si considera un proprietà transitiva A B SI FIDA SI FIDA SI FIDA C RETE DELLA FIDUCIA • Il Web raggiungerà le sue piene potenzialità solo quando gli utenti avranno fiducia nelle sue operazioni e nella qualità dell’informazioni fornite.
SEMANTIC WEB: COME? • Integrare il Web con informazioni semantiche senza modificarlo: costruire il Semantic Web sopra il Web esistente • Descrivere i dati contenuti nel Web attraverso l’uso di metadati • Rapportare i dati ad uno schema • Aggiungere le capacità di ragionamento ed inferenza alla pura descrizione