Visualizzazione di ontologie su dispositivi mobili touch...

85
POLITECNICO DI TORINO III Facolt` a di Ingegneria dell’informazione Corso di Laurea in Ingegneria del Cinema e dei Mezzi di Comunicazione Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi mobili touch screen Un’applicazione per tablet Android Relatori: prof. Fulvio Corno ing. Dario Bonino prof. Emanuele Della Valle Candidata: Alessandra Ronsini Marzo 2013

Transcript of Visualizzazione di ontologie su dispositivi mobili touch...

Page 1: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

POLITECNICO DI TORINO

III Facolta di Ingegneria dell’informazioneCorso di Laurea in Ingegneria del Cinema e dei Mezzi di

Comunicazione

Tesi di Laurea Magistrale

Visualizzazione di ontologie sudispositivi mobili touch screen

Un’applicazione per tablet Android

Relatori:prof. Fulvio Cornoing. Dario Boninoprof. Emanuele Della Valle

Candidata:Alessandra Ronsini

Marzo 2013

Page 2: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Indice

Ringraziamenti v

1 Introduzione 11.1 Contesto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 Problema affrontato durante la tesi . . . . . . . . . . . . . . . . . . . 21.3 Conclusione della tesi . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 Il Web Semantico 42.1 Cos’e il Web Semantico . . . . . . . . . . . . . . . . . . . . . . . . . . 42.2 La rappresentazione della conoscenza . . . . . . . . . . . . . . . . . . 5

2.2.1 Tassonomia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.2.2 Thesaurus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.3 Ontologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.3 Le ontologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.3.1 Progettazione di un’ontologia . . . . . . . . . . . . . . . . . . 102.3.2 Struttura del Web Semantico . . . . . . . . . . . . . . . . . . 112.3.3 Interrogazione di un’ontologia - SPARQL . . . . . . . . . . . . 17

3 Tool per il Web Semantico 203.1 Strumenti di sviluppo esistenti . . . . . . . . . . . . . . . . . . . . . . 20

3.1.1 Protege . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.1.2 Neon Toolkit . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.1.3 Swoop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.1.4 Top Braid Composer . . . . . . . . . . . . . . . . . . . . . . . 233.1.5 Vitro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.1.6 Knoodl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.1.7 Anzo for Excel . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1.8 Neologism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253.1.9 OntoTrack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.1.10 CropCircle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.1.11 OntoRama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

ii

Page 3: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3.2 Limiti generali dei tool . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3 Metodi di visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . 29

3.4 Limiti dei metodi di visualizzazione . . . . . . . . . . . . . . . . . . . 32

4 Ontology Viewer 34

4.1 Funzioni principali dell’applicazione . . . . . . . . . . . . . . . . . . . 34

4.2 Aspetto grafico dell’applicazione . . . . . . . . . . . . . . . . . . . . . 35

4.2.1 Android guidelines . . . . . . . . . . . . . . . . . . . . . . . . 35

4.2.2 Metafora di navigazione . . . . . . . . . . . . . . . . . . . . . 36

4.2.3 Logo dell’applicazione . . . . . . . . . . . . . . . . . . . . . . 36

4.2.4 Icone dell’applicazione . . . . . . . . . . . . . . . . . . . . . . 37

4.2.5 Attivita principale dell’applicazione . . . . . . . . . . . . . . . 38

4.3 Visualizzazione e interazione con l’ontologia . . . . . . . . . . . . . . 40

4.3.1 Visualizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.3.2 Navigazione dell’ontologia . . . . . . . . . . . . . . . . . . . . 41

4.3.3 Interazione e modifica dell’ontologia . . . . . . . . . . . . . . . 42

4.3.4 Creazione di una ontologia . . . . . . . . . . . . . . . . . . . . 45

4.3.5 Interrogazione di una ontologia . . . . . . . . . . . . . . . . . 46

5 Implementazione 47

5.1 Struttura dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . . 47

5.2 Radial Menu Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.1 Descrizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

5.2.2 Implementazione . . . . . . . . . . . . . . . . . . . . . . . . . 50

5.3 HomePageActivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.3.1 Descrizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5.3.2 Implementazione . . . . . . . . . . . . . . . . . . . . . . . . . 52

5.4 ViewOntologyActivity . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.4.1 Descrizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5.4.2 Implementazione . . . . . . . . . . . . . . . . . . . . . . . . . 54

5.5 Toolbar Browse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.5.1 Descrizione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.5.2 Implementazione . . . . . . . . . . . . . . . . . . . . . . . . . 58

5.6 Implementazioni future . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6 Test e Valutazione 64

6.1 Obiettivi del test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.2 Risultati del test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

7 Conclusione 69

iii

Page 4: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A Test Plan 70A.1 Lista dei task e misurazioni . . . . . . . . . . . . . . . . . . . . . . . 70A.2 Script del test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73

Bibliografia 80

iv

Page 5: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Ringraziamenti

Colgo l’occasione per ringraziare tutte le persone che hanno dato il loro apporto (piuo meno “tecnico”!) allo sviluppo di questo lavoro. Innanzitutto, vorrei ringraziarel’ing. Dario Bonino che ha seguito con pazienza e meticolosita sia la fase di sviluppodell’applicazione che di stesura della tesi, dandomi degli ottimi consigli che sonostata lieta di seguire. Porgo i miei ringraziamenti anche all’ing. Luigi de Russis,la sua presenza e disponibilita in laboratorio e stata senza dubbio fondamentaleper arrivare a questo risultato. Ringrazio il prof.Fulvio Corno, che mi ha dato lapossibilita di approfondire argomenti visti soltanto in modo superficiale durante ilpercorso universitario.

Ovviamente tutto questo non sarebbe stato possibile senza Gianni Ferrero, cheda subito ha dimostrato avere fiducia in me e nelle mie capacita. Quindi un sentitograzie anche a lui!

Che altro dire, un ciclo della mia vita volge al termine... senza dubbio senza ilgruppetto dei “cinemi” o dei “magnifici 7” che dir si voglia, questi anni di studiosarebbero stati molto meno divertenti! Quindi ringrazio il mitico duo (che con mediventa un trio!) Stefania e Gigi, che mi sono sempre vicini con la mente anche selontani fisicamente. Al seguito, ringrazio tutti gli altri cinemi: Christian, Fiorella,Marco e Marianna.

Un enorme grazie va anche a Francesco, che ha sopportato con pazienza i miei“patemi d’animo” durante questi mesi di tesi (e non solo durante questi mesi!).

Infine, un ringraziamento particolare va alla mia famiglia: ai miei genitori, Ettoree Giuseppina, che non mi hanno mai privato di nulla e che hanno sempre credutoin me. Ai miei fratelli Carlo e Giulio e a mia sorella Maria, nonostante litigi ediscussioni! E poi un grazie ai nuovi arrivati, Zaony, Rubi e Giulietta che hannoriempito di gioia la famiglia.

v

Page 6: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 1

Introduzione

1.1 Contesto

La societa in cui viviamo e definita come “societa dell’informazione”. Questo signi-fica che da un mondo dove il prodotto materiale era di centrale importanza, siamopassati ad un mondo in cui tutto ruota intorno ai dati e alle informazioni. L’impor-tanza sempre maggiore delle informazioni ha contribuito fortemente allo sviluppotecnologico dei metodi di comunicazione, permettendo una diffusione sempre piuveloce di questi dati.

Il Web e, senza dubbio, una delle innovazioni che ha modificato maggiormenteil paradigma di creazione e diffusione dei dati. La particolarita di questa tecnologiae, infatti, la volonta di non limitarsi soltanto alla presentazione e diffusione delleinformazioni, ma di creare collegamenti tra dati diversi per sviluppare un percorsonarrativo, diverso per ciascun utente.

Il Web 1.0 soddisfaceva questa esigenza attraverso collegamenti ipertestuali (links).In questo modo, l’utente poteva passare da un documento ad un altro costruendo divolta in volta un percorso innovativo, perche dipendente dalle scelte di navigazionefatte dall’utente stesso.

Il Web 2.0 focalizza la sua attenzione sulla creazione di contenuti. E il Web deluser generated content. Strumenti come YouTube, Flickr, e Social Network comeFacebook e Twitter, consentono agli utenti di essere i protagonisti-creatori delleinformazioni. Questo ha come conseguenza principale l’aumento dei dati presentisulla rete, rendendo necessaria la creazione di nuovi strumenti di organizzazione ericerca di tali dati.

Il passo successivo, quindi, e trovare un modo per organizzare e sfruttare al megliotutte queste informazioni. Il Web Semantico (o Web 3.0) aggiunge rispetto al Web2.0 la possibilita di rendere i dati direttamente utilizzabili ed esplicitabili attraverso

1

Page 7: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

1 – Introduzione

l’utilizzo di un computer. L’obiettivo principale del Web 3.0 e sfruttare le informa-zioni presenti su Internet generando nuova informazione e, di conseguenza, nuovaconoscenza. Il Web Semantico, inoltre, pone l’attenzione sul significato (e quindisulla semantica) dei dati presenti nella rete, tipicamente assente nella struttura deidati presente nel Web. [1]

1.2 Problema affrontato durante la tesi

Il tema principale affrontato durante lo sviluppo della tesi e inerente agli strumentidi visualizzazione e di interazione con i dati del Web Semantico, cioe le ontologie.

La fase di ricerca iniziale ha rilevato alcuni problemi legati agli strumenti perla visualizzazione e per l’interazione con le ontologie. Per quanto riguarda la vi-sualizzazione delle ontologie, gli ambienti di sviluppo del Web Semantico moltospesso presentano un’interfaccia comprensibile soltanto agli esperti di settore, co-me ricercatori ed accademici. Lo stesso limite si ripresenta anche nell’interazionecon l’ontologia, sia che questa sia finalizzata ad una migliore consultazione che aduna modifica dell’ontologia stessa. Un altro problema riscontrato durante la fase diricerca e l’assenza di strumenti che permettono di fruire le ontologie in mobilita.

Data questa premessa, la tesi si propone di trovare un metodo alternativo di vi-sualizzazione e di interazione con i dati del Web Semantico, comprensibile anche agliutenti poco esperti. L’obiettivo e, quindi, progettare uno strumento caratterizzatoda un’interfaccia grafica che sia di facile comprensione e che permetta l’interazionecon l’ontologia in modo intuitivo.

1.3 Conclusione della tesi

La soluzione proposta prevede lo sviluppo di un’applicazione, Ontology Viewer,in grado di visualizzare le ontologie e di effettuare alcune semplici operazioni su diesse. Tenendo in considerazione le caratteristiche necessarie all’applicazione risol-vere i problemi legati alle applicazioni esistenti per il Web Semantico, si e pensatodi utilizzare come supporto di riferimento un Tablet Android. Quest’ ultimo, in-fatti, e caratterizzato tipicamente da un’interfaccia grafica semplice ed intuitiva ein piu permette di capovolgere il paradigma classico di interazione con l’ontologia,utilizzando un approccio esplorativo tipico degli strumenti dotati di touch-screen.

In generale, questi strumenti stanno riscontrando un particolare successo tra iconsumatori: soltanto nel 2010 la Apple ha lanciato il suo prodotto Tablet (Ipad) enei due anni successivi numerosi altri produttori si sono spinti verso questa tecno-logia, rendendola a tutti gli effetti di tipo consumer e non piu un must-have degli

2

Page 8: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

1 – Introduzione

appassionati. Il punto di forza di questo strumento e la possibilita di riunire mol-teplici funzioni (tipiche dei cellullari, dei laptop, dei giornali, ecc...) in un unicosupporto: guardare video, condividere contenuti, leggere news. Sempre piu spes-so, quindi, si sostituisce il cellulare, il PC, la TV con il Tablet [2]. Tutte questecaratteristiche saranno sfruttate per lo sviluppo dell’applicazione.

In definitiva, Ontology Viewer, consente di:

� Visualizzare un’ontologia memorizzata in locale o caricata da Internet.

� Interagire con l’ontologia visualizzata attraverso dei menu. I tipi di interazioneconsentiti riguardano:

- la modifica dell’ontologia,

- l’interrogazione dell’ontologia tramite SPARQL,

- la memorizzazione permanente di alcune caratteristiche dell’ontologia,come bookmark e view.

La progettazione dell’applicazione rivolge particolare attenzione all’interfaccia gra-fica, che dovra essere coerente con le applicazioni Android e, al tempo stesso, difacile comprensione per gli utenti poco esperti del Web Semantico. Alla fase diprogettazione e seguita la fase di sviluppo dell’applicazione, che ha previsto l’im-plementazione di un prototipo di Ontology Viewer. Infine, l’applicazione e statavalutata eseguendo un test con degli utenti e misurandone il grado di comprensibilitae di facilita d’uso.

3

Page 9: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 2

Il Web Semantico

2.1 Cos’e il Web Semantico

Gli utenti del Web si imbattono spesso nel termine “Web Semantico”. Tipicamentesi associa a questo concetto l’idea che le applicazioni o i servizi Internet, ad esempioi motori di ricerca, siano capaci di intendere il linguaggio umano. Nel caso specificodei motori di ricerca, ci si aspetta di poter “interagire” con questi attraverso illinguaggio naturale e non piu attraverso parole chiave.

In realta, secondo la definizione data da Tim Berners-Lee, direttore del WorldWide Web Consortium e gia inventore del WWW [3], nel suo libro “Semantic Web”:

“The Semantic Web is an extension of the current web in which informa-tion is given well-defined meaning, better enabling computers and peopleto work in cooperation.”

“Il Semantic Web e un’estensione del Web attuale in cui le informazionisono strutturate con un senso compiuto, migliorando la cooperazione trale persone ed i computer.”

e chiaro che il Web Semantico ha obiettivi differenti rispetto al pensiero comune-mente condiviso tra gli utenti e si propone di seguire una metodologia ben precisa.

Il Web tradizionale era costituito semplicemente di testi e di collegamenti iper-testuali. La navigazione tra i link creava una sorta di conoscenza, ma era comunquedettata dal produttore dei contenuti. La dove il link non esiste, non esiste informa-zione o conoscenza aggiuntiva. Al contrario, nel Web Semantico le relazioni tra idocumenti non sono dettate a priori, ma sono dinamiche e automatizzate.

Per concretizzare questo rapporto dinamico tra i dati presenti su Internet, ilWeb Semantico si propone di arricchire gli stessi con informazioni aggiuntive che lidescrivano: i metadati (cioe, come sostiene Berners-Lee), dando una struttura piu

4

Page 10: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

formale alle informazioni. Questo consente una collocazione di senso e di contestodelle informazioni cosı descritte.

Ad esempio la parola “albero” puo essere collocata in almeno tre contesti diversi:l’informatica, per la struttura dei dati, la botanica o la nautica. Come puo unamacchina capire il vero contesto a cui ci si riferisce? E proprio questo il compito deimetadati. Una volta capito il significato esatto della parola sara possibile collegarlacon altri concetti appartenenti alla stessa area semantica.

In questo modo le applicazioni e/o i servizi Internet possono dedurre automati-camente dai metadati informazioni altrimenti implicite, imitando, in un certo senso,le deduzioni umane e ottenendo la “collaborazione tra macchine e esseri umani”sostenuta da Berners-Lee.

2.2 La rappresentazione della conoscenza

Il Web Semantico si propone, quindi, di trovare dei metodi che siano adatti allacreazione della conoscenza, attraverso collegamenti semantici e alla rappresentazione(grafica e astratta) delle relazioni tra concetti. I metadati atti alla descrizione deiconcetti e delle loro relazioni devono seguire una struttura ben precisa.

La struttura dei metadati non e una prerogativa del Web Semantico, ma puoessere utilizzata in qualsiasi contesto si trovi necessario una classificazione ed unordinamento delle informazioni. Questa classificazione puo essere fatta attraversometodi diversi, descritti nei paragrafi seguenti.

2.2.1 Tassonomia

La tassonomia di una porzione di conoscenza permette una classificazione gerarchicadi concetti (ad esempio di essere viventi, di luoghi, ecc.). La classificazione gerarchi-ca consiste nel definire tra i concetti una relazione di ereditarieta, ossia la relazionepadre-figlio. La relazione di ereditarieta non e, sufficiente a descrivere in manieracompleta le relazioni esistenti nel mondo reale, ma e l’unico modo efficace per strut-turare in modo ordinato ed organizzato le informazioni riguardanti una porzione diconoscenza, definito anche come dominio.

Un esempio di tassonomia e riportato nella figura 2.1. In questo caso, il concettoPersona e figlio del concetto Agente ed e padre dei due concetti Manager e Impiegato.

La semplice tassonomia non consente la creazione di una relazione di uguaglianza.Infatti, nell’esempio proposto, non sarebbe possibile definire il concetto Dirigentecome sinonimo del concetto Manager.

Classificare i dati, la conoscenza, attraverso una sola relazione e fortemente re-strittivo, soprattutto se si considera la complessita delle aree di conoscenza che ciapprestiamo a rappresentare attraverso il Web Semantico.

5

Page 11: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

Figura 2.1. Esempio di Tassonomia

2.2.2 Thesaurus

Per risolvere i problemi di una classificazione troppo restrittiva tipica della tasso-nomia, il thesaurus aggiunge, alle relazioni sopra descritte, ulteriori relazioni piucomplesse. In un Thesaurus esistono, infatti, sei tipi di relazioni differenti:

� BT, broader term. E l’analogo del concetto di padre. Fa riferimento ad unconcetto piu ampio e meno preciso.

� NT, narrower term. E l’analogo del concetto di figlio. Fa riferimento adun’entita piu dettagliata.

� SN, scope note. Definisce il significato, l’aerea semantica del termine.

� USE, definisce l’esistenza di un sinonimo di un determinato termine. Tipica-mente indica anche la preferenza di utilizzare un termine al posto del termineper cui e definito.

� TT, top term. Identifica la radice della gerarchia.

� RT, related term. Identifica un termine in relazione con un altro, che noncorrisponde alle relazioni di BT, NT o USE.

La figura 2.2 mostra un esempio di thesaurus. Si noti come legato al concetto“Textiles”, siano elencati gli scope note (used for) e i termini correlati (relatedterms).

6

Page 12: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

Figura 2.2. Esempio di Thesaurus

2.2.3 Ontologia

L’ontologia e un modello utilizzato per descrivere “una porzione di mondo”, cioe undominio di conoscenza. Per la formalizzazione di un’area semantica sono utilizzatediverse risorse con caratteristiche differenti: le classi, le proprieta e le relazioni.La particolarita di questo tipo di classificazione e che sia le classi che le proprietapossono essere create ex-novo. Ad esempio, nel caso specifico mostrato in figura2.3, le frecce non indicano una relazione di “parentela” ma ognuna ha un significatodiverso. Non esistono quindi limiti alla classificazione, come abbiamo visto negliesempi precedenti.

La struttura ontologica e quella maggiormente utilizzata per la classificazionedella conoscenza del Web. Probabilmente questo trova in parte giustificazione nelle

7

Page 13: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

potenzialita delle ontologie di descrivere in maniera piu accurata concetti e relazionidi un dato dominio, dando cosı una struttura piu organizzata alla complessita deidati presenti su Internet.[4]

Figura 2.3. Esempio di Ontologia

2.3 Le ontologie

L’ontologia in ambito informatico e stata definita ufficialmente da Gruber nel 1993come:

“an explicit specification of a conceptualization” [5]

“una specificazione esplicita di una concettualizzazione”

Inoltre Gruber specifica:

“An ontology is a description (like a formal specification of a program)of the concepts and relationships that can formally exist for an agent ora community of agents. This definition is consistent with the usage ofontology as set of concept definitions, but more general” [5]

“Una ontologia e una descrizione (come una specifica formale di un pro-gramma) di concetti e relazioni che possono esistere formalmente per unagente o per un insieme di agenti. Questa definizione e coerente con l’usodi un’ontologia intesa come un insieme di definizione di concetti”

L’ontologia, quindi, descrive il modo in cui diversi concetti vengono combinati inuna struttura dati contenente tutte le entita rilevanti e le loro relazioni all’internodi un dominio. I programmi informatici usano le ontologie per una varieta di scopi,tra cui il ragionamento induttivo, la classificazione, ecc.

Come gia sottolineato in precedenza, la classificazione ontologica supera quel-la tassonomica e quella del thesaurus perche consente di specificare classi (definite

8

Page 14: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

anche come tipi), proprieta, relazioni e istanze. Le istanze sono gli oggetti realio ideali descritti attraverso un particolare insieme di tipi e di proprieta. Lo scopodell’ontologia e di rendere le informazioni comprensibili ai programmi senza compro-metterne l’intelligibilita agli esseri umani. I sottoparagrafi che seguono descrivonopiu in dettaglio le entita che fanno parte di un’ontologia.

Classe

Una classe e una risorsa di una ontologia che rappresenta un insieme di altre risorseche condividono delle caratteristiche comuni o che sono in qualche modo simili [1].Ad esempio, come mostrato in figura 2.4, l’entita Mario Rossi appartiene alla classePersona. A sua volta il concetto di Persona puo essere distinto in due ulteriorisottoclassi, Maschio e Femmina. Mario Rossi appartiene alla classe Maschio e diconseguenza alla classe Persona. Tipicamente l’appartenenza di un’istanza ad unaclasse si identifica con l’uso della parola “type”, mentre l’appartenenza di una classead una classe madre si identifica con la parola “is a”.

Figura 2.4. Esempio classi di un’ontologia

Proprieta

Le proprieta all’interno di un’ontologia sono utilizzate per la descrizione delle en-tita. Nel linguaggio OWL (Ontology Web Language) esistono due tipi di proprieta,che mettono in relazione rispettivamente due entita (object property) oppure unaclasse ed una istanza (datatype property). Data una proprieta direzionale, l’insiemedelle classi di appertememza di partenza di una determinata proprieta viene defi-nita “dominio”, mentre l’insieme delle classi di appartenenza dell’insieme di arrivodi una proprieta e definita “range”. La figura 2.5 ne mostra un esempio: la pro-prieta HaGruppoSanguigno ha come dominio il tipo Persona e come range il tipoGruppoSanguigno.

9

Page 15: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

Figura 2.5. Esempio proprieta di un’ontologia

2.3.1 Progettazione di un’ontologia

La progettazione di una ontologia prevede principalmente la definizione di tutte lerisorse che la compongono, siano queste classi, relazioni o istanze, riferite ad unparticolare dominio di interesse.

Tipicamente prevede i seguenti passi [6]:

� Acquisire conoscenza sul dominio che dovra essere rappresentato. Durantequesta fase si devono raccogliere quante piu informazioni possibili sul domi-nio, con l’aiuto di esperti del settore. E fondamentale comprendere i terminiformalmente utilizzati per descrivere le entita appartenenti a tale dominio.Dopo la raccolta delle informazioni, si prosegue con la scelta di un linguaggiocomune per la descrizione delle entita.

� Organizzare l’ontologia. Durante questa fase si passa alla definizione delleentita che faranno parte dell’ontologia: bisogna identificare, quindi, quali sonoi concetti astratti e quali termini possono essere utilizzati per descriverli almeglio. Da questo scaturisce la definizione delle classi e delle proprieta. Questopasso si suddivide in tre fasi:

- Dare una definizione a ciascun termine in linguaggio naturale, ossia de-finire il flat glossary. I verbi utilizzati si trasformano in processi e i nomidiventano oggetti o attori.

- Specializzare i termini definiti nella fase precedente, ossia definire lostructured glossary e identificare gli attributi da assegnare ai concetti.

- Identificare le relazioni esistenti tra i concetti.

� Popolare l’ontologia. Questa fase prevede l’aggiunta di concetti e di relazioniper soddisfare i requisiti dell’ontologia. Esistono due approcci differenti perla popolazione di una ontologia: bottom-up e top-down. Nel primo caso siparte da entita particolari del dominio che a mano a mano vengono astratte

10

Page 16: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

in concetti generali. Al contrario, nel secondo caso si parte da una generaliz-zazione che viene specializzata a passi successivi. Esiste anche un terzo tipodi approccio che prevede una combinazione tra i due metodi. In questa fasevengono formalizzate anche le relazioni, definendone ad esempio il range ed ildominio, la cardinalita, ecc.

� Controllare la consistenza dell’ontologia, cioe evitare la presenza di informa-zioni che siano discordanti tra loro in senso logico.

� Definire le risorse tenendo in considerazione le ontologie gia esistenti, riutiliz-zando le risorse che sono gia definite in altre ontologie.

� Sottoporre l’ontologia ad una verifica da parte degli esperti di dominio.

2.3.2 Struttura del Web Semantico

Figura 2.6. Struttura del Web Semantico

Le ontologie sono utilizzate nel Web Semantico per dare una formalizzazioneai dati presenti su Internet in modo da garantirne l’interoperabilita e la compren-sione da parte di applicazioni diverse. Per questo motivo, e necessario un sup-porto “linguistico-tecnologico’’ per la descrizione delle entita, delle relazioni e delleproprieta.

11

Page 17: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

Esistono diversi livelli di dettaglio e di formalizzazione nel Web Semantico. La fi-gura 2.6 mostra la classificazione dei linguaggi utilizzati per la descrizione e l’accessoai dati del Web Semantico.

Tutte le risorse appartenenti ad una ontologia devono poter essere identificateunivocamente. Questo si ottiene definendo per ogni entita un URI, acronimo di“Uniform Resource Identifier”. Come mostra la figura 2.6, questo e il livello basedella sintassi di descrizione delle ontologie. L’URI e un modo standard per iden-tificare le risorse e non garantisce la raggiungibilita di queste, a differenza del piucomunemente conosciuto URL (“Uniform Resource Locator”). La scelta di utiliz-zare un URI piuttosto che un URL risiede nel fatto che le risorse facenti parte diun’ontologia non sono sempre raggiungibili. Cio non toglie che, in alcuni casi, l’URIpossa corrispondere con la localizzazione della risorsa.

XML

Il livello superiore a questo include XML, acronimo di “Extensible Markup Langua-ge”. Il linguaggio XML permette di struttutare i documenti e descriverli attraversoi tag (o markup), permettendo di definire vocabolari (schema) in funzione delle in-formazioni rappresentate. Ad esempio, se si vuole descrivere tutto cio che ha a chefare con un catalogo di libri, attraverso XML si puo definire innanzitutto il tag <ca-talog >, che contiene un insieme di tag <book >. All’interno di questi ultimi, sonoulteriormente specificati l’autore, il titolo, la descrizione e la data di pubblicazioneattraverso tag piu specifici. L’esempio e mostrato nel codice riportato di seguito.Si tratta di un linguaggio molto versatile che si adatta alla descrizione di qualsiasigenere di dato e che spesso e utilizzato come base per la “costruzione” dei linguaggidel Web Semantico, anche perche permette la comunicazione tra macchine diversein modo semplice e veloce.

<?xml ve r s i on = ’1.0 ’?><cata log>

<book id =’bk101 ’><author>Gambardella , Matthew</author><t i t l e >XML Developer ’ s Guide</ t i t l e ><genre>Computer</genre><pr i ce >44.95</ pr i ce><pub l i sh date >2000−10−01</pub l i sh date><d e s c r i p t i o n>An in−depth look at c r e a t i n g

a p p l i c a t i o n with XML</d e s c r i p t i o n></book><book id =’bk102 ’><author>Ral l s , Kim</author><t i t l e >Midnight Rain</ t i t l e >

12

Page 18: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

<genre>Fantasy</genre><pr i ce >5.95</ pr i c e><pub l i sh date >2000−12−16</pub l i sh date><d e s c r i p t i o n>A former a r c h i t e c t b a t t l e s

co rporate zombies , an e v i l s o r c e r e s s , andher own ch i ldoon to become queen o f the

world .</ de s c r i p t i o n></book><book id =’bk103 ’><author>Corets , Eva</author><t i t l e >Maeve Ascendant</ t i t l e ><genre>Fantasy</genre><pr i ce >5.95</ pr i c e><pub l i sh date >2000−11−17</pub l i sh date><d e s c r i p t i o n>After the c o l l a p s e o f a

nanotechnology s o c i e t y in England , theyoung s u r v i v o r s lay the foundat ion f o r anew s o c i e t y .</ de s c r i p t i o n>

</book></cata log>

RDF

RDF, acronimo di “Resource Description Framework”, segue la struttura del lin-guaggio XML. Secondo il linguaggio RDF, tutte le informazioni riguardanti le entitaappartenenti al Web Semantico possono essere descritte attraverso degli statements :si tratta, in pratica di frasi formate da una tripla soggetto-predicato-oggetto attra-verso cui descrivere le risorse. Il senso di uno statement e analogo a quello di unafrase, formata da soggetto-predicato-complemento, nel linguaggio umano. [1]

Le caratteristiche principali del linguaggio RDF sono:

� Un modello di rappresentazione semplice.

� Separazione netta tra la struttura dei dati, l’interpretazione semantica e lasintassi.

� Due principali datatype: URI e Literal, che corrispondono alle istanze, tipica-mente rappresentate attraverso una stringa.

� Integrazione con i documenti Web perche si utilizza la sintassi tipica dellinguaggio XML. Inoltre, le URI attraverso cui sono identificati i dati, pos-sono rappresentare delle risorse fisiche nel Web, rendendole in questo casoraggiungibili.

13

Page 19: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

� Permette a chiunque di enunciare degli statements. In questo modo, pero,non e possibile garantire ne la completezza ne la consistenza del modello diconoscenza.

Gli statements possono essere rappresentati attraverso la sintassi XML oppureattraverso le sintassi “Turtle” o “N3”; queste ultime non sono altro che un’abbre-viazione della sintassi XML. Ad esempio, se dovessimo rappresentare attraversoun’ontologia delle informazioni del tipo “Il dottor Enric Miller ha come contatto lamail [email protected]”, nella sintassi RDF/XML sarebbe descritto in questo modo:

<?xml ve r s i on =”1.0”?><rd f : RDFxmlns : rd f=”http ://www. w3 . org /1999/02/22− rdf−

syntax−ns#”xmlns : contact=”http ://www. w3 . org /2000/10/

swap/pim/ contact#”><contact : Personrdf : about=”http ://www. w3 . org /

People /EM/ contact#me”><contact : fullName>Eric Mi l l e r </

contact : fullName><contact : mai lboxrdf : r e s ou r c e=”mai l to

:em@w3. org”/><contact : p e r s ona lT i t l e>Dr.</ contact :

p e r s ona lT i t l e></contact : Person>

</rd f :RDF>

Nella sintassi di tipo “Turtle” queste stesse informazioni sono rappresentate inmaniera piu compatta, dividendo tutte le informazioni che identificano le caratteri-stiche dell’entita “Eric Miller” in triple nettamente separate:

<http ://www. w3 . org / People /EM/ contact#me><http ://www. w3 . org /2000/10/ swap/pim/ contact#fullName>” Er ic M i l l e r ” .

<http ://www. w3 . org / People /EM/ contact#me><http ://www. w3 . org /2000/10/ swap/pim/ contact#mailbox><mai l to :em@w3. org> .

<http ://www. w3 . org / People /EM/ contact#me><http ://www. w3 . org /2000/10/ swap/pim/ contact#pe r s ona lT i t l e>”Dr . ” .

<http ://www. w3 . org / People /EM/ contact#me>

14

Page 20: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

<http ://www. w3 . org /1999/02/22− rdf−syntax−ns#type><http ://www. w3 . org /2000/10/ swap/pim/ contact#Person> .

Infine, la sintassi “N3”:

w3people :EM#me contact : fullName ” Er ic M i l l e r ” .w3people :EM#me contact : mailbox <mai l to :em@w3. org> .w3people :EM#me contact : p e r s o n a l T i t l e ”Dr . ” .w3people :EM#me rd f : type contact : Person .

Come si vede dagli esempi, in tutti e tre i casi le informazioni sono rappresentateattraverso l’utilizzo di triple del tipo soggetto-predicato-oggetto, ma le ultime duesintassi risultano essere piu comprensibili e piu leggibili dagli esseri umani.

RDFS

RDFS, acronimo di “Resource Description Framework Schema”, consente attraver-so la sintassi RDF di definire uno schema, cioe una descrizione della struttura diun’ontologia e non del suo contenuto. RDFS puo essere considerato come un “voca-bolario” dei termini che saranno successivamente usati da RDF. Attraverso RDFS,quindi, e possibile tipizzare e dare delle restrizioni alle proprieta di un’ontologia,come ad esempio definirne dominio e range. Nell’esempio riportato, la proprietaauthor avra come dominio l’entita Document e come range l’entita Person:

eg : Author r d f s : domain eg : Documenteg : Author r d f s : range eg : Person

RDFS consente anche di tipizzare delle risorse, assegnandogli una determinataclasse o definendole come sottoclassi di una classe gia esistente:

ex : MotorVehicle rd f : type eg : Class .ex th ings : companyCar rd f : type ex : MotorVehicle .

ex : Van rd f : type r d f s : Class .ex : Truck rd f : type r d f s : Class .ex : Van rd f : s u b c l a s s o f r d f s : MotorVehicle .

Nell’esempio sopra riportato, le entita “MotorVehicle”, “Van” e “Truck” sonodefinite come classi. All’entita “comapanyCar” e associato il tipo “MotorVehicle”,mentre la classe “Van” e descritta come una sottoclasse di “MotorVehicle”.

OWL

OWL, acronimo di “Ontology Web Language”, analogamente ad RDF/S, e utiliz-zato per la descrizione sia della struttura di un’ontologia sia dei dati veri e propri.

15

Page 21: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

Infatti, OWL e utilizzato per la rappresentazione del significato dei termini di un’on-tologia e le relazioni fra questi. A differenza di RDF, OWL e studiato appositamenteper l’elaborazione di ontologie da parte di applicazioni e non soltanto ad uso degliesseri umani. [7]

Un’altra importante caratteristica di questo linguaggio e la corrispondenza quasiperfetta con la description logic (DL) [4]. DL e una famiglia di linguaggi utilizza-ti per la descrizione della realta, utilizzati soprattutto per l’intelligenza artificiale,ossia per rendere un PC capace di fare ragionamenti deduttivi partendo dal forma-lismo attraverso cui i dati sono descritti, ma e fonte di ispirazione anche per il WebSemantico che ne sfrutta la decidibilita.

OWL si propone, inoltre, di superare molte delle lacune di RDFS che non consen-te la descrizione dettagliata delle risorse sul Web. RDFS non consente, ad esempio,di definire in maniera locale il range ed il dominio di una proprieta (la proprieta Ha-sChild ha come range e dominio l’elemento Person se applicata a delle persone, manon vale lo stesso se associata ad un animale). Inoltre non e possibile specificare deivincoli sulle proprieta, come la cardinalita, e definirle come transitive, simmetricheecc...

Nel dettaglio, in piu rispetto ad RDFS, OWL consente di definire:

� Due classi o due proprieta equivalenti tra loro: owl:equivalentClass/Property.

� Due classi o due proprieta differenti tra loro: owl:differentFrom.

� Classi e proprieta come unione, intersezione, ecc... di altre classi e proprieta.

� Restrizioni di cardinalita sulle classi e/o sulle proprieta: ad esempio si puospecificare che l’entita Person ha una ed una sola associazione con l’entitaMother.

OWL, grazie alla corrispondenza con la DL, consente di identificare facilmenteeventuali inconsistenze nel modello logico rappresentato e di identificare i tipi delleistanze.

Ad oggi, esistono tre diversi livelli del linguaggio OWL, che si distinguono per lediverse possibilita nella descrizione delle ontologie:

� OWL Lite: e il linguaggio piu “leggero”, cioe che limita maggiormente l’u-tente nella definizione delle caratteristiche delle ontologie. Ad esempio, none possibile descrivere delle proprieta con cardinalita diversa da 0/1 e non epossibile utilizzare contemporaneamente la sintassi OWL e la sintassi RDF.Una nuova classe puo essere definita da zero oppure partendo da altre dueclassi, ma solamente con il costrutto IntersectionOf.

16

Page 22: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

� OWL DL: rispetto alla specifica precedente, OWL DL permette di definirele classi in maniera piu complessa utilizzando i costrutti quali UnionOf, Com-plementOf, IntersectionOf. In questo caso non esistono limiti sulla cardinalitadelle proprieta. Questo livello di OWL ha una corrispodenza perfetta con laDL ed e quindi decidibile.

� OWL Full: questo linguaggio e quello piu “libero”. In piu rispetto all’OWLDL, e possibile utilizzare anche la sintassi RDF, in quanto questa e inclusanel linguaggio OWL Full. Di conseguenza, tutti i documenti RDF sono ancheOWL Full, cosa che non accade per OWL DL e OWL Lite.

Le sintassi per la scrittura di documenti OWL sono molteplici ed ognuna diquesta si presta a particolari scopi. La sintassi “Functional-Style”, ad esempio, eindicata per l’implementazione di applicazioni semantiche. Anche in questo caso, leontologie possono essere descritte secondo le sintassi RDF/XML e “Turtle”, renden-dole piu intellegibili agli esseri umani, ma dando per scontato che siano comunqueesperti del settore. La sintassi “Manchester”, invece, si presta ad essere letta anchedai non esperti. I listati che seguono presentano un confronto tra le diverse sintassinominate, nel caso in cui si voglia esprimere l’informazione “Maria e una persona”.Sintassi “Functional-Style”

Cla s sAs s e r t i on ( : Person : Maria )

Sintassi RDF/XML

<Person rd f : about=‘Maria ’>

Sintassi “Turtle”

<Maria rd f : type : Person> .

Sintassi “Manchester”

I n d i v i d u a l : Maria Types : Person

2.3.3 Interrogazione di un’ontologia - SPARQL

Il principale problema affrontato fin’ora sul Web Semantico riguardava soprattuttole metodologie di strutturazione delle ontologie. Come abbiamo specificato nel-l’introduzione della tesi, il Web Semantico si propone innanzitutto di trovare unarappresentazione dei dati tali da permetterne la “comprensione” da parte delle appli-cazioni. In questo senso il linguaggio SPARQL diventa fondamentale per raggiungere(almeno in parte) questo obiettivo. Infatti, secondo l’opinione di Tim Berners-Lee:

“SPARQL will make a huge difference”

17

Page 23: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

“SPARQL fara un enorme differenza”

SPARQL, acronimo ricorsivo di “Sparql Protocol And Rdf Query Language”,e un linguaggio di interrogazione e editing studiato per dati organizzati secondo lasintassi RDF.

La sintassi di SPARQL e molto simile a quella del linguaggio di interrogazioneSQL, e si basa su una sintassi di tipo “Turtle”. Le condizioni che i risultati diuna query devono soddisfare sono espresse tramite delle triple del tipo soggetto-predicato-oggetto.

Una query SPARQL ha una struttura ben precisa, caratterizzata dalle seguenticlausole:

� PREFIX, specifica i prefissi comune agli URI utilizzati nella query.

� SELECT, specifica la variabile (o le variabili) che devono essere recuperatetramite la query.

� WHERE, specifica le condizioni, attraverso un elenco di triple, che le variabilidella clausola SELECT devono rispettare.

� FROM, specifica l’ontologia che deve essere interrogata.

Di seguito e riportato un esempio molto semplice di query :

PREFIX dc : <http :// pur l . org /dc/ e lements /1 .1/SELECT ? t i t l eWHERE { <http :// example . org /book/book1> dc : t i t l e ? t i t l e }

La query presa in esame restituira il titolo del libro identificato dall’URI <http://example.org/book/book1>. [8]

Una query SPARQL puo essere compilata direttamente a mano, oppure si posso-no utilizzare degli strumenti che ne facilitano la costruzione. Un esempio e ViziQuer,un programma che permette di esplicitare graficamente la query da eseguire, senzala necessita di una conoscenza approfondita del linguaggio di interrogazione da partedell’utilizzatore. La figura 2.7 mostra un esempio del programma.

In generale, per poter eseguire una query su una qualsiasi ontologia e necessarioutilizzare un endpoint. Questi non sono altro che dei punti di accesso a database ditipo RDF (detti anche “Triple Store”), dove le informazioni memorizzate seguonola sintassi RDF e su cui e possibile eseguire delle query. Un esempio e OpenLinkVirtuoso SPARQL Query che, attraverso un’interfaccia, permette all’utente di ese-guire delle query SPARQL ad un Triple Store Virtuoso. Al contrario di ViziQuer, inquesto caso le query devono essere scritte testualmente, senza alcun supporto grafico(figura 2.8).

18

Page 24: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

2 – Il Web Semantico

Figura 2.7. Schermata di ViziQuer

Figura 2.8. Schermata di OpenLink Virtuoso SPARQL Query

19

Page 25: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 3

Tool per il Web Semantico

3.1 Strumenti di sviluppo esistenti

Gli strumenti che consentono, in maniera piu o meno diretta, di creare e/o edita-re delle ontologie sono molteplici. Di seguito sono riportati nel dettaglio soltantouna parte degli strumenti esistenti, facendo riferimento al sito http://www.w3.org/

wiki/Ontology_editors.

3.1.1 Protege

Link: http://protege.stanford.edu/

Protege (figura 3.1) e sicuramente lo strumento piu utilizzato per la creazione ela modifica di ontologie. E un programma sviluppato dall’universita di Stanford [9].E completamente gratuito e open source, ed e supportato da un grande numero disviluppatori e accademici. Il programma e basato su Java. Sono presenti numerosiplug-in per estendere le funzionalita di questo strumento e facilitarne l’utilizzo. Ilprogramma offre un ambiente grafico che consente la creazione di ontologie attraversodue modalita:

� Protege-Frames Editor: questa modalita consente di popolare le ontolo-gie costituendo una gerarchia di classi rappresentanti determinati concetti.Ogni classe e caratterizzata da slot, che rappresentano le proprieta e relazioni.Questa modalita segue il protocollo OKBC1.

� Protege-OWL Editor: questa modalita consente di creare ontologie per ilWeb Semantico, secondo le regole del linguaggio OWL.

1Per maggiori informazioni http://www.ai.sri.com/ okbc/

20

Page 26: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.1. Schermata di Protege

Protege fornisce gli strumenti per creare una qualsiasi ontologia, definendone quindile classi, la gerarchia tra loro esistente, le loro proprieta e eventuali istanze. Perla definizione delle istanze e necessario specificare i valori delle proprieta ad esseassociate.

L’Editor OWL mette a disposizione dell’utente la possibilita di esportare leontologie create in diversi formati (RDF, RDFS, OWL, XML).

Protege offre delle API che consentono l’utilizzao del modello di rappresentazionedei dati di Protege da parte di altri programmi.

3.1.2 Neon Toolkit

Link: http://protege.stanford.edu/

NeOn Toolkit (figura 3.2) e un ambiente multi-piattaforma open source che con-sente la creazione di ontologie e comprende il supporto dell’intero ciclo di vita del-l’ontologia grazie alla progettazione modulare del programma e alla possibilita diespansione tramite i numerosi plug-in (Annotation and Documentation, Develop-ment, Human-Ontology Interaction, Knowledge Acquisition, Management, Modula-rization and Customization, Neon Plugins, Ontology Dynamics, Ontology Evalua-tion, Ontology Matching, Reasoning and Inference, Reuse.). Il programma e basatosu piattaforma Eclipse e sviluppato in Java.

L’obiettivo principale di questa applicazione e consentire lo sviluppo di ontologiedifferenti, ma che riferiscono alla stessa area concettuale.

21

Page 27: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.2. Schermata di NeonToolkit

Il programma permette di creare le ontologie in modo collaborativo e di se-guirne in modo piu semplice la continua evoluzione. Anche in questo caso, comeper Protege, il programma consente lo sviluppo di ontologie secondo le regole deilinguaggi RDF e OWL.

3.1.3 Swoop

Link: http://www.mindswap.org/2004/SWOOP/

SWOOP (figura 3.3) e stato sviluppato dal gruppo MIND presso l’Universita delMaryland. Il programma e finalizzato alla facile creazione e navigazione di ontologieOWL.

L’aspetto grafico di questa applicazione si discosta leggermente rispetto agli altrieditor. La maggior parte dei tool, infatti, si basa sul paradigma KR (Knowledge Re-presentation). Tipicamente questi sistemi hanno una curva di apprendimento moltoripida e sono poco usabili dagli utenti di Internet, che hanno maggiore confidenzacon le applicazioni Web.

Per questo motivo la metafora di navigazione utilizzata in Swoop e simile a quelladel browser Web. Risulta, cosı, essere uno strumento di facile utilizzazione da partedell’utente medio del Web.

22

Page 28: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.3. Schermata di Swoop

3.1.4 Top Braid Composer

Link: http://www.topquadrant.com/products/TB_Composer.html

Figura 3.4. Schermata di Top Braid Composer

Top Braid Composer (figura 3.4) e un ambiente di sviluppo di ontologie per

23

Page 29: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

il Web Semantico. Consente anche lo sviluppo di semplici applicazioni semantiche.Oltre alla possibilita di creare ontologie secondo gli standard RDF e OWL, e possibileanche eseguire delle query SPARQL sulle ontologie. Sono presenti tre differentiedizioni del programma:

� Maestro Edition: questa e la versione con maggiori features, ottimizzataper lo sviluppo di applicazioni Web semantiche. Include un server interno checonsente il test delle applicazioni sviluppate.

� Standard Edition: comprende un editor grafico per i grafi RDF, inclusa lapossibilita di generare le query SPARQL nella vista del grafo. E possibileutilizzare database scalabili (Jena SDB/TDB, AllegroGraph, Oracle 11g e Se-same). Consente anche la conversione automatica da dati XML, XSD, Excel,UML e altro. In questo modo e possibile eseguire le query SPARQL anche sudatabase relazionali.

� Free Edition: questa edizione puo essere considerata come uno strumentoadatto al primo approccio verso la descrizione di ontologie ed il Web Semantico.Consente, infatti, di creare ontologie RDF(S)/OWL e di interrogarle tramiteSPARQL.

3.1.5 Vitro

Link: http://vitro.mannlib.cornell.edu/

Sviluppato presso la Cornell University, Vitro e un applicazione Web in Java checonsente di creare o importare ontologie in formato OWL, di modificare le istanzedelle classi e le relazioni. Punto di forza di Vitro e la possibilita di costruire auto-maticamente un sito Web che consente di visualizzare facilmente i dati caricati nelleontologie.

3.1.6 Knoodl

Link: http://knoodl.com/ui/home.html

Questo sistema si propone come un’innovazione nell’ambito della gestione deidati aziendali, conciliando tecniche tradizionali di gestione dei dati e tecniche tipichedella semantica. Attraverso Knoodl e possibile la creazione, la gestione, l’analisi evisualizzazione di dati descritti tramite RDF/OWL.

24

Page 30: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

3.1.7 Anzo for Excel

Link: http://www.cambridgesemantics.com/semanticexchange/

E un plug-in per Excel che consente di associare facilmente un’ontologia a deidati strutturati in fogli di calcolo.

Questo tool ha come obiettivo la condivisione di informazioni scritte in Excel,arricchendole tramite l’aggiunta di “informazioni semantiche”.

Nel plug-in sono gia presenti le strutture di alcune ontologie, a cui gli utentipotranno associare le istanze specificate nei fogli di calcolo. Una volta associate leclassi alle istanze, e possibile condividere i dati in tutta l’azienda, presentarli tramiteun sito Web o inviarli tramite e-mail.

Una volta ricevuta l’e-mail e consentito modificare i dati, che verranno automa-ticamente aggiornati.

La visualizzazione sul Web permette agli utenti di consultare i dati e selezionaresolo quelli di interesse (tramite checkbox, ad esempio). I dati sono tutti interconnessitra loro e sincronizzati, per permetterne l’aggiornamento automatico.

3.1.8 Neologism

Link: http://neologism.deri.ie/about

Figura 3.5. Schermata di Neologism

25

Page 31: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Neologism (figura 3.5) si discosta leggermente dai tool visti in precedenza. Sitratta, infatti, di un editor che consente la creazione di vocabolari RDFS e la loropubblicazione. Non e adatto per la gestione di ontologie complesse, ma e utile permodificare e/o integrare in modo veloce e semplice i vocabolari.

3.1.9 OntoTrack

Link: http://www.informatik.uni-ulm.de/ki/ontotrack/

Figura 3.6. Schermata di OntoTrack

Ontotrack (figura 3.6) e un’applicazione sviluppata in Java e presenta una solavista integrata che consente di visualizzare e/o modificare l’ontologia. In questo mo-do non e necessario cambiare visualizzazione per editare l’ontologia, ma e possibileeseguire entrambe le operazioni tramite la stessa interfaccia.

Questo tool rende modificabile una ontologia semplicemente attraverso l’utiliz-zo del mouse sull’interfaccia grafica, attraverso la selezione delle possibili opzionidi modifica. Al contrario altri editor, come Protege, permettono la modifica suun’ontologia attraverso un processo piu complesso.

L’applicazione consente anche di aprire piu ontologie contemporaneamente e lerende navigabili tramite etichette.

26

Page 32: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

3.1.10 CropCircle

La principale particolarita di questo tool e il metodo di visualizzazione presentato:l’obiettivo principale e dare una visualizzazione immediata della gerarchia tra leclassi. Per questo motivo classi e sottoclassi di una ontologia sono rappresentateattraverso dei cerchi annidati, come mostrato in figura 3.7 [10].

Figura 3.7. Vista CropCircle

3.1.11 OntoRama

Link: http://www.ohloh.net/p/ontorama, http://www.daml.org/tools/#OntoRama

OntoRama e un’applicazione utilizzata per la visualizzazione di ontologie RD-F/DAML.

Anche questo tool si distingue dagli altri principalmente per il metodo di visua-lizzazione dell’ontologia. In questo caso l’analogia non e piu quella dell’albero, maquella della foresta: cio significa che in una stessa ontologia esistono piu nodi radice,che formano tanti alberi.

3.2 Limiti generali dei tool

Come anticipato nell’introduzione, la tesi prevede lo sviluppo di un’applicazione peril Web Semantico che permetta di semplificare la visualizzazione e l’interazione conle ontologie, considerando anche la fruizione dell’applicazione in mobilita.

Sono stati analizzati i limiti e gli svantaggi dei tool tradizionali, riferendosiprincipalmente ai seguenti aspetti:

� il target dell’applicazione,

27

Page 33: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

� la complessita di apprendimento dell’applicazione,

� l’interfaccia grafica.

In generale, le applicazioni per il Web Semantico si rivolgono ad un target di per-sone esperte del settore. Infatti, coloro che si avvicinano per la prima volta al WebSemantico non riescono facilmente a comprendere l’utilizzo di questi tool. La moti-vazione dell’incomprensione dell’applicazione non sempre dipende dal target per cuie stata studiata, ma spesso risiede anche in una cattiva ed inefficiente progettazionedell’interfaccia grafica, riferendosi sia ai metodi di interazione che alla metafora dinavigazione utilizzata.

In questo panorama esistono, pero, delle eccezioni: Anzo for Excel, ad esempio,al contrario di altri programmi, consente anche agli utenti che hanno una limitataconoscenza del Web Semantico di creare delle ontologie grazie al supporto di Excel,che opera come strumento intermedio tra l’utente e la progettazione diretta dell’on-tologia. Anzo rappresenta un’eccezione anche per un altro aspetto: mentre le altreapplicazioni sono specifiche per il Web Semantico, senza nessuna connessione conaltre aree, Anzo e studiato per le applicazioni aziendali. E uno degli esempi di comela semantica puo risultare utile anche a livello produttivo e non solo di ricerca.

Per quanto riguarda l’interfaccia grafica, spesso questo tipo di applicazioni adot-tano una metafora di navigazione tipica dei programmi per PC tradizionali, ossia ditipo point&click. Per la selezione di opzioni all’interno del programma sono spessoutilizzati i menu a tendina. Al giorno d’oggi, con il sempre maggiore sviluppo diInternet e la crescente diffusione di dispositivi mobili come Smartphone e Tablet,tale interfaccia e senza dubbio obsoleta. Un’eccezione tra i programmi presentatie Vitro: dal momento che e progettato come un’applicazione Web, la sua inter-faccia e simile a quella utilizzata dai browser, molto piu pulita e intuitiva rispettoall’interfaccia dei programmi per PC, avvicinandosi ai gusti dei consumatori odierni.Anche Swoop e, allo stesso modo di Vitro, un’eccezione tra i tool descritti, datoche presenta un’interfaccia grafica differente rispetto agli altri editor.

In generale, un punto a sfavore di tutte queste applicazioni e l’impossibilita dieditare graficamente le ontologie. Ad esempio, Protege permette di effetuare del-le modifiche su un’ontologia, ma questo avviene tramite delle finestre sovrimposteall’applicazione, i pop-up, nelle quali l’utente deve specificare le opzioni di modifi-ca. Si tratta di procedimenti lunghi e poco intuitivi soprattutto per i non esperti.Ontotrack tenta di superare questo processo macchinoso, unendo la funzione di vi-sualizzazione e di modifica in un’unica interfaccia, rendendo quest’ultima operazionepossibile soltanto attraverso l’uso del mouse.

28

Page 34: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

3.3 Metodi di visualizzazione

Visualizzare graficamente una struttura dati di tipo ontologico e necessario per con-sentire agli utenti di avere una visione di insieme dell’ontologia e focalizzare velo-cemente i punti di interesse per trarne informazioni. Ogni applicazione prediligeuna metafora di navigazione piuttosto che un’altra a seconda degli scopi per cui eutilizzata.

Le metafore di navigazione piu frequentemente utilizzate sono [11]:

� Indented list: questo metodo di visualizzazione e utilizzato da Protege. Leclassi e le sottoclassi sono presentate sotto forma di elenco espandibile. Leistanze delle classi vengono visualizzate separatamente (figura 3.8).

Figura 3.8. Indented List

� Node Link/Tree: questo metodo di visualizzazione e utilizzato da Onto-Track. In questo caso l’ontologia e rappresentata attraverso l’utilizzo di nodie archi. Il layout puo essere verticale o orizzontale. I nodi rappresentanole classi, mentre gli archi rappresentano l’ordinamento gerarchico tra le clas-si o altri tipi di relazioni. Tipicamente l’utente puo espandere o contrarredeterminate classi, in modo da decidere il livello di dettaglio da visualizzare(figura 3.9). Questo tipo di visualizzazione e concepito sia in 2D che in 3D.La figura 3.10 mostra un esempio di visualizzazione in 3D. La particolaritadella visione 3D e poter ruotare l’ontologia visualizzata in uno spazio tridi-mensionale, quindi rispetto ai tre assi dello spazio. In questo modo, all’interno

29

Page 35: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.9. Node Link 2D

della stessa porzione di spazio, e possibile rappresentare un maggior numerodi informazioni rispetto alla visualizzazione 2D.

Figura 3.10. Node Link 3D

� Zoomable: questo metodo di visualizzazione di ontologie rappresenta la ge-rarchia delle classi annidandole l’una nell’altra. Per visualizzare i dettagli delleontologie, l’utente deve ingrandire la vista, scegliendo il livello di profonditada visualizzare. Anche in questo caso, la visualizzazione puo essere sia 2D che3D (figura 3.11).

30

Page 36: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.11. Zoomable

� Space filling: come specificato dal nome, questo metodo di visualizzazionesuddivide lo spazio tra classi madre e classi figli in modo da occupare tutto lospazio disponibile, sia in 2D che in 3D (figura 3.12).

� Hyperbolic trees: tipicamente questo tipo di rappresentazione pone il nodo-radice dell’ontologia al centro dello spazio di visualizzazione. Tutt’intorno sonorappresentati gli altri nodi-figli disposti circolarmente e collegati attraverso unalinea al nodo-radice. A loro volta, i figli sono rappresentati allo stesso modo,dove ogni nodo diventa il centro di riferimento per i propri nodi figli. I simboliche rappresentano le classi diventano sempre piu piccoli fino a non essere piuvisibili.(figura 3.13)

31

Page 37: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.12. Space filling

3.4 Limiti dei metodi di visualizzazione

Il tipo di visualizzazione di un’ontologia e dettato principalmente dal suo scopo. Adesempio, rendere visibile solo una parte dell’ontologia o soltanto le sue classi di livellopiu alto, come accade per la lista indentata (se non viene espansa), da all’utenteuna visione d’insieme dei concetti proposti, ma non permette l’approfondimento.Al contrario, una visualizzazione completa di tutte le classi, sottoclassi, istanze erelazioni (come accade, ad esempio, nella visualizzazione Zoomable o HyperbolicTrees), consente la ricerca visiva dei concetti da parte dell’utente, ma non unapratica visualizzazione, soprattutto se le ontologie sono molto grandi e complesse.

La visualizzazione di tipo Zoomable si concentra sulla rappresentazione ge-rarchica delle classi. In questo modo l’utente ha sott’occhio l’organizzazione delleontologie. L’aspetto negativo di questo tipo di visualizzazione e la poca leggibilitadei nomi delle classi e il poco livello informativo che la gerarchia di un’ontologiarappresenta. Se da una parte l’utente visualizza la gerarchia, dall’altra non riescefacilmente a risalire ai concetti a cui si riferisce, cosa che invece non accade se iconcetti sono rappresentati sotto forma di lista [10].

Rappresentare le ontologie sotto forma di lista indentata e un vantaggio dato il

32

Page 38: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

3 – Tool per il Web Semantico

Figura 3.13. Hyperbolic tree

livello di familiarita che gli utenti hanno con questo tipo di visualizzazione ed allasua diffusione (si pensi ai menu-lista delle applicazioni desktop-based). Nel caso incui una nuova applicazione utilizzi questa metafora, non si dovra mettere in conto iltempo di apprendimento e comprensione dell’interfaccia. Se da un lato si gioca sulsicuro, dall’altro, lo sviluppo e la diffusione a livello consumer delle nuove tecnologiecome Smartphone e Tablet e di nuove metafore di visualizzazione caratterizate dacontenuti grafici di alta qualita e da un’interazione diretta dell’utente sull’applicazio-ne rendono la lista indentata una soluzione obsoleta e non adatta a questi dispositividove l’interazione e basata sul tocco. Al contrario, i sistemi di rappresentazione co-me Hyperbolic Tree si prestano meglio a questo tipo di supporti, considerandoche la visualizzazione puo essere espansa anche oltre le dimensioni fisiche del display(possibilita di zoom-in e zoom-out) senza rendere difficile l’interazione [11].

33

Page 39: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 4

Ontology Viewer

Lo sviluppo delle applicazioni (d’ora in avanti deifnite come app) per Tablet devetener conto del diverso tipo di interazione che gli utenti hanno con questi strumentirispetto alle applicazioni desktop-based o web-based. Mentre per queste ultime duesi utilizzano piu periferiche di input per la gestione della visualizzazione, e piu ingenerale dell’intera applicazione, come il mouse e/o la tastiera, i dispositivi mobilicome i Tablet e gli Smartphone si interfacciano con l’utente soltanto attraverso undisplay sensibile al tocco. E, quindi, necessario tener conto che l’interazione si basasoltanto su cio che il display del dispositivo rappresenta e sul “tocco” dell’utente.

4.1 Funzioni principali dell’applicazione

L’applicazione prevede le seguenti funzionalita:

� Importare un’ontologia tramite URL.

� Visualizzare un’ontologia.

� Creare un’ontologia.

� Memorizzare un’ontologia in locale.

� Interrogare un’ontologia tramite SPARQL.

� Effettuare una ricerca testuale all’interno di un’ontologia.

La particolarita dell’applicazione e che tutte le funzioni sopra descritte sono pensateper un’interazione grafica tipica dei Tablet. I menu che consentono lo svolgimento diqueste funzioni sono principalmente grafici e si discostano dai menu-lista tradizionali.L’interazione con l’applicazione e basata sul tocco della mano, tipico della nuovametafora di navigazione e interazione dei Tablet.

34

Page 40: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

4.2 Aspetto grafico dell’applicazione

4.2.1 Android guidelines

L’aspetto grafico dell’applicazione e stato studiato seguendo le linee guida pubblica-te da Google nel sito dedicato agli sviluppatori Android (Link: http://developer.android.com/design/get-started/creative-vision.html), considerando tre prin-cipi basilari:

� Incanta: “Permettere alle persone di toccare e manipolare direttamente glioggetti dell’app. In questo modo si riduce lo sforzo cognitivo di eseguire untask, rendendolo piu soddisfacente”.

� Semplifica la vita: “Quando le persone utilizzano per la prima volta un’app, dovrebbo capirne immediatamente le features piu importanti”. “Usa leimmagini per spiegare i concetti. Attirano l’attenzione delle persone e possonoessere molto piu efficaci delle parole”.

� Fammi incredibile: “Rendi l’app piu facile da utilizzare sfruttando i pat-tern visuali e le interazioni tipiche delle altre app Android”. “Suddividi itask complessi in piccoli passi che possono essere facilmente eseguiti. Dai unfeedback sulle azione svolte dall’utente”.

Inoltre il sito propone delle linee guide sull’aspetto dell’interfaccia grafica, inmodo che sia conforme a tutte le altre applicazioni Android.

Una tipica applicazione Android consiste di diverse action bar e di una contentarea:

� Action bar principale: questo e il “centro di comando” dell’applicazione. Con-tiene gli elementi per navigare nella gerarchie e nella viste dell’app. Rendepossibile selezionare anche le azioni piu importanti.

� View control : permette agli utenti di navigare nelle diverse viste previste perl’app. Una vista identifica una determinata disposizione dei dati o degli aspettifunzionali dell’app.

� Content area: spazio dedicato al contenuto dell’app.

� Split action bar : questa barra fornisce un modo per distribuire le azioni di-sponibili su altre action bar disposte sotto la main action bar oppure al fondodel display.

35

Page 41: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

4.2.2 Metafora di navigazione

Seguendo le linee guida illustrate, si e scelto come strumento di interazione conl’applicazione i menu circolari. Questi ultimi sono dei menu che contengono gliitem da selezionare disposti in modo radiale rispetto al centro del menu stesso,differentemente dalla concezione di disposizione per righe e colonne dei menu-lista.

Gia nel 1991, si e dimostrato attraverso dei test utente che i tempi di appren-dimento per il menu circolare sono inferiori rispetto al menu-lista. Questo studiodimostra che i principali vantaggi dei menu circolari sono: l’effettuazione di mo-vimenti piu piccoli con il cursore rispetto ad un menu-lista per la selezione di unitem, l’item e piu facilmente individuabile, dato che l’area occupata dall’item e ti-picamente maggiore rispetto agli item dei menu-lista e, infine, data la capacita cheha la mente umana di memorizzare delle successioni di movimenti ripetuti moltevolte, i tempi di selezione di opzioni dimuiniscono notevolmente. Lo studio citato siriferisce, pero, ad applicazioni desktop-based. [12]

Un’altra ricerca fatta nel 2011, considera i menu circolari il tipo di interazionepiu efficace per i dispositivi di tipo touch, dove e possibile sfruttare delle gesture piucomplesse per interagire con i menu rispetto al semplice click delle applicazioni perPC. [13]

Come specificato nelle linee guida di Google, e importante durante l’interazionecon un’app fornire dei feedback all’utente. Il feedback, nel caso di strumenti dotatidi touch-screen, diventa essenziale perche enfatizza l’azione che si sta svolgendoed indica quali azioni sono abilitate e/o disabilitate. Questo diventa ancora piuimportante quando gli oggetti di un’applicazione devono reagire a gesti complessi,aiutando l’utente a prevedere il tipo di risultato dell’azione.

4.2.3 Logo dell’applicazione

Il logo dell’applicazione, mostrato in figura 4.1, e stato pensato come un segnografico che rievochi il concetto di ontologia. Per questo motivo e stata scelta larappresentazione classica dell’ontologia, attraverso l’uso di cerchi, che rappresentanoi nodi, collegati da archi. I colori sono pensati per essere visualizzati correttamentesia su fondo chiaro che su fondo scuro.

Figura 4.1. Logo

36

Page 42: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

4.2.4 Icone dell’applicazione

Oltre al logo principale, sono state studiate ad hoc per l’applicazione anche tutte leicone che la costituiscono, riportate nella tabella 4.1:

Tabella 4.1: Icone dell’applicazione

Icona Descrizione

Icona che identifica l’ontologia

Icona che identifica la creazione di una nuova ontologia

Icona che consente caricare le ontologie da un URL o disfogliarle dal File Manager

Icona menu browse

Icona menu edit

Icona menu search

Tabella 4.1: continua nella prossima pagina

37

Page 43: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

Tabella 4.1: continua dalla pagina precedente

Icona Descrizione

Icona crea (istanza/relazione/concetto)

Icona edit (istanza/relazione/concetto)

Icona delete (istanza/relazione/concetto)

Tabella 4.1: si conclude dalla pagina precedente

Per comodita di stampa le immagini dell’app sono presentate su fondo chiaro.Si tratta di immagini create appositamente per specificare l’interfaccia dell’applica-zione, che saranno poi realizzate programmaticamente.

4.2.5 Attivita principale dell’applicazione

La pagina principale dell’applicazione (figura 4.2) presenta un menu circolare checonsente all’utente di:

� Aprire un’ontologia recente.

� Aprire un’ontologia tramite URL o caricarla dal File Manager.

� Creare ex-novo un’ontologia.

La scelta dell’opzione da eseguire avviene semplicemente tramite l’evento touchsull’icona corretta. Quindi:

� Il touch sull’icona della miniatura dell’ontologia, apre un’ontologia recente ela visualizza secondo lo schema del Radial Tree (4.3).

� Il touch sull’icona della cartella apre una pop-up window che consente all’utentedi scegliere se aprire il file manager locale o inserire un URL da cui caricarel’ontologia (figura 4.4).

38

Page 44: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

Figura 4.2. Attivita principale di Ontology Viewer

Figura 4.3. Visualizzazione ontologia di Ontology Viewer

� Il touch sulla miniatura dell’ontologia con l’asterisco, apre una nuova paginache consente la creazione dell’ontologia (figura 4.12).

39

Page 45: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

Figura 4.4. Pop-up per il caricamento di un’ontologia tramite URL o dalfile manager locale

4.3 Visualizzazione e interazione con l’ontologia

4.3.1 Visualizzazione

Rispetto ai metodi di visualizzazione elencati nel paragrafo 3.3, l’applicazione perTablet sviluppata si discosta leggermente per vari motivi. Per esempio, visualizzarel’ontologia con una struttura a lista indentata e poco leggibile da parte degli utiliz-zatori. Gli utilizzatori abituali di Tablet (o di Smartphone), infatti, sono abituatiad interagire con applicazioni ad alto contenuto grafico, dove piu che per liste e testila comunicazione avviene attraverso le immagini. Per questo motivo la metafora dinavigazione della lista, tipica delle applicazioni per PC, e stata scartata.

Al contrario, la visualizzazione che piu si avvicina alle esigenze dell’applicazionee la struttura ad albero (Radial Tree): si tratta, infatti, di una rappresentazioneessenzialmente grafica che si avvicina allo stile tipico delle applicazioni per Tablet.Inoltre, questo tipo di visualizzazione si presta molto bene ad un’interazione tipicadel Tablet: visualizzando tutti i nodi contemporaneamente e facile interagire conessi attraverso il tocco.

L’ontologia e caratterizzata da classi, istanze, proprieta e relazioni. E necessario,quindi, specificare una legenda per la rappresentazione delle risorse:

� Le classi senza figli sono rappresentate da un cerchio vuoto.

40

Page 46: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

� Le classi con figli sono rappresentate da un cerchio con un ulteriore cerchiopieno all’interno.

� Le istanze sono rappresentate da un rettangolo.

� Le relazioni sono rappresentate da una linea che unisce due classi.

La visualizzazione prevede di mostrare semplicemente le classi appartenenti adun’ontologia, quindi, si utilizzano soltanto le prime due rappresentazioni descrittenell’elenco.

L’ontologia e rappresentata disponendo le classi in modo radiale (figura 4.5)rispetto al nodo-radice. Si tratta essenzialmente di una disposizione secondo cerchiconcentrici che rappresentano il livello di profondita dell’ontologia. Al centro delcerchio e rappresentata la classe con gerarchia piu alta, ossia la radice dell’ontologia.Dal momento che tutte le classi all’interno di una ontologia OWL sono figlie di Thing,si da per scontato che questa sia la radice di qualsiasi ontologia si stia visualizzando.

Figura 4.5. Radial Tree Layout

4.3.2 Navigazione dell’ontologia

Una volta rappresentata l’ontologia, l’utente deve essere in grado di navigarla, inmodo da poter esplorare le classi, le sottoclassi, le istanze e le relazioni tra queste.Il tocco della mano e l’unica “periferica di input” che il Tablet puo sfruttare. Sareb-be, infatti, scomodo utilizzare ad esempio la tastiera (seppur presente nei Tablet)

41

Page 47: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

sia perche restringerebbe lo spazio dedicato alla visualizzazione, sia perche pocoimmediata e non peculiare del touch-screen.

L’interazione e specificata come segue:

� Zoom-in e zoom-out: non per avere ulteriori dettagli, ma per visualizzaremeglio l’ontologia (utile ad esempio per display piccoli). L’azione avviene algesto di “pinch” dell’utente, come tipicamente accade per le applicazioni perTablet e Smartphone.

� Trascinare a destra/sinistra, alto/basso l’ontologia (come tipicamente accadeper i dispositivi touch-screen).

Queste funzioni saranno valutate attraverso un test utente.

4.3.3 Interazione e modifica dell’ontologia

Quando l’utente si trova nell’attivita di visualizzazione dell’ontologia, contempora-neamente compare un menu circolare in basso a destra che consente di interagirecon l’ontologia visualizzata, come mostra nel dettaglio figura 4.6.

Il touch sull’icona del logo consente di ritornare all’attivita principale dell’appli-cazione (figura 4.2), le altre tre icone, invece, aprono degli ulteriori menu circolari(da ora in poi definiti come Toolbar) che consentono di interagire con l’ontologiavisualizzata al momento.

La figura 4.7 mostra le Toolbar, come appaiono subito dopo il click sull’iconacorrispondente sul menu angolare. Dal momento che le Toolbar si sovrappongonoall’ontologia, sono state pensate per essere draggabili e quindi posizionabili in qual-siasi parte dello schermo, al fine di non limitare la visualizzazione dell’ontologia.Le Toolbar possono essere richiuse cliccando nuovamente l’icona corrispendente delmenu angolare, oppure possono essere compattate cliccando il centro della Toolbarstessa. La figura 4.8 mostra la schermata di visualizzazione dell’ontologia con dueToolbar aperte e una compattata.

Le figure 4.9, 4.10 e 4.11 mostrano rispettivamente nel dettaglio la Toolbar Edit,la Toolbar Search e la Toolbar Browse. Attraverso questi menu l’utente ha la pos-sibilita di interagire con l’ontologia, modificandola, eseguendo delle interrogazioni,memorizzando alcune posizioni particolari dell’ontologia oppure memorizzando unasottoselezione dei nodi appartenenti ad un’ontologia.

Cliccando l’item “Concept” all’interno della Toolbar Edit, compaiono tre ico-ne che consentono rispettivamente di creare, modificare o eliminare un concetto.Dopo aver selezionato l’azione da eseguire, si deve selezionare il concetto sul qua-le svolgerla. Lo stesso vale anche per gli altri tasti presenti (Istance, Relation,Restriction).

42

Page 48: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

Figura 4.6. Menu ontologia

Figura 4.7. Toolbar

Figura 4.8. Visualizzazione Ontologia e Toolbar

43

Page 49: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

Figura 4.9. Toolbar Edit Figura 4.10. Toolbar Search

Figura 4.11. Toolbar Browse

Per quanto riguarda la Toolbar Search, toccando il tasto “SPARQL” si apreuna nuova pagina che consente di costruire la query da eseguire attraverso deglielementi grafici, mentre il tasto “Full-text” consente all’utente di scrivere le paroleda ricercare all’interno dell’ontologia.

La Toolbar Browse consente di memorizzare alcune informazioni riguardanti l’on-tologia visualizzata, rispettivamente definite come view e bookmark. Attraverso iltasto “Add to view”, l’utente puo selezionare un certo numero di nodi e memorizzarlinell’applicazione come una sottovista dell’ontologia. Successivamente, attraverso iltasto “Open view”, sara possibile visualizzare la view memorizzata. Per lo sviluppodell’applicazione e stato scelto di rendere visibile anche la gerarchia dell’ontologia (fi-no al nodo Thing) oltre ai nodi selezionati, considerandolo piu intuitivo rispetto allavisualizzazione dei nodi che possono essere scollegati tra loro. Infine, questa Tool-bar permette di memorizzare una visualizzazione preferita, ossia una determinataposizione ed un determinato fattore di zoom dell’ontologia visualizzata, attraversoil tasto “Bookmark”. Sempre attraverso questo tasto e possibile aprire un book-mark memorizzato precedentemente. Sia la gestione delle view che la gestione dei

44

Page 50: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

bookmark avviene attraverso delle pop-up window.

4.3.4 Creazione di una ontologia

La creazione di una nuova ontologia avviene tramite un’interfaccia analoga a quelladi visualizzazione. In questo caso, attraverso la Toolbar Edit e possibile aggiungeresul display gli elementi, come classi, relazioni e istanze che compongono un’ontolo-gia. Cliccando su uno di questi elementi, ad esempio una nuova classe, ne compareuna copia nella sullo schermo. Questo puo essere trascinato e posizionato dove sipreferisce. Una volta scelta la posizione, cliccando a lungo sul simbolo appena com-parso, appare una pop-up window che permette di inserire il nome da assegnare allaclasse. Inoltre, nella schermata in alto a destra e presente una casella di testo checonsente di nominare l’ontologia (figura 4.12).

Lo stesso funzionamento si applica a tutti gli elementi presenti nella ToolbarEdit, consentendo di costruire graficamente la struttura ontologica.

Si e scelto di mantenere lo stesso menu angolare, considerando che le azioni diricerca e di interrogazione possono risultare utili nel caso di creazioni di ontologiecomplesse e molto grandi.

Figura 4.12. Crea ontologia

45

Page 51: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

4 – Ontology Viewer

4.3.5 Interrogazione di una ontologia

L’applicazione prevede anche la possibilita di eseguire delle query SPARQL su un’on-tologia. La Toolbar Search permette di avviare una nuova attivita che gestiscel’interrogazione.

L’obiettivo e, anche in questo caso, rendere disponibile l’operazione all’utenteattraverso degli elementi grafici. Si potrebbe pensare, ad esempio, di mantenere unmenu circolare che consentira di specificare gli elementi e i valori ad essi assegnatiper specificare la query. Si tratta, pero, di una parte dell’applicazione non progettatanel dettaglio.

46

Page 52: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 5

Implementazione

L’implementazione dell’applicazione si e sviluppata nei seguenti passi:

� Progettazione della struttura delle attivita dell’applicazione.

� Creazione del widget per il menu circolare.

� Implementazione di due attivita principali.

� Implementazione di una Toolbar.

5.1 Struttura dell’applicazione

Considerando tutte le specifiche funzionali descritte nel capitolo 4, il primo passo perl’implementazione di Ontology Viewer e stato la definizione delle principali attivitadell’app e di come queste debbano interagire tra di loro. Di volta in volta che losviluppo dell’app proseguiva, la struttura e stata modificata e aggiornata in base alleesigenze di implementazione. Infine, l’app risulta essere suddivisa in cinque attivita:

� HomePageActivity.java: e l’attivita principale dell’app, la prima con cui siinterfaccia l’utente e da cui si accede a tutte le funzioni dell’app.

� ViewOntologyActivity.java: si occupa della visualizzazione e dell’intera-zione con le ontologie.

� CreateOntologyActivity.java: gestisce la creazione di una nuova ontologia.

� OntologyFileManager.java: sfoglia le ontologie memorizzate nell’app.

� SPARQLActivity.java: gestisce le interrogazioni SPARQL nell’app.

47

Page 53: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

La figura 5.1 mostra la struttura dell’applicazione. In particolare dalla Ho-mePageActivity e possibile raggiungere le attivita di visualizzazione e creazionedell’ontologia e l’attivita di ricerca del FileManager. In quest’ultima attivita, unavolta selezionata l’ontologia si ritorna all’attivita di visualizzazione e interazionecon l’ontologia. Infine, durante la visualizzazione dell’ontologia, si puo accedereall’attivita dedicata alle interrogazioni tramite SPARQL.

La tesi ha previsto l’implementazione di: HomePageActivity e ViewOntologyAc-tivity, comprese due “unita funzionali” che hanno il compito di gestire il carica-mento dell’ontologia nell’applicazione e la creazione del layout di visualizzazione(rispettivamente i blocchi Ontology Manager e Layout Manager).

Figura 5.1. Struttura di Ontology Viewer

5.2 Radial Menu Widget

5.2.1 Descrizione

L’interazione con l’applicazione avviene principalmente attraverso dei menu graficicircolari. Dal momento che Android non dispone di un tema pre-impostato per lacreazione di menu radiali, sono state implementate delle classi che si occupano dellacostruzione grafica dei menu e della loro gestione.

La figura 5.2 mostra la struttura concettuale del widget per la gestione del menucircolare, i principali attributi e i principali metodi implementati.

48

Page 54: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

Tutte le classi del widget rappresentate in figura sono state raccolte in un unicopackage (it.polito.elite.android.widget.radialmenu), in modo da renderlo riutilizzabi-le anche per applicazioni diverse e con scopi differenti rispetto a quella sviluppataal fine della tesi.

Figura 5.2. Classi, metodi e attributi di Radial Menu Widget

Le classi Java implementate permettono, quindi, la creazione di menu circolarie degli elementi (o item) al suo interno. Nel dettaglio, per ogni menu e possibilespecificare:

� L’ampiezza dell’angolo. Ad esempio il menu della HomePageActivity e leToolbar sono completamente circolari, quindi hanno un’ampiezza dell’angolopari a 360 gradi. Il menu posizionato nell’angolo in basso a destra dell’attivitadi visualizzazione dell’ontologia ha, invece, un’ampiezza di 90 gradi.

� La possibilita di essere traslato (come succede per le Toolbar) o meno.

� La possibilita di essere compattato (come succede per le Toolbar) o meno.

� L’icona al centro del menu.

� La dimensione del raggio interno e del raggio esterno del menu.

Inoltre, i menu possono contenere tre diversi tipi di item:

� Item semplici: al click su questi corrisponde direttamente un’azione.

� Item espandibili: al click su questi non corrisponde un’azione, ma l’aperturadi uno o piu item semplici (come nel caso delle Toolbar) di secondo livello.

49

Page 55: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

� Item suddivisi: un item semplice e suddiviso in piu sotto-item. In realtala funzionalita e la stessa degli item semplici, ma e utile per creare un ef-fetto asimmetrico nella disposizione degli item di un menu (come nel casodella HomePageActivity, per la visualizzazione delle ontologie recentementevisitate).

Gli item all’interno del menu possono essere rappresentati attraverso:

� un testo scritto, come nel caso della Toolbar Browse.

� un’icona, come nel caso dei sottomenu della Toolbar Edit.

� un’icona e un testo scritto, come nel caso del menu principale nella HomePa-geActivity.

5.2.2 Implementazione

Per l’implementazione del menu, si e preso come esempio una libreria Java esistente,“Radial Menu Widget” (link: http://code.google.com/p/radial-menu-widget/).Dopo aver analizzato questo esempio, e stato creato un nuovo widget in base allespecifiche dell’applicazione.

In particolare, la classe RadialMenuItem.java estende la classe Path, permet-tendo cosı di poter disegnare dei percorsi circolari che rappresentano le diverse sezionidei menu. Le classi SubdividedRadialMenuItem.java e ExpandableRadial-MenuItem.java sono implementate come sottoclassi di RadialMenuItem.javaper permettere le funzioni specificate nel paragrafo precedente. Il ruolo principaledi queste classi e memorizzare il path (cioe il tracciato grafico) associato ad ognisezione di un menu, contrassegnandolo attraverso una stringa identificativa.

La classe RadialMenu.java estende la classe View. Il metodo onDraw() e statoimplementato al fine di disegnare su qualsiasi vista l’elemento grafico che rappre-senta il menu. Nel costruttore di questa classe vengono passati alcuni parametriche permettono di definire la grandezza e l’ampiezza del menu, come gia detto inprecedenza, e la sua posizione sul display. Inoltre, questa classe ha il compito di:

� Calcolare le sezioni del menu. Infatti, in base al numero di item che il menucontiene, la circonferenza (o in alcuni casi l’ampiezza massima del menu) vienesuddivisa in porzioni uguali. Le informazioni riguardanti l’angolo di inizio efine di ogni sezione del menu corrispondenti ad un item e il suo centro vengonomemorizzate.

� Il metodo onDraw() disegna l’icona centrale assegnata al menu, passata comeparametro di ingresso nel momento in cui si crea un’istanza di RadialMe-nu.java. Successivamente disegna tutti gli item contenuti del menu, tenendo

50

Page 56: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

conto delle informazioni calcolate e memorizzate in precedenza, richiamandoil metodo drawWedges(). Quest’ultimo, verifica che la sezione del menu chesi sta per disegnare sia identificata soltanto da un testo o da un’icona, o daentrambe le cose. Il metodo verifica anche in quale posizione visualizzare iltesto che identifica la funzione dell’item. Infatti, se l’item contiene solo testo,allora il testo sara centrato rispetto alla sezione che lo contiene; se invece,l’item contiene sia il testo che l’icona, allora il testo sara posizionato in altorispetto all’icona. Ovviamente, dato che gli item possono essere espandibili,ogni volta che una sezione deve essere disegnata si deve verificare se questa evisibile o meno. Lo stesso discorso vale se tutti gli item sono “richiusi”, comeaccade per le Toolbar quando sono compattate. In questo caso deve esserevisibile, e quindi disegnato, soltanto il cerchio centrale del menu.

Sono stati implementati i metodi:

� onTouch(), per gestire l’espansione e la contrazione del menu e l’aperturae chiusura degli item di secondo livello. Il metodo memorizza una stringaidentificativa dell’item cliccato, in modo che le altre attivita che utilizzanoquesto menu possano far corrispondere le corrette azioni a seguito del click suun determinato elemento.

Per verificare se l’evento touch scatenato dal tocco dell’utente e avvenuto o me-no all’interno di un determinato item, il metodo onTouch() richiama il metododi verifica isInWedge(). Quest’ultimo e implementato nella classe RadialMe-nuItem.java ed ha il compito di verificare se le coordinate (x,y) dell’eventotouch, ricadono all’interno di un item. In caso positivo, il metodo restituisceuna variabile booleana con valore true e il metodo onTouch() esegue il restodelle operazioni.

� Per la gestione del drag and drop, invece, e stato utilizzato il metodo On-LongClick().In questo caso e necessario controllare se il menu possa esseretraslato o meno e se l’evento di onClick e avvenuto nella posizione correttarispetto al menu, ossia sull’icona centrale. Questo secondo controllo avvieneattraverso il metodo isInCircle() che funziona in maniera analoga al metodoisInWedge() gia illustrato. Anche in questo caso il metodo e all’interno dellaclasse RadialMenuItem.java, che contiene tutti i dati necessari al controllo.

5.3 HomePageActivity

5.3.1 Descrizione

L’HomePageActivity e l’attivita principale dell’applicazione, la prima visualiz-zata dall’utente. Da questa attivita e possibile accedere a tutte le altre attivita

51

Page 57: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

dell’applicazione. In particolare, e possibile accedere alle ontologie visualizzate re-centemente oppure aprire una nuova ontologia, sia caricandola da un indirizzo Inter-net sia aprendo il File Manager locale. E inoltre possibile creare una nuova ontologia.Le ultime due funzioni, come specificato ad inizio capitolo, non sono implementate.Per questo motivo, per non interrompere l’interazione dell’utente con l’applicazio-ne e stata aggiunta una popup window che avvisa che la funzionalita non e ancoradisponibile (figura 5.3).

Figura 5.3. Esempio di funzionalita non implementata

5.3.2 Implementazione

L’HomePageActivity presenta un menu circolare, suddiviso in due item, uno deiquali contiene a sua volta altri quattro sottoitem differenti, di tipo Subdivided.

Memorizzazione delle ultime ontologie visualizzate

La parte principale dell’implementazione di questa attivita riguarda la gestione dellamemorizzazione delle ultime tre ontologie visitate. Quindi, e necessario che l’appli-cazione memorizzi i percorsi di tali ontologie. Dato che i path non sono altro chedelle stringhe di testo, durante l’esecuzione dell’applicazione questi vengono memo-rizzati in un vettore di stringhe, di tre elementi. Si e scelto un vettore piuttosto che

52

Page 58: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

un’oggetto derivante dalla classe List, perche la dimensione necessaria alla memo-rizzazione dei dati e fissa e nota a priori e quindi non e necessario avere un’oggettocon dimensione flessibile.

Quando una nuova ontologia viene visualizzata, il percorso di quest’ultima vienememorizzato nell’ultima posizione del vettore, mentre tutti quelli precedenti vengonospostati alla posizione precedente. Ovviamente, se l’ontologia visualizzata coincidecon l’ultima memorizzata, l’aggiornamento del vettore non avviene.

La memorizzazione all’interno del vettore non e sufficiente se queste informa-zioni non vogliono essere perdute dopo la chiusura dell’applicazione. Per questomotivo e necessario trovare un modo per memorizzare i path in modo permanen-te. A questo scopo sono state utilizzate le SharedPreferences. Tipicamente, questotipo di struttura dati viene utilizzato per la memorizzazione di “preferenze” dell’u-tente riguardo l’applicazione (link: http://developer.android.com/reference/

android/content/SharedPreferences.html).

Quando l’attivita inizia, quindi quando viene richiamato il metodo onCreate(), ivalori memorizzati nelle SharedPreferences vengono trasferiti nel vettore di stringhe.

Quando l’attivita viene terminata, quindi quando viene richiamato il metodoonStop(), le SharedPreferences vengono aggiornate secondo quanto memorizzato almomento nel vettore.

Apertura o caricamento di un’ontologia

Cliccando sull’icona “apri”, viene visualizzata una nuova finestra, sovraimposta al-l’attivita, che permette di caricare un’ontologia da Internet. La finestra appenavisualizzata ha un aspetto personalizzato, creato attraverso la definizione di una ri-sorsa drawable tramite XML che ne definisce il colore di sfondo, il colore e lo stile delbordo, in coerenza grafica con i colori scelti per l’applicazione. Sempre definendouna nuova risorsa drawable si e personalizzato anche l’aspetto grafico dei bottoniutilizzati nell’applicazione.

Una volta premuto il tasto “GO”, il path scritto nella casella di testo vie-ne memorizzato e trasferito all’attivita ViewOntologyActivity che sta per essereavviata.

5.4 ViewOntologyActivity

5.4.1 Descrizione

L’attivita ViewOntologyActivity ha come compito principale la visualizzazionedi una ontologia. Inoltre, gestisce l’iterazione touch-based con l’ontologia visua-lizzata e con le Toolbar. Si tratta della parte piu complessa di tutto lo sviluppo

53

Page 59: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

dell’applicazione perche deve coordinare e richiamare diverse classi al fine di gestirele varie funzioni disponibili in questa attivita.

In particolare, gestisce le due unita funzionali descritte nella struttura dell’ap-plicazione, per il caricamento e la visualizzazione dell’ontologia.

5.4.2 Implementazione

Caricamento dell’ontologia

La prima operazione che l’attivita deve eseguire e il caricamento dell’ontologia, inbase al path passatogli dalla HomePageActivity. Per ottenere questa funzione, sonostate implementate due classi:

� LoadOntology.java: questa classe ha il compito di distiguere se il path del-l’ontologia da visualizzare e un indirizzo Internet o un percorso locale. In en-trambi i casi, sia che l’ontologia sia letta da locale o da Internet, i dati vengonocaricati in un OntModel. L’operazione di caricamento dei dati, soprattutto sequesti vengono richiamati da Internet, potrebbe essere molto lenta. Per que-sto motivo, e stato scelto di implementare il caricamento dei dati con un taskasincrono. La classe, infatti, implementa AsyncTask, cioe fa partire un th-read secondario nell’applicazione, permettendo di dare un feedback all’utentesull’esecuzione del task e impendendo che l’interfaccia principale di ViewOn-tologyActivity sia bloccata. Il feedback all’utente e dato attraverso una popupwindow che avvisa del caricamento dei dati dell’ontologia.

� JenaWrapper.java: questa classe utilizza LoadOntology per caricare l’on-tologia. Una volta terminato il caricamento dei dati nell’OntModel, tutte leinformazioni sui nodi vengono memorizzate anche all’interno di una strutturadati. E stato scelto di utilizzare come struttura dati un HashMap piuttostoche un ArrayList per velocizzare l’accesso diretto ad un nodo, utilizzando co-me chiave d’accesso il nome completo della classe che rappresenta il nodo,dal momento che questo e sempre univoco all’interno dell’ontologia. Inoltre,questa classe comunica con le classi responsabili del calcolo del layout dell’on-tologia: RadialTreeLayout.java, che si occupa anche della memorizzazionedelle relazioni tra i nodi, che puo avvenire soltanto quando tutti i nodi sonogia stati caricati nell’HashMap, e LayoutRenderer.java, che si occupa deldisegno dell’ontologia.

Portabilita di Jena in Android

Tutta la gestione delle ontologie e fatta con le librerie di Jena per Java. Inizial-mente, durante lo sviluppo dell’applicazione e stata utilizzata la libreria AndroJena,

54

Page 60: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

adattamento di Jena per Android. In realta, questa libreria non e molto efficiente epone delle limitazioni rispetto alla piu completa versione Java. Per questo motivo,e stata inclusa la libreria Jena nel progetto. L’adozione di tale libreria in sistemiAndroid non e immediata. Per poter utilizzare le API da essa esposte e stato, in-fatti, necessario ricompilare la libreria a partire dai file sorgenti, previa soluzione diconflitti di naming che ne impedivano l’utilizzo diretto. Al momento dello sviluppodella tesi il lavoro di ricompilazione ha fornito la prima versione completa di Jenaper Android.

Visualizzazione dell’ontologia

Una volta ottenute le informazioni riguardanti l’ontologia, queste devono essere vi-sualizzate, cioe disegnate sul display per renderle visibili e navigabili dall’utente.Tutte le classi riguardanti il calcolo e la visualizzazione del layout sono racchiuse nelpackage it.polito.elite.android.layout.

La prima problematica affrontata per la visualizzazione dell’ontologia e stata ilcalcolo della disposizione dei nodi. Dopo molte ricerche di algoritmi esistenti per ladisposizione e il calcolo dei layout, si e scelto di prendere come punto di inizio lalibreria prefuse, in particolare l’esempio RadialTreeGraph (link: http://prefuse.

org/). L’esempio preso in considerazione e studiato per un applet Java e non perAndroid: e stato, quindi, necessario rielaborarlo e riadattarlo all’applicazione insviluppo. Per questo motivo non e stato importato nell’applicazione, ma riscrittototalmente, eliminando le linee di codice superflue e non necessarie all’applicazioneed aggiungendo particolari mancati, come ad esempio la gestione dell’evento touch.

Le classi sviluppate per la visualizzazione dell’ontologia possono essere racchiusein due macrogruppi: il primo dedicato al calcolo e alla memorizzazione della posi-zione dei nodi, che ha il compito di descrivere “astrattamente” il modello di rappre-sentazione utilizzato, l’altro gruppo che invece racchiude le classi adibite alla tra-sformazione di queste informazioni astratte in forma grafica (figura 5.4). Per quantoriguarda il primo gruppo, esistono tre classi atte a descrivere le entita dell’ontologiamentre una classe si occupa del calcolo del layout:

� VisualNode.java: e un’interfaccia astratta che descrive il nodo di una qual-siasi struttura di dati gerarchica. Questa classe astratta definisce quali metodidevono essere implementati per settare e recuperare le informazioni sul nodo.In questo modo si ha la possibilita di creare nodi con caratteristiche differenti,che dipendono dal tipo di layout che si vuole rappresentare, semplicementeaggiungendo nuove classi che implementano questa interfaccia.

� NodeItem.java: e una classe che implementa VisualNode.java e rappresentail nodo di un’ontologia, corrispondente ad una classe. In questo oggetto sonomemorizzate informazioni quali la posizione del nodo rispetto allo schermo,

55

Page 61: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

Figura 5.4. Schema delle classi per la gestione del layout

il nome del nodo (che coincide con l’URI della classe), il suo nodo padre, lapresenza di eventuali sottoclassi, lo spazio disponibile per disporre i suoi sot-tonodi (coincidente con un ampiezza angolare), ecc...Tutti questi dati sarannopoi utilizzati per il disegno del nodo sul display.

� Relation.java: e una classe che memorizza una relazione tra due nodi. Al suointerno e, quindi, sufficiente memorizzare il NodeItem sorgente della relazionee il nodo destinazione. Tra gli attributi e presente anche una stringa chememorizza l’etichetta assegnata alla relazione.

� RadialTreeLayout.java: e una classe che si occupa del calcolo della dispo-sizione dei nodi dell’ontologia. L’algoritmo di calcolo del layout e suddiviso intre metodi differenti. Il primo, calculateRadialTreeLayout(), ha il compito dimemorizzare le coordinate del centro dello schermo e assegnare come NodeItemradice la classe Thing posizionandolo al centro dello schermo. Successivamenteil metodo richiama i due metodi, calcAngularWidth() e layout(). Il primo eun metodo ricorsivo e il suo compito e contare per ogni classe dell’ontologiail numero di tutte le sue sottoclassi (non soltanto quelle dirette) ed in base aquesto assegnare lo spazio massimo che le sottoclassi possono occupare sullacirconferenza. Questo consente di evitare al meglio le sovrapposizioni dei nodie di sfruttare lo spazio disponibile. Cio non sarebbe possibile se si assegnasseuno spazio fisso per ogni nodo, ad esempio suddividendo la circonferenza inparti uguali. L’algoritmo distingue se il nodo in ingresso e una classe qualsiasidell’ontologia o si tratta della classe Thing. Nei due casi, infatti, il metodo perottenere l’iteratore sulle classi appartenenti ad un stesso livello di profonditae differente. Una volta caricato il corretto iteratore, l’ampiezza angolare as-segnata al nodo viene calcolata sommando tutte le ampiezze dei nodi “figli”.Una volta assegnata l’ampiezza angolare ad ogni nodo, si richiama il metodo

56

Page 62: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

layout(), anche questo ricorsivo. Compito principale di questo metodo e sud-dividere l’ampiezza angolare assegnata ad ogni nodo tra le sue sottoclassi ecalcolare la sua posizione sullo schermo tenendo conto del livello di profonditadella classe in questione.

Per quanto riguarda il gruppo di classi dedicato al disegno del layout, sono stateimplementate:

� NodeRenderer.java: e una sottoclasse di View. Il metodo onDraw() diquesta classe disegna un cerchio la dove deve essere posizionato il nodo. Ov-viamente il disegno varia in base al tipo di classe che si sta rappresentando,tenendo in considerazione se questa ha sottoclassi o meno. Inoltre e imple-mentato un metodo che controlla se la posizione dell’evento touch si trovaall’interno di un nodo disegnato.

� RelationRender.java: e una sottoclasse di View. Similmente a quanto fat-to per i nodi, questa classe ha il compito di disegnare le relazioni presentinell’ontologia. Nel nostro caso la sola relazione visibile e quella gerarchica.

� LayoutRenderer.java: e una sottoclasse di View. Questa classe ha comeattributi due strutture dati per la memorizzazione dei nodi e delle relazioni.Leggendo entrambe le strutture si crea di volta in volta un nuovo oggetto“visivo”, di tipo NodeRender.java o RelationRenderer.java, che saranno suc-cessivamente disegnati. Questa classe gestisce anche l’interazione con l’utente,come vedremo in seguito.

Scalamento e traslazione dell’ontologia

Come definito nel capitolo 4, una volta visualizzata l’ontologia questa puo essere“navigata”. Le azioni disponibili sono lo scalamento e la traslazione dell’ontologia.Per l’implementazione di queste azioni e stato scelto di utilizzare le gestualita tipicheusate dalla maggior parte delle applicazioni per Tablet, rendendo l’utilizzo di On-tology Viewer piu intuitivo e di facile comprensione. Per lo sviluppo di queste duefunzionalita e stato implementanto un metodo onTouchEvent() in grado di gestiree memorizzare le informazioni di traslazione e di zoom per l’ontologia visualizzata.

La classe LayoutRenderer.java mantiene in memoria un oggetto di tipo Matrixche contiene le informazioni sulle trasformazioni geometriche (traslazione e zoom)fatte sull’ontologia. Ogni volta che si esegue un’azione di tipo touch sulla vistadell’ontologia, la matrice di trasformazione che descrive la posizione e il fattore discala dell’ontologia viene aggiornata a seconda del tipo di interazione che l’utentesta eseguendo. Aggiornando la vista continuamente, si ottiene l’effetto “animato”dell’azione.

57

Page 63: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

L’applicazione deve essere in grado di distinguere quale tipo di azione l’utente stasvolgendo sull’ontologia: se si tratta di una semplice traslazione, allora il puntatoreattivo sullo schermo sara soltanto uno. Al contrario, se l’utente esegue uno zoom,allora i puntatori attivi saranno due. Android permette di distinguere facilmentequesti due tipi di eventi all’interno del metodo onTouchEvent() (rispettivamenteACTION DOWN e ACTION POINTER DOWN). Dato che i due eventi sono facil-mente distinguibili, e sufficiente memorizzare quale tipo di azione si sta svolgendoall’interno di una variabile. In base al valore di quest’ultima, all’interno del casoACTION MOVE vengono seguite due azioni differenti: se si tratta di una trasla-zione, la matrice di trasformazione memorizzata viene aggiornata secondo il valoredella traslazione effettuata, altrimenti se si tratta di uno zoom, viene aggiornato ilfattore di scala della matrice di trasformazione. L’entita della traslazione e calcola-ta di volta in volta per differenza delle coordinate che hanno scatenato l’evento diACTION DOWN e quelle prese continuamente in ACTION MOVE, mentre l’entitadel fattore di scala e calcolata in base alla distanza tra le due dita che toccano loschermo, memorizzate all’interno di ACTION POINTER DOWN, mentre il pivotpoint e il punto medio tra i questi due punti.

Per facilita di visualizzazione, la prima volta che una vista viene caricata questaviene adattata alla dimensione dello schermo. In questo modo l’utente ha una visioned’insieme dell’ontologia e puo navigarla piu facilmente.

5.5 Toolbar Browse

5.5.1 Descrizione

Il menu Browse permette all’utente di eseguire alcune operazioni sull’ontologia vi-sualizzata. L’utente puo memorizzare dei boomark, cioe una posizione particolaredell’ontologia visualizzata, e memorizzare delle view, cioe una selezione di solo alcunidei nodi appartenenti ad una ontologia. Il numero di bookmark e di view memoriz-zate non ha alcun limite. In entrambi i casi le informazioni memorizzate dall’utentedevono essere permanenti.

5.5.2 Implementazione

Per l’implementazione di questa Toolbar, e stato necessario creare due classi Javache descrivessero e mantenessero memorizzate le caratteristiche di bookmark e view.Le due classi sono:

� OntologyBookmark.java: questa classe deve essere in grado di memorizza-re la posizione e il fattore di scala associato ad un’ontologia. Nel paragrafo

58

Page 64: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

riguardante la visualizzazione dell’ontologia, abbiamo specificato che la ge-stione dello zoom e della posizione della vista e gestito attraverso l’utilizzodi una matrice che memorizza le trasformazioni geometriche che avvengonosulla vista che contiene l’ontologia. Di conseguenza, nel momento in cui vie-ne memorizzato un nuovo bookmark bisogna essere in grado di memorizzare ivalori correnti della matrice di trasformazione. Per questo motivo, l’oggettoOntologyBookmark.java ha come attributi una matrice, il nome assegnato albookmark e la vista dove e disegnata l’ontologia. La classe OntologyBook-mark.java estende la classe RelativeLayout, per poter posizionare gli elementiche ne fanno parte (cioe la TextView per l’etichetta del bookmark e l’icona delcestino) e per renderlo visualizzabile all’interno della popup window che con-tiene tutti i bookmark memorizzati. Ha associata una View personalizzata,definita tramite XML, che contiene una casella di testo, per la visualizzazionedel nome del bookmark, e un’icona di un cestino, sensibile al click che permettedi eliminare l’elemento corrispondente. Selezionando il bookmark da visualiz-zare, la matrice di trasformazione della vista su cui e visualizzata l’ontologiaviene resettata e successivamente aggiornata secondo i valori memorizzati nelbookmark.

� OntologyView.java: questa classe ha una struttura piu complessa rispettoalla classe OntologyBookmark.java. Infatti, deve essere in grado di memoriz-zare i nodi appartenenti ad una view e aggiornarli di volta in volta, sia cheessi vengano aggiunti o eliminati.

L’oggetto OntologyView.java gestisce tutte queste informazioni, per questomotivo ha come attributi una lista di stringhe, dove sono memorizzati i nomicompleti dei nodi selezionati, la View dove e visualizzata l’ontologia e l’etichet-ta associata alla view. L’aggiunta di una nuova view avviene cliccando il tasto“add to view’’ della Toolbar. Una volta cliccato su questo tasto, la variabilestatica node clickable viene settata a true e una nuova popup window comparein alto sullo schermo: ora e possibile selezionare i nodi presenti sulla vistasemplicemente cliccando su di essi. Quando un nodo viene selezionato, unriquadro verde incornicia il nodo appena cliccato, come feedback per l’utente.Se si clicca nuovamente sullo stesso nodo, il rettangolino verde scompare e ilnodo viene deselezionato. Anche se la popup window e aperta, e comunquepossibile agire sulla vista sottostante. Questo e utile per la selezione dei no-di, in quanto potrebbe essere necessario ingrandire o traslare l’ontologia perselezionare correttamente i nodi.

Il principale problema incontrato per la selezione dei nodi e stato il calcolo dellaloro nuova posizione a seguito della traslazione e dello scalamento dell’ontolo-gia. Infatti, i nodi in realta mantengono memorizzata soltanto la loro posizione

59

Page 65: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

iniziale rispetto alle schermo, all’inizio del calcolo del layout. Di conseguenza,ogni volta che l’ontologia subisce una trasformazione geometrica, questa stessatrasformazione deve essere applicata alle coordinate del centro del nodo e alsuo raggio. Per questo motivo, quando si controlla se l’evento di touch e avve-nuto in un nodo o meno, prima di confrontare i valori si applica la matrice aivalori che identificano la posizione e la dimensione del nodo. Contestualmentea queste operazioni, l’attivita ViewOntologyActivity.java mantiene in memo-ria una struttura dati che contiene i valori dei nodi selezionati. Questa listaviene aggiornata tutte le volte che l’utente seleziona o deseleziona un nodo.Quando tutti i nodi sono stati selezionati, cliccando il tasto “FINISH” dellapopup window fino ad ora rimasta visibile sullo schermo si assegna un’etichettaalla view e la si memorizza.

Cliccando, invece, sul tasto “open view” della Toolbar Browse, si possonosfogliare tutte le view memorizzate attraverso una popup window. Quandosi apre una particolare view, la variabile drawable, che identifica se un nodopuo essere disegnato o meno, dei nodi appartenenti alla view selezionata vienesettata a true, mentre tutti gli altri nodi non appartenenti alla selezione hannola viariabile drawable settata a false. L’applicazione, pero, mostra non solo inodi selezionati, ma anche la loro gerarchia fino al nodo centrale Thing. Lapopup window che mostra le view memorizzate, contiene anche una vista didefault, per ritornare alla visualizzazione originale dell’ontologia, che non puoessere eliminata.

Eliminazione di bookmark e view

Come gia detto, sia i bookmark che le view possono essere eliminate. Questo avvie-ne cliccando l’icona del cestino visibile accanto al nome del bookmark o della view.Eliminare uno di questi elementi significa eliminarlo dalla struttura dati che lo tie-ne memorizzato in run-time e, contemporaneamente, eliminarlo anche dalla popupwindow che li mostra all’utente. Il primo serve a memorizzare in modo permanentel’eliminazione mentre la seconda azione serve ad avere un effetto immediato durantela visualizzazione, importante feedback per l’utente.

Ogni elemento (sia bookmark che view) ha un attributo che identifica la propriaposizione all’interno della struttura dati che lo mantiene in memoria nell’applicazio-ne. Dato che l’icona del cestino appartiene ad uno specifico oggetto, perche fa partedella visualizzazione di default di un bookmark e di una view, una volta cliccato su diesso e possibile risalire alla posizione dell’oggetto corrispondente e rimuoverlo dallastruttura dati.

60

Page 66: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

Memorizzazione permanente di bookmark e view

Per la memorizzazione permanente di bookmark e view, sono stati utilizzati dei filedi testo. Ogni file di testo e memorizzato come “nome ontologia + bookmark o view+ .txt”. In questo modo ogni ontologia ha dei file “dedicati”, permettendone unfacile recupero in base all’ontologia visualizzata.

Ogni riga del file di testo memorizzato mantiene i valori che caratterizzano ilbookmark o la view. Nel caso dei bookmark, oltre all’etichetta associata, e sufficientememorizzare i valori della matrice di trasformazione. Per quanto riguarda le view,invece, la memorizzazione e piu complessa. Infatti devono essere memorizzati, sullastessa riga, i nomi di tutte le classi selezionate.

5.6 Implementazioni future

L’applicazione sviluppata finora e soltanto un prototipo, o comunque un inizio, dellasua versione piu completa. Oltre alle altre funzioni pensate, come l’interrogazionedell’ontologia tramite SPARQL e la creazione di nuove ontologie, possono essereaggiunti ulteriori dettagli relativi alla visualizzazione.

Feedback visivo sulle selezioni

L’applicazione non prevede nessun feedback visivo sulla selezione di un item di unmenu. Potrebbe essere aggiunto questo aspetto, ad esempio modificando il coloredel settore cliccato in seguito all’evento ricevuto.

Ulteriore feedback per la creazione di view

Al momento, durante la selezione dei nodi per creare una nuova view l’applicazio-ne prevede come feedback di selezione soltanto un riquadro verde che incornicia ilnodo selezionato. Questo metodo risulta essere efficace per rendere visibile in manie-ra veloce l’effetto di un’operazione svolta dall’utente, ma potrebbe diventare pocoleggibile nel caso di ontologie molto estese o di un numero molto elevato di nodi se-lezionati. Un’idea per ovviare a questo problema potrebbe essere risolto mostrandoall’utente anche i nomi dei nodi selezionati.

Dettagli del nodo

La visualizzazione al momento implementata risulta essere di facile lettura per unavisione d’insieme di tutta l’ontologia, tuttavia non permette di visualizzare i dettaglidei nodi. Si potrebbe aggiungere una nuova funzionalita che consenta di visualiz-zare ulteriori dettagli riguardanti un nodo. Ad esempio, implementando un onLon-gClick() sul nodo, potrebbe comparire un riquadro (con l’angolo coincidente con il

61

Page 67: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

punto in cui e avvenuto il lonkclick) dove sono visualizzati i dettagli del nodo, comeil nome, le sue prorprieta, il numero di sottoclassi o altre relazioni con altri nodi. Lafinestra dovra essere “scrollable”, nel caso in cui il numero sia molto alto. Inoltre,non si deve poter interagire piu con l’ontologia nel momento in cui la finestra deidettagli e aperta (figura 5.5).

Figura 5.5. Esempio dettagli del nodo

Menu “setting”

Al momento il menu contestuale e disattivato, perche l’utente non puo impostarenessuna caratteristica nella visualizzazione e nell’interazione con l’ontologia. Nellosviluppo futuro dell’applicazione il menu potrebbe prevedere il cambio di layoutdi visualizzazione e la scelta della relazione da visualizzare, non limitandosi allasemplice visualizzazione gerarchica.

Per l’implementazione dei layout e sufficiente aggiungere una classe analoga aRadialTreeLayout.java, che calcoli la posizione dei nodi secondo il nuovo metododi visualizzazione. Una volta ottenute le posizioni rispetto allo schermo dei nodi, laclasse LayoutRenderer si occupera del disegno dei nodi.

Per la visualizzazione di altre relazioni, dovrebbero essere completate le classi chesi occupano del caricamento dei nodi (JenaWrapper.java e LoadOntology.java).Infatti, bisognerebbe caricare anche i nomi delle proprieta presenti nell’ontologia, edi volta in volta, quando si vuole visualizzare un tipo di relazione piuttosto che un

62

Page 68: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

5 – Implementazione

altro, dovrebbe essere interrogato l’OntModel per reperire i nodi che hanno quellaparticolare proprieta. Una volta caricati i nodi in una lista, questi vengono set-tati a drawable (come gia fatto per la visualizzazione delle viste memorizzate) erappresentati sulla ViewOntologyActivity.

Tasto “back”

Al momento il tasto back dell’applicazione non ha nessuna implementanzione, masegue quella di default di Android. Potrebbe essere implementato in modo da ri-percorrere le visualizzazioni precedenti di una particolare ontologia, molto utile adesempio se si aprono in successione diverse view e si desidera tornare indietro.

63

Page 69: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 6

Test e Valutazione

In generale, il test utente e un passo fondamentale dello sviluppo di un’applicazione:e, infatti, grazie al test che si riesce effettivamente a capire l’efficacia e la chiarezzadell’applicazione progettata.

Nel caso specifico di Ontology Viewer gli obiettivi posti in fase di progettazioneriguardavano principalmente la semplicita di utilizzo dell’interfaccia e la velocita diapprendimento dell’app, avendo come target finale anche utenti non necessariamenteesperti di Web Semantico. Il test utente e stato quindi necessario per valutare se irelativi requisiti fossero stati soddisfatti e con che gradi di completezza ed efficienza.

6.1 Obiettivi del test

Il test si propone di verificare, oltre alla comprensione e alla facilita di utilizzodi Ontology Viewer, il livello di comprensione del layout con cui e rappresentatal’ontologia e le sue relazioni ed il livello di confidenza con la metafora di navigazionescelta (menu circolari). In particolare, le domande di ricerca a cui si vuole dare unarisposta grazie all’esecuzione del test sono:

� Comprensione delle icone dell’app. Dal momento che le icone sono state pro-gettate e create appositamente per l’applicazione, e necessario testare se sonointuitive per l’utente.

� Comprensione del menu circolare, dato che e il metodo principale di interazionecon l’app.

� Comprensione dei metodi di interazione con l’ontologia (come zoom e trasla-zione).

� Comprensione del metodo di selezione dei nodi per l’aggiunta di una nuovaview di un’ontologia.

64

Page 70: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

6 – Test e Valutazione

� Comprensione dei metodi di interazione con le Toolbar.

Il test e stato sottoposto a 4 partecipanti. Dato il tipo di applicazione sviluppato,e necessario che i partecipanti presentino determinate caratteristiche:

� Conoscenza delle nozioni basilari del Web Semantico.

� Cononoscenza base di strumenti come il Tablet.

Ogni parte dell’interfaccia viene testata dai partecipanti, mediante l’esecuzionedi task. Il metodo utilizzato durante il test e quello di tipo “think aloud”. Questiconsiste nel far esprimere ad alta voce pensieri, opinioni e azioni che gli utenti stannosvolgendo durante l’esecuzione di alcuni dei vari compiti proposti. La scelta di nonutilizzare questo metodo per tutti i task richiesti all’utente dipende dal fatto chealcuni compiti sono considerati abbastanza semplici e soprattutto familiari a chiutilizza, anche in maniera moderata, i Tablet.

Il test e suddiviso in quattro fasi:

� Questionario iniziale per conoscere le generalita del tester (eta, sesso, lavoro)e il livello di conoscenza sia dei dispositivi Tablet che del Web Semantico.Questi due fattori sono infatti essenziali e influenzanti il risultato del test.

� Sottomissione dei task da eseguire.

� Questionario qualitativo sull’app volto ad estrarre indicazioni su facilita d’uso,valutazione e comprensione dell’interfaccia e difficolta di apprendimento.

� Ulteriori domande sull’app e su eventuali modifiche o miglioramenti, differentia seconda del livello di conoscenza del Web Semantico. Le domande sono utilianche per testare la comprensione dell’app e delle potenziali attivita che sipossono svolgere, anche se non ancora implementate.

Prima di eseguire i task, all’utente viene data una breve spiegazione dell’app,soffermandosi soprattutto sulla differenza tra bookmark e view.

La lista dei task da far eseguire agli utenti e la seguente:

� T1a: Apri l’ontologia che e stata visualizzata piu recentemente.

� T1b: Apri l’ontologia che si trova all’indirizzo http://www.co-ode.org/

ontologies/pizza/pizza.owl .

� T2: Apri un menu che ti consente di memorizzare alcune caratteristichedell’ontologia.

� T3: Se non ne hai gia aperto uno, apri un menu qualsiasi e spostalo in un’altraposizione dello schermo.

65

Page 71: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

6 – Test e Valutazione

� T4: Se non ne hai gia aperto uno, apri un menu qualsiasi e richiudilo.

� T5: Posiziona l’ontologia come preferisci e memorizza un nuovo bookmarkattraverso un menu.

� T6: Attraverso un menu, memorizza una nuova view che contenga almeno ilnodo radice dell’ontologia e un nodo foglia.

� T7: Attraverso un menu, apri un bookmark precedentemente memorizzato.

� T8: Attraverso un menu, apri una view precedentemente memorizzata esuccessivamente ritorna alla visualizzazione completa dell’ontologia.

� T9a: Attraverso un menu, elimina un bookmark dell’ontologia gia memoriz-zato.

� T9b: Attraverso un menu, elimina una view dell’ontologia gia memorizzata.

I task T1a e T1b e i task T9a e T9b non sono sottoposti mai insieme nellostesso test, ma sono alternati, dal momento che il tipo di azione che si richiededi svolgere e simile. I task 1a o 1b sono presentati sempre all’inizio del test, dalmomento che tutti gli altri task dipendono dalla visualizzazione dell’ontologiea Glialtri task, invece, sono in ordine diverso per ciascun utente.

Il testo completo del test sottoposto e riportato nell’appendice A.

6.2 Risultati del test

Il scopo principale del test e stato avere una valutazione qualitativa dell’efficaciadi Ontology Viewer, considerando come parametri di valutazione la semplicita ela comprensibilita dell’interfaccia e, in generale, la velocita di apprendimento delfunzionamento dell’app.

Tutti gli utenti a cui e stato sottoposto il test hanno un lavoro legato all’ambitodella ricerca; di conseguenza, ci si aspetta una maggiore familiarita sia con strumenticome il Tablet sia con i concetti relativi al Web Semantico. Le domande sottopostenel questionario iniziale, dimostrano un livello di utilizzo medio del Tablet e unlivello di conoscenza medio/alto del Web Semantico.

Prima dell’esecuzione dei task veri e propri, agli utenti e stato dato qualcheminuto per provare l’applicazione. Gli utenti hanno dimostrato di comprenderevelocemente la schermata iniziale dell’applicazione, intuendo da subito come poteraprire un’ontologia, ossia cliccando su quelle recentemente visualizzate o cliccandosull’icona “Apri”. In seguito alla visualizzazione dell’ontologia, tutti gli utenti siaspettano che i nodi rappresentati siano interattivi e che possano essere cliccati.

66

Page 72: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

6 – Test e Valutazione

Soltanto dopo qualche istante provano ad interagire anche con il menu posto inbasso a destra del display che consente di effettuare delle operazioni sull’ontologia.Dato questo comportamento generale, si potrebbe pensare di rendere interattivi inodi, magari aggiungendo la funzione di dettaglio dei nodi, come gia descritta nellepossibili implementazioni future.

Per quanto riguarda i task che sono stati sottoposti, tutti gli utenti sono riuscitia portare a termine la maggior parte di questi, in alcuni casi con qualche esitazione.In particolare, il task che e risultato meno chiaro e che non tutti gli utenti hannoportato a termine e il T4, cioe quando si richiedeva la chiusura di una Toolbar. Moltoprobabilmente, gli utenti non riuscivano a comprendere quale gesto compiere per lachiusura a causa dell’assenza di feedback nella selezione di una Toolbar. Questoproblema potrebbe essere facilmente risolto aggiungendo uno stato “attivo” allaToolbar nel momento in cui viene selezionata; di conseguenza, agli utenti verrebbepiu spontaneo “disattivare” il tasto per richiudere la Toolbar. In ogni caso, anchequesto aspetto dell’assenza di feedback era gia stato consideranto precedentementeall’inizio dei test utente.

Far eseguire agli utenti i task in ordine sparso ha, in parte, influito sull’esitodei test. Ad esempio, i task che richiedevano di creare un bookmark o una viewsono stati eseguiti piu facilmente dagli utenti che avevano gia avuto esperienza dellaToolbar Browse in altri task (come ad esempio eliminare un bookmark o una view)rispetto agli altri utenti che invece utilizzavano la Toolbar Browse per la prima volta.In definitiva, la creazione o l’eliminazione di un bookmark o di una view non sonoconsiderati dei processi difficili, come confermato dai commenti degli utenti, ma enecessaria un minimo di esperienza per eseguirli senza esitazioni.

Un altro task che e stato eseguito con successo, ma non attraverso la proceduraprevista originariamente, e stato il T8, che richiedeva di tornare alla visualizzazioneiniziale dell’ontologia in seguito all’apertura di una view precedentemente memoriz-zata. L’applicazione prevede che si possa ritornare alla visualizzazione completa del-l’ontologia cliccando su “orginal view” messa come prima voce nella pop-up windowche compare in seguito al click su “open view”, ma quasi tutti utenti hanno caricatonuovamente l’ontologia ritornando all’attivita principale dell’app. Un metodo piuintuitivo per ritornare alla view originale potrebbe essere attraverso l’implementa-zione del tasto “back”, come e stato suggerito anche dai commenti degli utenti fattialla fine del test.

L’interazione con l’ontologia e risultata sicuramente l’azione piu intuitiva pergli utenti: tutti hanno traslato e ingrandito l’ontologia con i gesti tipici delle ap-plicazioni Android, che sono noti anche a chi ha meno esperienza nell’utilizzo diquesti dispositivi. Anche il metodo di spostamento delle Toolbar e stato facilmentecompreso dagli utenti.

Il test aveva anche il compito di valutare l’efficacia delle icone scelte per l’ap-plicazione: l’icona che identifica la creazione di un’ontologia, l’icona che identifica

67

Page 73: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

6 – Test e Valutazione

l’apertura di un’ontologia e le icone della Toolbar Search e della Toolbar Edit sonostate comprese subito dagli utenti. Durante la progettazione delle icone sono statescelte di proposito metafore ampiamente utilizzate da altre applicazioni per desi-gnare questi concetti. Al contrario, l’icona della Toolbar Browse e risultata menointuitiva. Questo e stato confermato, oltre che dai commenti finali, anche durantel’esecuzione di alcuni dei task: spesso quando si richiedeva di interagire con questaToolbar, gli utenti sceglievano l’icona corretta semplicemente perche avevano esclusole altre presenti, che designano la loro funzione in maniera piu chiara.

Durante i commenti finali alcuni utenti hanno considerato utile la possibilita diavere piu layout di visualizzazione dell’ontologia e la possibilita di avere ulterioridettagli sui nodi. Un altro commento sorto da due degli utenti e stato quello dipoter selezionare piu nodi contemporaneamente durante la creazione di una nuovaview, magari selezionando un area del display. In realta questo potrebbe risultaredifficile da implementare, dato che lo stesso gesto e associato alla traslazione del-l’ontologia. La scelta fatta per la visualizzazione delle view, cioe di mostrare tuttale gerarchia fino al nodo radice e non solo i nodi selezionati, e stata apprezzata dagliutenti. Un ulteriore sviluppo potrebbe prevedere la possibilita di scegliere se mo-strare la gerarchia o meno, oppure rendere evidenti i nodi non selezionati dall’utenteattraverso l’uso di colori differenti.

In generale, alla fine dello svolgimento del test, i voti dati all’app sono risultatimolto positivi. Tutti gli utenti hanno considerato gradevole l’interfaccia, infatti, iltest ha riportato una votazione media di 4.25 su 5 per la modernita dell’interfaccia.Gli utenti hanno attribuito lo stesso punteggio anche alla semplicita di utilizzo delprogramma, mentre la facilita di apprendimento e stata valutata con un punteggiodi 4.5. Per quanto riguarda la valutazione sulla struttura del programma, tutti gliutenti hanno dato un punteggio piu basso rispetto alle altre opzioni, raggiungendoun punteggio medio di 3.25. Il programma, quindi, da un po’ di disorientamento alprimo utilizzo, ma dopo un po’ di esperienza si riesce ad usarlo in maniera veloce.Questo e dimostrato anche dalla considerazione sulla facilita di apprendimento delprogramma. Il punteggio totale medio e quindi di 4 su 5.

68

Page 74: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Capitolo 7

Conclusione

Nell’ambito del Web Semantico, sicuramente le applicazioni che consentono di vi-sualizzare e/o modificare una qualsiasi ontologia non mancano, come dimostratodall’analisi fatta nel capitolo 3. L’applicazione sviluppata durante la tesi, pero, nonsi pone come una sostituzione degli applicativi gia esistenti ma piuttosto come unanovita rispetto al panorama corrente. Ontology Viewer, infatti, da la possibilitadi interagire con le ontologie attraverso dispositivi mobili e touch screen, come il Ta-blet: attualmente, non esistono visualizzatori di ontologie studiati per questo tipodi dispositivi. Inoltre, l’interazione basata sull’evento touch, ben si presta all’intera-zione con questo tipo di dati, seguendo un paradigma di tipo esplorativo piuttostoche di “punta e clicca”, come accade per le applicazioni desktop-based.

Gli obiettivi preposti durante la tesi riguardavano proprio il metodo di visua-lizzazione e di interazione per strumenti mobili dotati di interfaccia touch screen.La scelta del layout di visualizzazione dell’ontologia di tipo Radial Tree risulta es-sere efficace per questo tipo di dispositivi data la possibilita di traslare e zoomarel’ontologia anche oltre i confini fisici del display. Inoltre, la metafora di interazioneutilizzata, cioe i menu circolari, e l’azione diretta sui nodi (come ad esmepio perla creazione delle view, risultano molto intuitive, come dimostrato durante il testutente.

In ogni caso, l’applicazione finora sviluppata e soltanto un prototipo, ma laprogettazione fatta e descritta nella tesi prevede comunque un programma completoal pari di quelli esistenti. In piu, grazie ai commenti dati dagli utenti che si sonosottoposti al test, sono state previste ulteriori migliorie sia sulla visualizzazione chesui metodi di interazione. Questa tesi potrebbe essere quindi il punto di partenzaper una piu completa applicazione per il Web Semantico basata su Android.

69

Page 75: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Appendice A

Test Plan

A.1 Lista dei task e misurazioni

Tabella A.1: Task e misurazioni

N° Task Successo Misurazioni

T1aApri l’ontologia che estata visualizzata piurecentemente.

L’utente esegueil task, senza er-rori.

Individuazione tastocorretto. Indivi-duazione dell’ordinecronologico delleontologia aperte direcente.

T1b

Apri l’ontologia chesi trova all’indirizzohttp://www.co-ode.

org/ontologies/

pizza/pizza.owl

L’utente esegueil task, con qual-che esitazione.L’utente potreb-be impiegare unpo’ di tempoper cliccarel’icona ‘‘ApriOntologia”.

Individuazione tastocorretto sul menudell’attivita princi-pale.Individuazionecorretta del tasto percaricare l’ontologia.

Tabella A.1: continua nella prossima pagina

70

Page 76: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A – Test Plan

Tabella A.1: continua dalla pagina precedente

N° Task Successo Misurazioni

T2

Apri un menu che ticonsente di memoriz-zare alcune caratteri-stiche dell’ontologia.

L’utente esegueil task, con qual-che esitazione.L’utente potreb-be commettereun errore, clic-cando l’iconadella toolbarsbagliata.

Comprensione dell’i-cona corretta. (chepotrebbe essere ancheper esclusione).Thinkaloud

T3

Se non ne hai gia aper-to uno, apri un menuqualsiasi e spostaloin un’altra posizionedello schermo.

L’utente esegueil task, senza er-rori.

Comprensione dellagesture da eseguireper il drag&drop.

T4Se non ne hai gia aper-to uno, apri un menuqualsiasi e richiudilo.

L’utente esegueil task, senza er-rori.

Comprensione dellsgesture da eseguire.

T5

Posiziona l’ontologiacome preferisci ememorizza un nuovobookmark attraversoun menu.

L’utente esegueil task, con qual-che esitazione.Uno o due erroripossibili (sceltatoolbar sbaglia-ta), se il taskviene presentatoprima di pro-vare la toolbarcorretta.

Comprensione dellaprocedura da eseguire,cioe selezione correttadella toolbar, selezio-ne corretta dell’item,selezione del bottone‘‘add to bookmark”.Comprensione dellagesture per lo zoome per il drag&dropsull’ontologia. Thinkaloud

Tabella A.1: continua nella prossima pagina

71

Page 77: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A – Test Plan

Tabella A.1: continua dalla pagina precedente

N° Task Successo Misurazioni

T6

Attraverso un menu,memorizza una nuo-va view che contengaalmeno il nodo radi-ce dell’ontologia e unnodo foglia.

L’utente esegueil task, con qual-che esitazione.Gli errori posso-no essere: sceltadella toolbarsbagliata, esita-zione nel trovareil tasto ‘‘Finish”per terminarela selezione deinodi.

Comprensione delladifferenza tra gli item‘‘open view’’ e ‘‘add toview’’. Comprensionedel metodo di sele-zione/deselezione deinodi. Appropriatezzafeedback di selezione.Comprensione dellagesture per lo zoome per il drag&dropsull’ontologia. Thinkaloud

T7

Attraverso un menu,apri un bookmark pre-cedentemente memo-rizzato.

L’utente esegueil task, con qual-che esitazione.Possibile errorenella scelta dellatoolbar corretta.

Comprensione dell’i-tem a cui accedere peraprire un bookmark.Think aloud

T8

Attraverso un menu,apri una view prece-dentemente memoriz-zata e successivamen-te ritorna alla visualiz-zazione completa del-l’ontologia.

L’utente esegueil task, con qual-che esitazione.Possibile errorenella scelta dellatoolbar corretta.Esitazione nelcomprendere che‘‘orginal view’’ ecliccabile.

Comprensione dell’i-tem a cui accedereper aprire una view.L’utente torna nel-l’attivita principale ericarica l’ontologia, olo fa dalla toolbar?Think aloud

Tabella A.1: continua nella prossima pagina

72

Page 78: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A – Test Plan

Tabella A.1: continua dalla pagina precedente

N° Task Successo Misurazioni

T9a

Attraverso un menu,elimina un bookmarkdell’ontologia gia me-morizzato.

L’utente esegueil task, con qual-che esitazionesulla scelta dellatoolbar corretta(solo se l’utentenon ha ancorasperimentato latoolbar nei taskprecedenti).

Comprensione del-l’icona del cestino.Think aloud

T9b

Attraverso un menu,elimina una view del-l’ontologia gia memo-rizzata.

L’utente esegueil task, con qual-che esitazionesulla scelta dellatoolbar corretta(solo se l’utentenon ha ancorasperimentato latoolbar nei taskprecedenti).

Comprensione del-l’icona del cestino.Think aloud

Tabella A.1: si conclude dalla pagina precedente

A.2 Script del test

PREPARAZIONE DELL’APPPrima di sottoporre il test all’utente, l’applicazione deve essere preparata comesegue:

� Le ontologie di prova memorizzate in locale e l’ontologia di ‘‘pizza’’ devonoavere memorizzato in locale due bookmark e due view.

� L’app viene presentata con l’attivita principale gia avviata.

TESTGrazie per aver preso parte a questo test. Il mio nome e Alessandra e ti guideronello svolgimento di questo test.

Il test ha lo scopo di verificare quanto sia facile utilizzare un’app per Tablet checonsente di visualizzare una qualsiasi ontologia ed interagire con essa.

73

Page 79: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A – Test Plan

Ti spiego come si svolge il test. Ti verranno richieste diverse azioni che dovraisvolgere con l’app che ti sto mostrando. Io ti spieghero cosa devi fare in ciascunaazione, una per volta. Le spiegazioni che ti daro sono scritte, in modo che io possadare le stesse informazioni a tutti i partecipanti.

Per alcune operazioni che dovrai fare, ti chiedero di dire ad alte voce quello chestai pensando e quello che stai per fare. Dimmi tutto senza preoccuparti di sembrarestupido o di ripeterti e ricordati con non stiamo testando te , ma il programma.Sappi che non ci sono risposte giuste o sbagliate.

L’intero test dovrebbe durare circa 25 minuti. Se non hai domande, possiamoiniziare con il compilare un questionario iniziale.

[Sottoporre “questionario iniziale”. Dopo aver compilato il questionario, spiegarel’applicazione].

L’app che vedi sul Tablet e finalizzata alla visualizzazione di ontologie. Unavolta che l’ontologia e visualizzata dall’app, e possibile interagire con essa: puo,infatti essere zoomata e traslata. Uno dei menu disponibili dopo la visualizzazionedell’ontologia, ti consente di memorizzare un bookmark o una view. Il bookmarkti permette di memorizzare una posizione particolare dell’ontologia sullo schermo,mentre la view ti permette di memorizzare una selezione di una parte dei nodi chefanno parte dell’ontologia.

Ora ti lascio un po’ di tempo per prendere confidenza con l’applicazione. Alcuneicone presenti nell’applicazione non sono implementate, quindi non preoccuparti seclicchi su di esse, non succedera nulla.

TASKBene, ora possiamo iniziare con il test vero e proprio. Durante l’esecuzione di alcunitask, ti chiedero di parlare a voce alta, dicendomi quello che pensi e quello che staiper fare o se qualcosa non ti e chiaro. Ora ti daro i task da eseguire, il primo e. . .

Ordine dei task

� P1: T1a, T3, T2, T5, T4, T6, T7, T9a, T8.

� P2: T1b, T8, T2, T5, T4, T7, T3, T9b, T6.

� P3: T1a, T9a, T6, T5, T2, T3, T4, T8, T7.

� P4: T1b, T2, T5, T4, T6, T7, T9b, T3, T8.

� P5: T1b, T4, T6, T9a, T8, T7, T5, T2, T3.

CONCLUSIONECome ultima cosa, ti chiederei di compilare un altro questionario per esprimere un

74

Page 80: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A – Test Plan

tuo parere sull’interfaccia e la comprensione dell’applicazione e di rispondere ad al-cune domande.

QUESTIONARIO FINALE

1. Penso che l’aspetto del programma sia moderno:

� 1 - Sono fortemente in disaccordo.

� 2 - Sono in disaccordo.

� 3 - Non sono ne in accordo ne in disaccordo.

� 4 - Sono d’accordo.

� 5 - Sono fortemente d’accordo.

2. Penso che il programma sia facile da utilizzare:

� 1 - Sono fortemente in disaccordo.

� 2 - Sono in disaccordo.

� 3 - Non sono ne in accordo ne in disaccordo.

� 4 - Sono d’accordo.

� 5 - Sono fortemente d’accordo.

3. Penso che la struttura del programma sia facilmente comprensibile:

� 1 - Sono fortemente in disaccordo.

� 2 - Sono in disaccordo.

� 3 - Non sono ne in accordo ne in disaccordo.

� 4 - Sono d’accordo.

� 5 - Sono fortemente d’accordo.

4. Non e stato difficile apprendere il funzionamento del programma:

� 1 - Sono fortemente in disaccordo.

� 2 - Sono in disaccordo.

� 3 - Non sono ne in accordo ne in disaccordo.

� 4 - Sono d’accordo.

� 5 - Sono fortemente d’accordo.

75

Page 81: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

A – Test Plan

DOMANDE FINALI

Da fare se il livello di conoscenza del Web Semantico e medio/alto:

1. Preferiresti poter cambiare tipo di layout dell’ontologia?

2. Preferiresti avere ulteriori dettagli sul nodo? In che modo vorresti visualizzarli?Quali dettagli?

3. La visualizzazione di una view memorizzata mostra non solo i nodi selezionatima anche la loro gerarchia fino al nodo radice. Secondo te va bene questascelta, o sarebbe meglio visualizzare solo i nodi selezionati?

Da fare sempre:

1. Preferiresti un modo diverso di selezione dei nodi per aggiungerli ad una view?

2. Durante la memorizzazione di una view, un riquadro verde identifica i nodiselezionati. Secondo te e sufficiente come feedback o preferiresti avere unafinestra che ti elenchi i nodi selezionati di volta in volta?

3. Sarebbe possibile con questa app avviare il processo di creazione di una nuovaontologia? Come?

4. Preferiresti avere un menu di impostazioni che ti consenta di modificare di-mensione dei nodi e/o del testo?

5. Sarebbe possibile con questa app aprire un ontologia memorizzata sul Tablet?

6. Sarebbe utile avere la possibilita di interrompere il caricamento di una onto-logia?

7. Una volta visualizzata l’ontologia, sarebbe possibile accedere ad un menu cheti consente di effettuare delle ricerche sull’ontologia?

8. Una volta visualizzata l’ontologia, sarebbe possibile accedere ad un menu cheti consente di effettuare delle modifiche sull’ontologia?

76

Page 82: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Elenco delle figure

Elenco delle figure

2.1 Esempio di Tassonomia . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Esempio di Thesaurus . . . . . . . . . . . . . . . . . . . . . . . . . . 72.3 Esempio di Ontologia . . . . . . . . . . . . . . . . . . . . . . . . . . . 82.4 Esempio classi di un’ontologia . . . . . . . . . . . . . . . . . . . . . . 92.5 Esempio proprieta di un’ontologia . . . . . . . . . . . . . . . . . . . . 102.6 Struttura del Web Semantico . . . . . . . . . . . . . . . . . . . . . . 112.7 Schermata di ViziQuer . . . . . . . . . . . . . . . . . . . . . . . . . . 192.8 Schermata di OpenLink Virtuoso SPARQL Query . . . . . . . . . . . 19

3.1 Schermata di Protege . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.2 Schermata di NeonToolkit . . . . . . . . . . . . . . . . . . . . . . . . 223.3 Schermata di Swoop . . . . . . . . . . . . . . . . . . . . . . . . . . . 233.4 Schermata di Top Braid Composer . . . . . . . . . . . . . . . . . . . 233.5 Schermata di Neologism . . . . . . . . . . . . . . . . . . . . . . . . . 253.6 Schermata di OntoTrack . . . . . . . . . . . . . . . . . . . . . . . . . 263.7 Vista CropCircle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.8 Indented List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.9 Node Link 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.10 Node Link 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.11 Zoomable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 313.12 Space filling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.13 Hyperbolic tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.1 Logo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.2 Attivita principale di Ontology Viewer . . . . . . . . . . . . . . . . . 394.3 Visualizzazione ontologia di Ontology Viewer . . . . . . . . . . . . . . 394.4 Pop-up per il caricamento di un’ontologia tramite URL o dal file

manager locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404.5 Radial Tree Layout . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414.6 Menu ontologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.7 Toolbar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

77

Page 83: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Elenco delle figure

4.8 Visualizzazione Ontologia e Toolbar . . . . . . . . . . . . . . . . . . . 434.9 Toolbar Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.10 Toolbar Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.11 Toolbar Browse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.12 Crea ontologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1 Struttura di Ontology Viewer . . . . . . . . . . . . . . . . . . . . . . 485.2 Classi, metodi e attributi di Radial Menu Widget . . . . . . . . . . . 495.3 Esempio di funzionalita non implementata . . . . . . . . . . . . . . . 525.4 Schema delle classi per la gestione del layout . . . . . . . . . . . . . . 565.5 Esempio dettagli del nodo . . . . . . . . . . . . . . . . . . . . . . . . 62

78

Page 84: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Elenco delle tabelle

Elenco delle tabelle

4.1 Icone dell’applicazione . . . . . . . . . . . . . . . . . . . . . . . . . . 37

A.1 Task e misurazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

79

Page 85: Visualizzazione di ontologie su dispositivi mobili touch ...elite.polito.it/files/thesis/fulltext/ronsini.pdf · Tesi di Laurea Magistrale Visualizzazione di ontologie su dispositivi

Bibliografia

[1] Jhon Hebeler, Matthew Fisher, Ryan Blace, and Andrew Perez-Lopez.Semantic Web Programming. 2009.

[2] Susan Whiting. Lean back 2.0. The Economist, 2012.[3] World Wide Web Consortium. Tim berners-lee. http://www.w3.org/People/

Berners-Lee/.[4] Grigoris Antoniou, Paul Groth, and Frank Van Harmelen. A Semantic Web

Primer. 2012.[5] Thomas Gruber. A translation approach to portable ontology specifications.

1993.[6] Angelo Zarrillo. Tools e ambienti per lo sviluppo di ontologie per il web

semantico. Master’s thesis, Universita degli studi di Napoli, Federico II, 2004.[7] World Wide Web Consortium. Owl web ontology language. http://www.w3.

org/TR/owl-features/, February 2004.[8] World Wide Web Consortium. Sparql query language for rdf. http://www.w3.

org/TR/rdf-sparql-query/, 2008.[9] Stanford University. welcome to protege. http://protege.stanford.edu/.

[10] Bijan Parsia, Taowei Wang, and Jennifer Golbeck. Visualizing web ontologieswith cropcircles.

[11] Akrivi Katifori, Constantin Halatsis, Lepouras George, Costas Vassilakis, andEugenia Giannopoulou. Ontology visualization methods - a survey. 2007.

[12] Don Hopkins. The design and implementation of pie menus. Dr. Dobb’sJournal, 1991.

[13] Nikola Banovic, Frank Chun Yat Li, David Dearman, Koji Yatani, and Khai N.Truong. Design of unimanual multi-finger pie menu interaction. 2011.

80