270 likes | 436 Views
Uso di basi di conoscenza relazionali in applicazioni di Web Semantico. Fabrizio Baldini fbaldini@dsi.unifi.it Carlo Torniai torniai@dsi.unifi.it Enrico Vicario vicario@dsi.unifi.it. Contenuti. Utilizzo di basi di dati in applicazioni orientate al Semantic Web Scenario
E N D
Uso di basi di conoscenza relazionali in applicazioni di Web Semantico Fabrizio Baldini fbaldini@dsi.unifi.it Carlo Torniaitorniai@dsi.unifi.it Enrico Vicario vicario@dsi.unifi.it Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Contenuti • Utilizzo di basi di dati in applicazioni orientate al Semantic Web • Scenario • Problematiche • Valutazione delle soluzioni • Conclusioni e prospettive • Tesi di Laurea per il corso di Ingegneria Informatica, A. Matteini e T. Papi “Semantic Web: analisi dei metodi e sperimentazione delle tecnologie” Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Web vs Semantic Web • Web attuale • le informazioni non hannostruttura semantica • la semantica è human understandable • le applicazioni possono ‘comprendere’ solo la sintassi • Semantic Web • associa alle risorseuna struttura semantica • caratterizza le risorse e le relazioni associandogli un significato particolare Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Il Semantic Web • Benefici relativi allo sviluppo di applicazioni orientate al Semantic Web • L’informazione machine understandable • Interscambio dati • Relazioni semantiche tra i contenuti • Navigazioni tematiche e correlazioni dinamichetra contenuti • Capacità di retrieval semantico dei contenuti • Capacità di arricchire la base di conoscenza con conoscenza inferita Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Problematiche • Cosa implica sviluppare una applicazioneorientata al Semantic Web? • Linguaggi standardizzati • Carenza di strumenti di sviluppo e best practices relative • Basi di conoscenza prevalentemente relazionali • La struttura relazionale non è consistente con la struttura semantica di una base di conoscenza Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Semantic Web e Database • Il Semantic Web non richiede necessariamente interazione con dB • i dati possono essere memorizzati in documenti RDF o OWL • I database sono la soluzione più diffusa per la gestione di basi di conoscenza persistenti • risulta importante prevedere un riuso di strutture dati preesistenti Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Semantic Web e Database • Problema di mismatch tra l’organizzazione semantica delle risorse e quella relazionale dei database Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Semantic Web e Database • Analisi delle soluzioni architetturali per: • rendere persistente su un database una base di conoscenza semantica • consentire modalità di accesso semanticoa database relazionali • Le soluzioni identificate ed implementate sono: • database con schema semantico • modelli persistenti di Jena • D2RMap e D2RQ Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Soluzione A: Database con schema semantico • Usa un database relazionale con schema che emulala struttura di documenti RDF • Svantaggi: • Non utilizza le tecnologie raccomandate dal W3C • Non supporta interrogazioni RDQL (solo SQL) Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Soluzione B: Modelli di Jena¹ • Jena è un framework per lo sviluppo di applicazioni orientate al Web Semantico • Fornisce API per la creazione, gestione e interrogazione di documenti RDF • Consente di gestire basi di conoscenza semantiche come modelli: • in memoria • persistenti (su dB) [¹] http://jena.sourceforge.net Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Soluzione B: Modelli di Jena • Vantaggi: • semplicità di gestione • trasparenza nelle operazioni • Svantaggi: • errori di ridondanza nel modello • difficoltà di manipolazione del result set API modello persistente di Jena Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Soluzione C: D2Rmap e D2RQ¹ • I dati esistenti sono memorizzati in database • Necessità di tecniche che consentano: • riutilizzo dei dati e delle strutture • associazione di una struttura semantica • Tecniche di mapping disponibili: • D2Rmap (batch) • D2RQ (runtime) [¹] D2Rmap e D2RQ, http://www.wiwiss.fu-berlin.de/suhl/bizer Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Soluzione C1: D2Rmap • Converte un database relazionale in una base di conoscenza semantica • utilizza una mappa per la conversione • genera un documento RDF a partire dai dati contenuti nel dB Mappa Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Soluzione C2: D2RQ • Permette di interrogare un database relazionale utilizzando il linguaggio RDQL • utilizza dinamicamente una mappaper l’accesso semantico al contenuto del database • restituisce degli statement • gestisce database relazionali come grafi RDFattraverso le API di Jena Mappa Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Riepilogo architetture A P I Soluzione A Database relazionale con schema semantico Soluzione B Modello Persistente Jena Mappa Mappa Soluzione C1 Mapping D2RMap Soluzione C2 Mapping D2RQ Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Sperimentazione architetture • Sperimentazione delle diverse architetture per valutarne • complessità di implementazione • applicabilità (vincoli di legacy, compatibilità organizzativa) • prestazioni • Applicazione relativa ad un contesto reale e con requisiti definiti Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Contesto del SUAP • Sportello unico per la gestione delle autorizzazioni necessarie alle imprese per la produzione di beni e servizi • La struttura del dB del SUAP è stata utilizzata come riferimento sia in fase di progettazione che in fase di sviluppo Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Valutazione architetture • Identificazione delle architetture possibili: • Valutazione qualitativa e quantitativa (sem) Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Valutazione qualitativa • Soluzione database con schema semantico • Complessità implementativa limitata • Non utilizza gli strumenti del Semantic Webma ne emula esclusivamente il funzionamento • Ostacola l’interoperabilità dell’applicazione ? • Soluzione file RDF • Complessità implementativa più elevata rispetto alla prima soluzione • Utilizza strumenti del Semantic Web • Poca flessibilità data dal tipo di modello persistente (file system) • Soluzioni Jena e D2R • Utilizzano appieno strumenti del Semantic Web • Differiscono per complessità implementativa (gestione delle API di Jena + utilizzo di tools di mapping nel caso di D2R) • Differiscono per prestazioni • L’utilizzo di strumneti di mapping risponde a vincoli di legacy Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Valutazione prestazioni • Architetture software analizzate: • modello persistente di Jena, D2RQ e documento RDF • Cosa ci aspettiamo? • tempi di risposta più elevati per la soluzione con D2RQ che prevede una funzione di mapping intermedia • Analisi del tempo di riposta delle query: • con 8 query differenti, ognuna ripetuta per 50 volte, su KB contenenti 150.000 e 750.000 statements • Analisi del tempo di caricamento in memoria dei dati: • ripetuto 30 volte per ogni architettura, su KB contenenti 150.000 e 750.000 statements Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Valutazione prestazioni: risposta in msec La soluzione con RDF comporta i tempi di esecuzioni migliori per le query La soluzione con D2RQ comporta tempi di esecuzione mediamente migliori rispetto alla soluzione con Jena ma molto elevati per il caricamento dei dati contrariamente alle aspettative! Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Sviluppo di una applicazione • Implementazione di una applicazione orientata al Semantic Web • Obiettivi: • analizzare i problemi implementativi in un contesto con requisiti definiti che non imponesse vincoli di legacy • utilizzare tecnologie di riferimento • Strumenti: • API Jena • Protégé Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Schema architetturale • Struttura MVC (persistent model, Jsp, Servlet) • Soluzione con modelli persitenti di Jena Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Esplorazione • Implementazione di un’applicazione Web che offre un’interfaccia grafica per l’esplorazione di una base di conoscenza semantica • Funzionalità • elaborare e formulare la query in base alla richiesta dell’utente • interrogare modelli, dopo averli importati in memoria • validare i contenuti • estrarre le informazioni d’interesse • presentare le informazioni ricavate Barra di navigazione che si aggiorna in base al contenuto della pagina, machine understandable Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Transazioni • Web application per aggiornamento di una KB sulla base di un’ontologia predefinita • Requisiti: • Conformità dai dati all’ontologia • Implementazione: • sono stati implementati i metodi • per gestire la creazione del modulo di inserimento dati a partire dall’ontologia • per validare ed inserire effettivamente i dati immessi dall’utente Modulo che viene creato in funzione dell’ontologia Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Conclusioni • Abbiamo individuato e sperimentato architetture software che permettono lo sviluppo di applicazioni di Web Semantico su basi di conoscenza di dimensioni e caratteristiche realistiche • La convenienza delle varie implementazioni dipende dai vincoli di legacy e dalla organizzazione del processo di alimentazione della base di conoscenza • Il limite di prestazione non sembra costituire un ostacolo alla applicazione a contesti realistici Dipartimento di Sistemi e Informatica Univsrsità di Firenze
Prosepettive • Applicazione alla creazione di portali di supporto alla aggregazione e cooperazione nello sviluppo di basi di conoscenza • Capacità di adattamento all’evoluzione del modello ontologico • Qualità dell’informazione • Fattori umani e organizzativi • La filosofia del Semantic Web e l’utilizzo di ontologie ha preso piede non solamente per la descrizioni di contenuti Web • annotazione e retrieval di contenuti multimediali • descrizione semantica di immagini, video, ecc. • La combinazione di contenuti descritti e correlati semanticamente può portare alla realizzazione di applicazioni fortemente interattive e con alto livello di usabilità Dipartimento di Sistemi e Informatica Univsrsità di Firenze