Basi di dati distribuite Prof. M.T. PAZIENZA a.a. 2003-2004 SEMANTIC WEB E SOFTWARE AGENTS Semantic Web Definizione (Tim Berners-Lee): "The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation." -- Tim Berners-Lee, James Hendler, Ora Lassila, The Semantic Web, Scientific American, May 2001 Semantic Web Definizione (Tim Berners-Lee): Una nuova forma (estensione) di gestione del web a livello di contenuto (l’informazione può assumere significati ben definiti e codificati) che sia comprensibile per gli umani ed i calcolatori producendo, come conseguenza, una rivoluzione a livello di applicazioni utente Semantic Web Definizione: Il Semantic Web è • una griglia di informazioni in qualche modo collegate tra loro per renderle facilmente accessibili automaticamente (su scala globale) • un data base totalmente collegato (su scala globale) The Semantic Web Motivazioni : – La first generation Web fa riferimento a pagine HTML scritte a mano; – La second generation Web (generazione corrente) ha fatto il passo ulteriore di gestire pagine HTML create automaticamente e spesso anche pagine attive – La third generation Web, cosiddetta "Semantic Web", prevede di gestire automaticamente informazioni attive su web così come servizi intelligenti (information brokers, agenti di ricerca, information filters,…) Semantic Web Motivazioni : Il World Wide Web esiste grazie ad un insieme di standard ampiamente condivisi ed affidabili che garantiscono l’interoperabilità a vari livelli; fra essi • TCP/IP che ha assicurato la facilità e sicurezza di diffusione dei documenti su rete • HTTP ed HTML che hanno fornito un metodo standard per ritrovare e presentare documenti ipertestuali Si rendono necessari per il SW standard definiti non solo per la sintassi (o struttura) del documento, ma anche per la semantica del suo contenuto. Semantic Web Motivazioni : La proprietà principale del WWW è la sua generalità. La potenzialità di un link hypertestuale è collegata al fatto che qualunque cosa può essere collegata a qualunque cosa senza discriminazioni di sorta (indipendenza da sorgente dell’informazione, lingua, contenuto, argomento,…); nessuna differenza tra informazione prodotta per umani o per calcolatori. Semantic Web Motivazioni : Una proprietà principale del WWW è la sua decentralizzazione. La decentralizzazione richiede alcuni compromessi: per esempio il web deve abbandonare l’idea di consistenza totale tra tutte le sue interconnessioni, supponendo anche l’esistenza di collegamenti non controllati Semantic Web Motivazioni e ipotesi di lavoro: Attualmente le applicazioni web prevedono un uso da parte di un utente umano All’interno del web i file HTML contengono informazioni di una qualche utilità relativamente ad alcuni contesti, ma non in tutti. Non esiste ancora un approccio globale alla pubblicazione dei dati in modo da poter essere facilmente elaborati da chiunque (es. dati di sport pubblicati in gran dovizia da molteplici produttori, ciascuno utilizzando un formato diverso) Semantic Web Ipotesi di lavoro: Non si tratta di un mero problema di ingegnerizzazione del software per gestire unitariamente file diversi Non si tratta di soli problemi sintattici nella gestione di documenti HTML, bensì della incapacità di elaborare semanticamente un qualunque tipo di informazione Semantic Web Ipotesi di lavoro: Il SW si basa su sintassi speciali che usano URI per rappresentare dati, generalmente tramite triple come strutture base; tali triple possono essere mantenute in data base o scambiate sul web grazie a sintassi speciali sviluppate per un compito specifico. RDF Resource Description Framework dettagli in seguito Semantic Web: some definitions URI: Uniform Resource Identifier Sequences of characters chosen from a limited subset of the repertoire of ASCII characters both for transmission in network protocols and representation in spoken and written human communication. They permit to encapsulate a name in a registered name space, and label it with that name space. Extensive definitions of URIs: http://ftp.ics.uci.edu/pub/ietf/uri/rfc1630.txt URIs which refer to objects accessed with existing protocols are known as "Uniform Resource Locators" (URLs) Semantic Web ed Agenti Software Obiettivo: Il SW aggiungerà struttura al contenuto significativo delle pagine web creando un ambiente in cui agenti software, passando si pagina in pagina, possano estrarre contenuti specifici per una applicazione utente Semantic Web ed Agenti Software Obiettivo: Agenti software su web non gestiscono le pagine solo tramite keywords, ma anche con capacità di ragionamento autonomo basato sulla conoscenza semantica dei contenuti dei documenti. Tale semantica è codificata all’interno delle pagine stesse. SW–Rappresentaz. della Conoscenza Obiettivo: Agenti software su web instanziano il ragionamento automatico accedendo a collezioni strutturate di informazioni e set di regole inferenziali. SW–Rappresentaz. della Conoscenza Impossibile una gestione centralizzata della conoscenza che richiede la condivisione di concetti comuni ed un’attività di gestione troppo onerosa. Senza un database centralizzato od una struttura gerarchica, non è possibile assicurare la correttezza semantica della navigazione ipertestuale su web SW–Rappresentaz. della Conoscenza Ipotesi risolutiva: Definire un linguaggio idoneo ad esprimere sia dati che regole per supportare il ragionamento sui dati e per permettere che regole di un sistema basato su conoscenza siano condivise ed adottate da altri sistemi su web, ovvero Aggiungere la logica al web SW–Rappresentaz. della Conoscenza Ipotesi risolutiva: Con la logica si può: • Usare regole per fare inferenza • Identificare insiemi di azioni da compiere • Rispondere a domande Una logica potente a sufficienza per supportare gli agenti per ragionare sugli oggetti complessi che possono incontrare e non in assoluto Semantic Web-Tecnologie (1) XML - eXtensible Markup Language XML permette ad ognuno di creare propri tag (struttura) ed aggiungerli ad una pagina cosicchè possano essere usati da script o programmi senza dire cosa ciascun tag significhi (semantica) Semantic Web: some definitions XML: eXtended Markup Language HTML was intended to handle formatted text XML is designed by W3C to handle structured information XML is a syntax, not a language! Programs may access XML structures via the Document Object Model (DOM) Application Program Interface Related standards handle transformations (XSL) and searching of XML structures (XQL) XML may transform the Web from a large text archive to a large database of structured information Semantic Web: some definitions RDF: Resource Description Framework Describe relationships and attributes of (Internet) resources, i.e. advanced metadata Based on Directed Labelled Graphs (DLG) and classical Information Analysis May be represented by XML – but is basically independent of any representation format. Attributes and Relation types may be defined by XML Namespaces, e.g. Dublin Core Semantic Web-Tecnologie (2) RDF – Resource Description Framework RDF permette di rappresentare il significato in set di tuple (scritte in XML) adatte ad un’elaborazione automatica Con RDF un documento in alcuni casi asserisce che 1. entità particolari (es. persona, pagina web, qualunque cosa) 2. hanno proprietà (es. è autore di,..) 3. con certi valori (es. un’altra persona, pagina web,..) Es. (il campo 5 nel database A) (è un campo del tipo) (zip code) Elementi RDF RDF – Resource Description Framework • Una risorsa RDF è un’istanza di una o più classi • Le risorse hanno proprietà (=attributi) • Una classe può essere sottoclasse di un’altra classe • Le proprietà sono valori o relazioni • RDF Statements: risorsa (Subject) + proprietà (Predicate) + valore (Object) Semantic Web-Tecnologie (2) RDF – Resource Description Framework RDF associa un URI a ciascun elemento della tripla (considerata come soggetto-verbo-oggetto) Gli URI assicurano che i concetti espressi in un documento non sono solo parole, ma sono collegati ad un’unica definizione che ciascuno può trovare su web. Semantic Web-Tecnologie (2) RDF – Resource Description Framework Esempio di statement RDF: • La risorsa http://miolibro.htm (soggetto). • Ha il titolo (proprietà/verbo) • ”Lord of the rings” (valore/oggetto) • Ha l’autore (proprietà/verbo) • ”J.R.R. Tolkien” (valore/oggetto) Semantic Web-Tecnologie (2) RDF – Resource Description Framework Esempio di grafo RDF Autore J.R.R. Tolkien http://miolibro.htm Titolo Lord of the rings Semantic Web-Tecnologie (3) Ontologie Le ontologie permettono di accedere ad informazioni di due diverse basi di dati che associano nomi diversi a concetti uguali, o nomi uguali a concetti diversi. Su web le ontologie contengono una definizione formale delle relazioni tra termini. Contengono tassonomie e set di regole di inferenza. Semantic Web-Tecnologie (3) Tassonomie Le tassonomie definiscono classi di oggetti e le relazioni tra di loro. Classi, sottoclassi e relazioni tra entità sono uno strumento molto potente su web. Ereditarietà tra le classi (per una sottoclasse vale una relazione definita per una classe): ciò permette di creare dei link anche tra attributi di data base diversi che non li hanno espressi Semantic Web-Tecnologie (4) Terminologia Le ontologie non sono sufficienti ad assicurare relazioni tra tutti i termini usati per esprimere un concetto: necessaria una terminologia che possa, eventualmente, creare delle relazioni di equivalenza tra termini Semantic Web-Tecnologie (5) Agenti software Programmi speciali che collezionano il contenuto estratto su web da diverse sorgenti, elaborano le informazioni secondo le proprie conoscenze e scambiano i risultati con altri agenti . Lo scambio di dati tra agenti diventa efficace nel momento in cui esiste una semantica associata. Uso della signature. Semantic Web-Tecnologie (5) Agenti software L’agente produttore e l’agente consumatore possono raggiungere una comune comprensione di un’entità scambiandosi le ontologie (che supportano il necessario vocabolario del dialogo tra gli agenti) L’agente può anche acquisire nuove capacità di ragionamento quando entri in contatto con una nuova ontologia. Semantic Web-Tecnologie (5) Agenti software Le ontologie, definendo il significato dei dati, giocano un ruolo chiave nel supportare gli agenti 1. a capire cosa ci sia su web, 2. ad interagire liberamente e consapevolmente con altri siti, 3. ad attivare servizi in autonomia.