Tesi di Laurea in Ingegneria Informatica Progettazione e sviluppo di un sistema deduttivo di navigazione ed interrogazione di ontologie nel Web Semantico Tesi di Laurea in Ingegneria Informatica Relatore: Prof. Maurizio Lenzerini Università “La Sapienza” Correlatore: Prof. Michele Missikoff LEKS – IASI/CNR Candidato: Gabriele Barchiesi Università “La Sapienza” - Roma
Il Web Semantico Evoluzione del Web tradizionale che mira a rendere il significato dei contenuti del Web comprensibile ai computer (machine-understandable) e non solo agli esseri umani (human-understandable). In questo modo si: aumenta la raffinatezza delle ricerche, agevolano i compiti di agenti software, supporta la composizione di servizi Web.
L’architettura del Web Semantico
Le principali tecnologie del Web Semantico / 1 “Un’ontologia è una specifica esplicita e formale di una concettualizzazione condivisa” (Gruber/Borst) Resource Description Framework (RDF): Introduce il concetto di tripla, o asserzione: Un insieme di triple definisce un grafo orientato ed etichettato. RDF è esteso da RDF Schema, un semplice linguaggio di rappresentazione ontologica. Ontology Web Language (OWL): Maggiore potere espressivo per la rappresentazione di ontologie: introduce ed estende i costrutti per dichiarare e costruire classi e proprietà, fornendo operatori insiemistici, cardinalità, … I documenti espressi secondo questi (ed altri) linguaggi vengono detti Basi di conoscenza (Knowledge Base o KB). soggetto predicato oggetto
Le principali tecnologie del Web Semantico / 2 SW Reasoner: applicano le regole specifiche della semantica dei linguaggi di rappresentazione della conoscenza, dette regole d’inferenza, per derivare le informazioni implicitamente asserite in una KB; sono basati prevalentemente su tecniche sviluppate per DL/FOL, poiché OWL (DL) e DAML+OIL hanno un’espressività pari alle DL SHOIN(Dn) e SHOIQ(Dn); offrono supporto per la costruzione, l’analisi e l’interrogazione di KB. Linguaggi di interrogazione di KB: Rispetto alle tradizionali interrogazioni su basi di dati, possono richiedere l’utilizzo di tecniche di reasoning.
Il sistema SemNav (Semantic Navigator) SERVIZI: navigazione di ontologie (esplorazione del grafo e delle asserzioni implicitamente derivabili) interrogazione e analisi di ontologie ARCHITETTURA: Modulare Scalabile Linguaggi di query (RDQL, SPARQL, OWL-QL) Reasoner Integrati DIG (Description Logic Interface) Codice Java, protocollo SOAP (tecnologia Web Service)
Classificazione dei servizi di SemNav.
Servizi di navigazione Servizi basati su tassonomie: parents, ancestors, ancestorsN, children, descendants, descendantsN Servizi di «instance checking»: instances Servizi di visita del grafo: path e distance describe Servizi di esplorazione delle proprietà: properties, myProperties propertiesRange, myPropertiesRange domainClasses, myDomainClasses
Componenti utilizzati da SemNav Motori di query: ARQ (Hewlett-Packard): RDQL, SPARQL KSL OWL-QL Server (Stanford University) Framework di sviluppo: Jena2 (Hewlett-Packard): definisce API per ontologie, reasoner, DIG. Reasoner: Racer, Pellet, FaCT++ (basati su DL). JTP (basato su FOL) per OWL-QL. Reasoner integrati in Jena: Transitive, RDFS, Micro OWL, Personal.
Utilizzo di SemNav: il client Quethos. SERVER: SemNav. Ambiente di esecuzione: Apache Tomcat, Axis. Linguaggio: Java Altro Client SOAP Zope Tomcat Athos Axis Quethos SemNav SOAP/HTTP Pellet DIG/HTTP CLIENT: Quethos, per navigare ontologie di dominio OPAL. Ambiente di esecuzione: Zope, Athos (Ontology Management System sviluppato nel LEKS, IASI-CNR). Linguaggio: Python. DIG Reasoner
Architettura del sistema Client/Server INTERFACCIA UTENTE Costruzione delle richieste e visualizzazione dei risultati Client (ad es. Quethos) COMUNICAZIONE Web Service Server (SemNav) SERVIZI DI ESECUZIONE Decisione ed esecuzione, reasoning, formattazione risultati INFRASTRUTTURA Classi ed interfacce per KB, richieste, reasoner, DIG
Infrastruttura Modello (grafo) per le KB: gestione indipendente dal linguaggio di rappresentazione. Modello per le richieste di servizi: gestione dei servizi e dei linguaggi di query. Interfaccia per i reasoner: utilizzo dei reasoner, integrati e DIG, in modo simile.
Implementazione dei servizi di SemNav Generic Query: libera interrogazione utilizzando uno dei linguaggi di query. Navigation Service: operazioni definite sulla struttura di un’ontologia. Composite Service: composizione di servizi di navigazione. Reasoning Task: analisi di una KB.
Soddisfacimento di una richiesta di un client 1° STADIO: decisione 2° STADIO: Servizi di esecuzione 3° STADIO: formattazione risultati
Quethos: Un sistema di navigazione di ontologie OPAL Tipo di servizio Selezione Reasoner Lista di concetti
Un possibile client: Quethos
Conclusioni SemNav è uno strumento di supporto per la navigazione, interrogazione e l’analisi di ontologie. Tali servizi possono essere usati nella fase di costruzione, aggiornamento e utilizzo di un’ontologia. Le primitive di navigazione si basano sulle più frequenti operazioni di “consultazione” di un’ontologia. L’architettura del sistema è flessibile ed estendibile permettendo la facile integrazione di nuovi motori di query e reasoner.