7
L’originalità e i punti di forza del progetto Metaweb stanno nella costruzione di un
sistema di descrizione di risorse che, soprattutto grazie alla definizione arbitraria di
viewpoint da parte del gestore del sistema, è improntato alla massima flessibilità (e
non legato a vincoli come succede ad esempio in RSS) che garantisce una grande
espressività pur mantenendo una rigida struttura (non troppo “libera” come succede
ad esempio in RDF). Questa strutturazione permette al motore di ricerca di penetrare
all’interno dei descriptor e analizzarne e confrontarne i contenuti (rispetto ad un
descrittore campione che costituisce la query) attraverso apposite “funzioni distanza”
(che svolgono il duplice ruolo di valutare l’ammissibilità di un descrittore tra i
risultati della ricerca e la distanza di questo rispetto alla query). Si avrà quindi la
possibilità di navigare nel meta-universo delle risorse con criteri semantici.
Il tool descritto è un prototipo minimale realizzato (tramite le tecnologie Java, Java
Servlet, JSP, XML e HTML) con l’obiettivo di sperimentare, raffinare e validare le
caratteristiche del modello Metaweb.
Il prototipo è stato sviluppato dal sottoscritto all’interno di una esperienza di
collaborazione con l’azienda Explo-IT Research di Antonio Capani
(http://www.Explo-IT.com), e costituisce lo “zoccolo duro” di un più ampio progetto
che verrà mantenuto e valorizzato dall’azienda stessa.
Ad esempio, al momento in cui viene scritta questa tesi, è in fase di sviluppo un
progetto per la gestione di questionari su web (il questionario è implementato da un
descrittore e il motore di ricerca e opportuni strumenti statistici consentono di
valutare un contesto di questionari compilati).
8
1) Le risorse e la loro descrizione
Risorse: di cosa stiamo parlando?
Tutti gli oggetti che possono essere in qualche modo rappresentati in maniera digitale
sono il target del presente studio. Ci si riferisce a documenti, siti web, immagini ma
anche a libri, poesie o automobili. Il concetto chiave a questo punto è quindi quello di
rappresentabilità. In effetti questo è l'unico requisito necessario per poter codificare
un oggetto dentro a un computer, e quindi poterlo considerare risorsa. Chiameremo
oggetto qualsiasi cosa che sia rappresentabile, e risorsa la sua effettiva
rappresentazione. Principalmente rivolgeremo la nostra attenzione alle risorse.
Dall'oggetto alla risorsa
È evidente da ciò detto in precedenza che il primo passaggio importante è quello che
trasforma l'oggetto in risorsa. Lo chiameremo passo di rappresentazione. Se
l'oggetto in questione è già di natura digitale (ad esempio nel caso di un documento o
di un sito web) ovviamente questo passo non sarà necessario, altrimenti la codifica
avverrà attraverso un'approssimazione (o comunque un’astrazione) più o meno
fedele dell'oggetto.
Ad esempio nel caso di un'immagine potremo avere la codifica attraverso la
descrizione (tramite valori numerici) del colore di ognuno dei pixel in un rettangolo,
nel caso di un'automobile potremo avere la sua precisa descrizione volumetrica e
alcune utili informazioni su di essa. In questo secondo caso (oggetto non digitale) ci
sarà un'intrinseca perdita di informazione, ma avremo superato il primo ostacolo e
finalmente potremo averne una versione digitale. D'ora in poi potremo considerare
questo primo ostacolo superato e liberamente parlare di risorse come entità digitali
che rappresentano qualcosa (eventualmente loro stesse).
9
Inoltre iniziamo a scorgere le due caratteristiche più rilevanti di ogni passo di
rappresentazione:
• La (eventuale) perdita di informazione dell'oggetto
• La possibilità di rendere leggibile la risorsa
Perché mettiamo le cose dentro ai computer?
A questo punto voglio porre una domanda che può apparire banale:
"Perché abbiamo voluto rappresentare un oggetto?"
Ovvero: "Perché abbiamo voluto mettere qualcosa dentro a un computer"?
La risposta è altrettanto banale, ma utile per la continuazione.
Perché vogliamo poter acquisire la risorsa digitale e utilizzarla. Per modificarla, per
spedirla, per conservarla, per catalogarla, eccetera. Quindi abbiamo pagato lo scotto
di omogeneizzare il nostro oggetto, ottenendo però il vantaggio di poterlo
accomunare ad altri oggetti e renderlo leggibile allo stesso modo degli altri. Dopo
questo processo possiamo dire in un certo senso che una poesia assomiglia un po’ di
più a una pagina web e un'immagine assomiglia un po’ di più a un'automobile. Cioè il
processo di rappresentazione ha conferito a tutti questi oggetti delle caratteristiche
comuni.
Come si utilizzano le risorse?
Teniamo a mente queste due cose che sono successe: un’omogeneizzazione
dell'oggetto originale e la possibilità di leggere la risorsa che lo rappresenta.
Ma non dimentichiamoci il motivo per cui abbiamo "messo sul computer un oggetto":
per poterlo utilizzare.
Continuiamo con le domande semplici:
10
"Come vogliamo utilizzare queste risorse?"
Certamente non sempre nella stessa maniera, però ci sono delle "categorie di attività"
particolarmente significative:
• Attività locali
™ Leggere
™ Modificare
™ Eseguire
™ Far interagire con l'utente
• Attività globali
™ Conservare
™ Far interagire tra di loro
Cerchiamo di capire cosa si intende con attività locali e attività globali.
Alcune attività sono relative alla singola risorsa e quindi partono dalla risorsa stessa,
altre sono relative a un gruppo di risorse e quindi la singola risorsa è solo uno degli
elementi in gioco.
Risulta chiaro che attività come leggere, modificare ed eseguire sono attività locali: si
parte da una risorsa e si rimane dentro di essa. Anche l'interazione con l'utente è
sempre pensabile come una serie di momenti di lettura/modifica/esecuzione.
Il discorso cambia quando parliamo di conservare e far interagire tra di loro le risorse.
Il problema della conservazione
Tutte le cose che vogliono essere conservate hanno a che vedere con due momenti,
distinti e complementari:
• Mettere a posto un oggetto
• Ritrovare un oggetto
11
Questi due momenti sono complementari perché il primo è in funzione del secondo:
cerco di mettere a posto qualcosa in un modo che mi renda semplice il compito di
ritrovarlo. Questo discorso è applicabile ai file del mio personal computer ma anche
alle informazioni in un elenco telefonico oppure ai maglioni nel mio armadio.
Questo esempio dei maglioni fa notare altri due requisiti che ha senso considerare
quando si parla di conservazione:
• La persistenza
• La compattezza
Il primo requisito ha come obiettivo quello di salvare una risorsa nella sua integrità
indipendentemente dalle circostanze esterne: cambiamenti di hardware, cambiamenti
di software, errori dovuti a corruzione di file, semplice passare del tempo, eccetera.
Non sembra una buona idea quella di conservare un maglione lasciandolo sul terrazzo
mentre piove e neanche inchiodandolo a un manichino che presto diventerà vecchio.
Il secondo requisito ha come obiettivo quello di conservare una risorsa nel minor
spazio possibile. In questo modo la risorsa è più snella e quindi "riempie meno
memoria fisica", è più agevole da spedire e da caricare, eccetera. Del resto un
maglione appallottolato fa molto più volume di un maglione piegato bene.
Il problema dell'interazione di risorse
La maestra fa un dettato leggendo dal suo libro di favole. Lo scolaro ascolta la
maestra e scrive la favola sul quaderno. La risorsa "libro di favole" e la risorsa
"quaderno" hanno un'interazione. In questo caso è un'interazione banale, cioè una
copia da uno all'altro. Non voglio mettere l'accento sull'interazione, bensì sul modo in
cui avviene. Il libro "parla" per bocca della maestra e il quaderno "ascolta" per
orecchio dello scolaro. L'interazione avviene in maniera corretta perché le due risorse
si sono accordate su un linguaggio comune. Se lo scolaro si fosse aspettato un
dettato in italiano e invece la maestra avesse parlato in polacco il testo trascritto
12
sarebbe stato molto distante da quello originario. In pratica l'interazione sarebbe stata
scarsa. Allo stesso modo risorse di formati diversi spesso non si "capiscono" e quindi
hanno difficoltà o impossibilità ad interagire tra di loro, e spesso si devono avvalere
di convertitori o macchinose interfacce. Risulta quindi chiaro che l'interazione fra
risorse è favorita dal fatto di avere almeno parti di ogni risorsa che "parlano la stessa
lingua". Nella pratica informatica questo si traduce nella definizione di standard che
si auspica vengano utilizzati in maniera estensiva.
Cinque requisiti per la gestione delle risorse
Riassumiamo i discorsi fatti in precedenza in cinque requisiti per la gestione delle
risorse:
• Requisito 1) o di precisione
™ Minimizzare la perdita di informazione
• Requisito 2) o di compattezza
™ Minimizzare lo spazio occupato da una risorsa
• Requisito 3) o di fruibilità
™ Massimizzare la fruibilità della risorsa
• Requisito 4) o di persistenza
™ Salvaguardare l'integrità delle risorse indipendentemente da cambiamenti esterni
• Requisito 5) o di uniformità
™ Massimizzare la intercomunicabilità delle risorse attraverso la creazione di
standard
13
Evoluzione storica dell'informatica e nuove necessità
Consideriamo adesso per un momento l'evoluzione storica dell'informatica
relativamente a questi requisiti.
Al principio, l'informazione era codificata in maniera piuttosto "rozza", e quindi il
requisito di precisione aveva limiti intrinseci. Inoltre doveva scontrarsi anche con i
limiti "molto tangibili" di spazio: non si poteva codificare in maniera troppo precisa
una risorsa. Questa "spada di Damocle" pendeva chiaramente anche sul requisito di
compattezza: grande sforzo era impiegato per cercare di codificare l'informazione
nella maniera più sintetica possibile. L'uniformità non era un grosso problema: non
esisteva un grande numero di formati diversi e poco ci si curava di eventuali
interazioni o condivisione di file. Del resto poteva girare solo un'applicazione per
volta, e quindi l'interazione era ridotta quasi a zero. La fruibilità si limitava a
problemi locali (come leggere e modificare…), mentre sempre per il poco spazio e la
poca abitudine a "mettere le cose sul computer" le velleità di conservazione e di
persistenza sembravano facili, rimandabili o secondarie.
Con il passare del tempo questa situazione si sta decisamente ribaltando.
La possibilità di curare, con applicazioni sempre più ad hoc, la precisione delle
risorse, ma soprattutto l'aumento smisurato dello spazio disponibile, sia per la
presenza di Hard Disk sempre più capaci, sia per la presenza di Internet che permette
di distribuire l'informazione, sta facendo sì che i problemi relativi alla precisione e
alla sintesi diventino gradualmente sempre meno fondamentali. Per lo stesso motivo,
e per una cultura informatica più "totale", sta crescendo vertiginosamente il numero e
la complessità di risorse che si vuole conservare da qualche parte, e cioè sul proprio
personal computer o sulla grande rete. Aumenta notevolmente quindi la necessità di
una fruibilità globale delle risorse, e quindi cresce la necessità di poterle conservare
e ritrovare facilmente, e diventano sempre più rilevanti i requisiti di persistenza e
di uniformità.
14
La necessità di descrizioni
Riassumiamo brevemente quello che emerge dal discorso precedente.
Si sentono sempre di più le seguenti necessità:
• Agevolare la persistenza delle risorse
• Facilitare la conservazione e la conseguente ricerca delle risorse
• Aumentare l'uniformità delle risorse (appoggiandosi su standard)
Per adempiere a questo compito apparirebbe molto utile un ulteriore passo di
"omogeneizzazione". Proprio come il nostro iniziale passo di rappresentazione ci
aveva permesso di "mettere degli oggetti dentro a un computer", un secondo passo di
rappresentazione ci permetterà di utilizzare al meglio le nostre risorse. Partendo
dalla risorsa bisognerà effettuare una descrizione di essa in maniera sintetica ma
soprattutto standard ed espressiva. La possibilità che appare più indicata sembra
essere quella di fare una sorta di proiezione della nostra risorsa su molteplici
caratteristiche. Così come la descrizione di un solido può essere fatta mediante la
sua proiezione ortogonale rispettivamente sui piani laterale, frontale e orizzontale,
così per descrivere una risorsa si cerca di "guardarla" da vari punti di vista
indipendenti tra di loro, per poter esprimere al meglio, e con meno ridondanze
possibili, le informazioni contenute nella risorsa stessa. Si cerca quindi di operare una
descrizione per caratteristiche.
Facciamo un esempio.
La risorsa è una poesia. È scritta con il suo titolo in alto al centro, poi c'è un testo e
alla fine c'è il nome dell'autore e la data. La risorsa si trova "fisicamente" all'URL
(fittizio) http://www.robbiano.it/poesie/soldati.
15
Soldati
Si sta come
d'autunno
sugli alberi
le foglie
Giuseppe Ungaretti 1918
La risorsa può essere descritta ad esempio elencando le sue caratteristiche. Ogni
caratteristica, per semplicità, è indicata con una coppia nome-valore. Inoltre le
caratteristiche sono state divise in tre gruppi per far capire come una stessa risorsa
può essere guardata “da più punti di vista” (non necessariamente disgiunti).
• Punto di vista “Opera Letteraria”
™ Titolo: Soldati
™ Genere letterario: Poesia
™ Testo: Si sta come / d'autunno / sugli alberi / le foglie
™ Autore: Giuseppe Ungaretti
™ Anno: 1918
™ Numero di versi: 4
™ Lingua: Italiano
• Punto di vista “Scheda Critica”
™ Titolo: Soldati
™ Autori della stessa corrente: Quasimodo, Montale
™ Corrente artistica: Ermetismo
™ Soggetto: solitudine, soldati, precarietà, autunno
™ Voto personale: 7,5
16
• Punto di vista “Locazione Fisica”
™ Titolo: Soldati
™ Locazione: http://www.robbiano.it/poesie/soldati
Ecco la solita domanda semplice:
"A che cosa ci serve questa descrizione?"
A vari scopi. In primo luogo adesso abbiamo delle "cose" (le descrizioni) che si
possono parlare tra di loro, poiché sono scritte tutte allo stesso modo. Un'altra
poesia potrebbe essere infatti descritta nella stessa maniera, e quindi potremmo fare
dei confronti e delle selezioni. Ne segue un altro importante vantaggio: sono molto
più facili da trovare e catalogare. Inoltre non dimentichiamoci che, a differenza del
precedente passo di rappresentazione, questa descrizione non sostituisce la risorsa,
ma si pone "al suo fianco": una delle caratteristiche (nell'esempio: locazione) sarà
infatti un riferimento alla risorsa di partenza. È un po’ come un'etichetta su un vasetto
di marmellata, che cerca di descrivere, ma non certo di sostituire, quello che c'è
dentro.
Di tutto, di più
Rubo uno slogan famoso per mettere in risalto che con un passo di descrizione non
solo cerco di conservare, nella maniera più ordinata possibile, l'informazione
originaria della risorsa, ma fornisco anche delle informazioni aggiuntive. Pensiamo
per un attimo all'esempio della poesia. Le caratteristiche possono essere divise in tre
categorie:
• Intrinseche - Quelle che si possono evincere immediatamente dalla risorsa
• Deducibili - Quelle che si possono evincere tramite elaborazione della risorsa e
del contesto
• Arbitrarie - Quelle che non si possono evincere dalla risorsa e dal contesto