• Non ci sono risultati.

2.2 Metodi e strumenti per la gestione dell’informazione ambientale

2.2.2 Strumenti

2.2.2.1 PIATTOFORMA WEB PER LA GESTIONE DI DBMS REMOTO

Il sistema utilizzato per la gestione dei DBMS è del tutto analogo a quello rappresentato in Figura 26.

Figura 26: il sistema che descrive le applicazioni utilizzate per la gestione dei DBMS: MySQL è un tipo di DBMS che risiede su surver; Apache è un web server; SSL è un secure server; php è un linguaggio di progarmmazione; netscape è un browser web. La sequenza di azioni numerata è descritta nel testo.

La sequenza di azioni mostra come si comporta il sistema in via generale (i numeri si riferiscono alla Figura 26):

1. Un utente seleziona un link posto su una pagina web; il suo browser manda la richiesta ad un indirizzo (ad esempio http://localhost/test.php).

2. il web server Apache a sua volta invia una richiesta all’indirizzo test.php; il web server è configurato in modo che i files php siano gestiti dal PHP preprocessor (mod_php) ;

3. test.php è un programma PHP che contiene comandi. Uno di questi comandi impone di aprire una connessione al database e accede ai dati. Il programma PHP gestisce la connessione al database e i comandi SQL per estrarre dati dal database.

4. Il database server (MySQL) riceve la richiesta di connessione dal programma PHP e processa la richiesta. La richiesta potrebbe essere qualcosa una semplice query oppure la creazione di una tabella.

5. Il database invia la risposta (esegue il compito/lo rifiuta) e reinvia una comunicazione a PHP.

6. Apache ritorna l’informazione PHP al browser dell’utente, come risposta alla sua richiesta. L’utente vede ora una nuova pagina web contenente nuove informazioni dal DB.

7. Nel caso di una connessione "sicura", il dialogo è criptato e decriptato sui terminali (ovvero Apache contatta PHP, ottiene la chiave di criptazione, cripta la richiesta e la rinvia indietro).

8. Il server (MySQL) vede la richiesta, la decripta, l’autentica. la esegue, la cripta e la re-invia. Il browser decripta il risultato con la chiave del server.

2.2.2.2 PROTÉGÉ 2000

Protégé2000 è l’ultimo nato tra gli strumenti sviluppati dall’Università di Stanford per l’acquisizione delle informazioni. Protégé2000 ha migliaia di utilizzatori in tutto il mondo per la realizzazione di progetti che coprono i più svariati domini con una concentrazione particolare nel campo medico (ad esempio per modellare la diffusione del cancro). Protégé2000 fornisce un ambiente grafico e interattivo per la progettazione delle ontologie e un ambiente di sviluppo concettuale. Questo aiuta gli ingegneri e gli esperti del dominio a realizzare applicazioni per la gestione delle informazioni. Gli sviluppatori di ontologie possono accedere ad informazioni rilevanti in maniera semplice e veloce

ogni volta che ne hanno bisogno, e possono usare strumenti di manipolazione diretta per navigare tra le ontologie. I comandi utilizzabili per le gerarchie (Tree controls, alberi di ontologie) consentono una navigazione semplice e veloce tra le gerarchie di classi. Il modello di rappresentazione delle informazioni (knowledge model) di Protégé2000 è compatibile con OKBC (vedere sopra DBMS). Fornisce supporto:

− per la definizione delle classi e delle gerarchie di classi con molti legami di ereditarietà;

− per la definizione di slot, cioè delle proprietà che descrivono le classi (esempio per la classe temperatura, lo slot può essere il grado; oppure una scelta tra “caldo”, “freddo” e “tiepido”);

− offre svariati slot predefiniti pronti per l’uso; specifiche degli attributi degli slot, che includono valori consentiti, restrizioni sulla cardinalità, valori predefiniti; metaclassi (classi per gestire le classi dei domini) e gerarchie di metaclassi.

Oltre alla presenza di una semplice interfaccia (Figura 27), altre due caratteristiche distinguono Protégé 2000 dai molti ambienti di sviluppo per le ontologie: la scalabilità e l’estendibilità.

Uno dei principali vantaggi dell’architettura di Protégé2000 è che il sistema è costruito in maniera modulare. La sua architettura basata su componenti semplifica l’aggiunta di nuove funzionalità, attraverso la creazione di plugin appropriati. Molti dei plugin ricadono in una delle seguenti tre categorie:

− backends plugins, che consentono agli utenti la memorizzazione e l’importazione delle informazioni in vari formati;

− slot widgets plugins, che sono utilizzati per visualizzare e modificare i valori degli slot o le loro relazioni semantiche in domini e applicazioni specifici;

− tab plugins, che sono applicazioni basate sui dati, strettamente collegate con le basi di conoscenza di Protégé.

I plugin backend attuali (e quelli backend standard) includono supporto per la memorizzazione e l’importazione di ontologie in schemi RDF, in file XML, e in schemi XML (questo permette l’interconnessione dei vari sistemi di cui al paragrafo precedente). Gli slot widgets disponibili includono interfacce utente per visualizzare immagini GIF, video e audio. Un diagramma widget consente agli sviluppatori di costruire elementi di una knowledge base tracciando un diagramma nel quale i nodi e i margini sono essi stessi dei frame particolari (che si distinguono per forma e colore).

I plugin più usati sono quelli di tipo tab che forniscono capacità di visualizzazione avanzata, integrazione di ontologie e controllo di versione, inferenza e così via. Il tab PAL (plugin) fornisce il supporto per il linguaggio di assiomi per Protégé ( Protégé Axiom Language). PAL permette agli utenti di aggiungere vincoli sui dati per i quali il formalismo del frame stesso non è sufficientemente espressivo.

JAMBALAYA

Il tab Jambalaya, ad esempio, presenta differenti viste grafiche di una stessa rappresentazione; Jambalaya permette una navigazione interattiva della struttura, la possibilità di zoomare su particolari elementi della struttura, e differenti layout di nodi in un grafico per evidenziare le connessioni tra gruppi di dati.

Figura 27 Una schermata di Protégé2000 per l’editing delle classi e degli slot e per l’inserimento delle informazioni delle istanze (instances). La gerarchia di classi con legami di ereditarietà è mostrata nel pannello a sinistra. Gli utenti possono riorganizzare la gerarchia con il semplice metodo del drag and drop, trascinando le classi con il mouse. Il pannello di destra mostra informazioni dettagliate per la classe selezionata. Esso include anche gli slot che descrivono le istanze della classe.

FRAME E FUNZIONALITÀ METRICS

Una delle funzioni importanti per questa tesi utilizzata con Protégé è quella di conteggiare il numero di “frame” generati. Il concetto di frame potrebbe essere tradotto con “oggetti”, ma mentre nella programmazione per oggetti il concetto è focalizzato unicamente sulle proprietà dell’oggetto, il concetto di frame contiene anche la caratterizzazione attraverso relazioni.

In un linguaggio in cui ogni oggetto viene creato a partire da una classe, l'oggetto viene chiamato istanza di quella classe. Se ogni oggetto ha un tipo, due oggetti della stessa classe avranno lo stesso tipo di dato. Creare un'istanza di una classe a volte viene detto istanziare la classe (mucca ed il cavallo sono istanze di quadrupede).

Le ontologie create hanno dunque una dimensione automaticamente calcolata dal numero di classi, dalle proprietà (slot) di queste classi e dal numero d’istanze.

2 . 3 METODI E STRUMENTI PER IL REPORTING