Imagine if it were possible to extract the knowledge contained within documents (not just the knowledge about the documents) and manage it in a knowledge base that is continually being updated with new information, both manually and automatically.
Focus on the forest rather than the trees
L. M. Gershol, What are topic maps
Abulafia è un progetto per un sistema di content management basato su topic maps, strutturato per gestire basi documentali di tipo storico-giuridico e consentire un accesso semantico alle informazioni.
Abulafia implementa un SQL engine per la gestione dei dati ed un topic map engine SQL realizzato sulle specifiche TMRQL (Topic Map Relational Query Language) di G. Moore e K. Ahmed per la gestione delle relazioni documentali e la cercabilità delle informazioni.
Lo sviluppo di un front-end e di un back-end PHP modulari e conformi agli standard W3C sono obbiettivi finali del progetto. Abulafia è sviluppato sotto licenza GPL.
Topic maps
Topic maps are a tool to organize information in a way that is optimized for navigation.
Topic maps represent a structured view over a set of information resources. The base resources themselves do not need to be structured.
M. Biezunski, Topic maps at a glance
Le topic maps sono definite da uno standard ISO (ISO/IEC 13250) e sono un sistema per l'organizzazione e la correlazione di dati indipendente dai dati stessi. Le topic maps realizzano un indice che risiede al di fuori delle informazioni che descrive: si lavora con il significato delle informazioni e non più con le informazioni stesse.
Il risultato è una struttura informativa non vincolata dai tradizionali sistemi gerarchici, che contiene gerarchie multiple sovrapposte semanticamente ricche e che consente all'utente di non dover seguire più la sola logica di accesso pensata dal progettista: i percorsi sono multipli e ridondanti.
Le topic maps non obbligano ad un modello ontologico predefinito (sono in effetti meta-modelli), ma consentono di definire il proprio sistema organizzativo per l'architettura dell'informazione modellandolo come una classificazione a faccette, un vocabolario controllato, un tesauro, un'ontologia o una combinazione di questi.
Una via d'uscita dall'infoglut
Una topic map è, non sorprendentemente, costituita principalmente da topics. Questi rappresentano le cose descritte dalla topic map. Adattando un esempio di L. M. Garshol, in una topic map che tratti di IA possibili topics sarebbero deliverables, usability heuristics, Nielsen, o Morville.
I topics hanno relazioni, che la topic map modella come associazioni (associations) e che sono typed, ovvero descritte. Seguendo il nostro esempio, la association tra Nielsen ed usability heuristics è una relazione di authorship. Le associazioni hanno una caratteristica interessante: i topics all'interno di una relazione ricevono un ruolo (role). Più sopra, Nielsen è l'autore (author), mentre le heuristics sono il lavoro (work).
Il significato di questo semplice passaggio è che all'interno di una topic map le due frasi 'Nielsen ha scritto le usability heuristics' e 'Le heuristics sono state scritte da Nielsen' sono esattamente la stessa cosa, l'associazione tra i topics è bidirezionale.
Ovviamente, le associazioni non sono limitate a due topics: Nielsen ha prodotto deliverables sulle usability heuristics può essere reso con la stessa facilità dell'esempio riportato sopra..
L'ultimo elemento di una topic map sono le occorrenze (occurrences), ovvero risorse informative rilevanti in relazione ad un topic. Nel caso di Nielsen, una foto, la sua homepage, un saggio. Poichè anche le occorrenze possono essere descritte (typed), le informazioni riportabili ad un utente che richiede un topic non sono solo quantitative (un certo numero di link), ma anche qualitative (cosa sono quei link).
Con un vocabolario ristretto, elegante e semplice, le topic maps possono generare un'elevata complessità semantica.
Topic maps e CMS: on top, underneath, ITMS
I CMS hanno risolto diversi problemi legati alla lavorazione di contenuti in ambito multi-utente, lasciando però aperte diverse questioni. Tra queste, non ultima e legata soprattutto all'esplosione della pubblicazione sul World Wide Web, l'organizzazione delle informazioni e la conseguente cercabilità (o trovabilità come dice Rosati) da parte di una platea eterogenea di utenti non noti a priori.
I CMS hanno sviluppato propri modelli tassonomici ad hoc, diversi tra loro, risolvendo il problema specifico ma irrigidendo su questi le proprie funzionalità ed imponendo limitazioni alla disponibilità delle informazioni. Le topic maps forniscono il tassello mancante: un modello descrittivo infinitamente flessibile, ma standard.
All'interno di un CMS le topic maps lavorano a più livelli: producono la navigazione, consentono la cercabilità, incrementano la findability, creano parte del contenuto attraverso le occorrenze dei propri topics.
On top ed underneath si riferiscono ai possibili sistemi di integrazione tra topic map e CMS: col primo, il topic map engine produce oltre che la navigazione una parte rilevante del contenuto della pagina; col secondo, il ruolo è limitato alla creazione di links e rimandi (ad es. fornendo un blocco what's related). Il CMS è la parte centrale del processo, ed è sua responsabilità fornire i metadati necessari perché sia possibile correlare pagina e topic (o topics).
Garshol ha proposto di chiamare i sistemi di content management basati su topic maps ITMS (Integrated Topic Management Systems): CMS il cui principio organizzativo è la topic map.
Abulafia
Lo scopo di Abulafia è la gestione di archivi documentali strutturati, con uno schema di metadati basato sul modello elaborato dal Dublin Core (DCES).
Seguendo ed integrando lo schema delineato da S. Pepper, il progetto e l'implementazione di Abulafia possono essere divisi in due passaggi:
1. Realizzazione della topic map e della base dati
- raccolta e disamina delle fonti
- definizione di vocabolario controllato e di un'ontologia
- implementazione della base dati TMRQL
- popolamento dell'ontologia, ovvero costruzione della topic map vera e propria. Questo include l'inviduazione dei topics, delle associations e delle occurrences attraverso un processo iterativo.
- implementazione della base dati SQL
- popolamento della base dati, ovvero costruzione dell'archivio informativo.
2. Realizzazione dell'applicazione
- implementazione dell'applicazione che utilizza la topic map per rendere disponibile i dati attraverso views e stored procedures TMRQL
- realizzazione di back-end e front-end per la gestione e la consultazione dei dati
Nel caso un progetto come Abulafia, che nasce per risolvere un problema specifico relativo ad una base documentale specifica e a scopi sperimentali, molto del lavoro di costruzione semantico della prima fase, inclusa l'analisi delle fonti per la creazione di topics, types, associations, è in un certo qual modo facilitato dall'omogeneità dei dati di partenza, mentre, anche considerando il contesto sperimentale, l'implementazione di una topic map TMRQL e la necessaria costante verifica ed affinatura di questa implementazione presentano sicuramente più problemi progettuali.
Minima technicalia
Abulafia è scritto in PHP 4 ed utilizza come RDBMS MySQL 5.
Lo schema SQL della gestione dati è stato originariamente sviluppato da Andrea Resmini e Matteo Caprari per exea tra il 1999 ed il 2002 ed in corso di adattamento per la gestione documentale con topic maps da Andrea Resmini.
La bibliografia è disponibile, insieme ad altre risorse, nel gruppo Topic maps liberamente accessibile su Magnolia.