Questione seconda: Che razza ontologi sono gli informatici?
Un’ontologia (notate l’articolo indeterminativo) è, per Tom Gruber, la specifica di una concettualizzazione, come uno di quegli intricati diagrammi di entità, attributi e relazioni che l’analista inizia a scarabocchiare il primo giorno che incontra il cliente. Sarebbero queste dunque le mitiche ontologie? Stando alla definizione di classica di Gruber sembra di si, a patto però che lo scarabocchio abbia una preciso significato formale rispetto a ciò che esiste nel dominio dell’applicazione. Dai tempi di Chen, dunque, chiunque progetti una base di dati è senza saperlo un ontologo?
Nicola Guarino avverte che per far buona informatica non basta tracciare rettangoli colorati, né scrivere formule: bisogna che rettangoli, formule e quant’altro catturino postulati di significato bene intesi da analisti, clienti, sviluppatori, utenti. Cioè, se si introduce il rettangolo ‘CLIENTE’, l’insieme degli oggetti che hanno la proprietà di essere ‘CLIENTE’ deve essere (virtualmente) lo stesso per tutti, in ogni contesto in cui il sistema si applica.
Ma come si postula il significato di ‘CLIENTE’? In italiano usiamo questo sostantivo in sensi abbastanza diversi (vedi De Mauro), e in genere è chiaro che una parola, isolata, non dà alcuna garanzia ontologica. Quindi per postulare il significato nel senso che ci interessa dovremo introdurre vincoli del genere ‘CLIENTE è una PERSONA che ACQUISTA uno o più BENI’. Come si vede, con questa definizione si esclude il senso latineggiante di ‘chi si asserve a qualcuno per interesse’, d’uso non comune ma molto pregnante in Italia. Ma è chiaro che PERSONA, ACQUISTA e BENI debbano essere postulati a loro volta, e i termini usati nei loro postulati debbano essere a loro volta postulati. Dove ci conduce tutto questo postulare? Ai termini primitivi semantici, cioè ai mattoncini di significato su cui non v’è da dubitare.
Se i primitivi semantici ci siano davvero è questione che non riguarda gli informatici. Per loro ci devono essere. E non solo per i fan dell’ontologia, ma per tutti, anche per gli scettici più radicali, perchè altrimenti è meglio che cambino mestiere: se questi primitivi non fossero in qualche modo efficaci, qualunque sistema franerebbe nel caos. E il caos che regna nei sistemi informativi è spesso causato dal fatto di lasciare questi primitivi nascosti in milioni di righe di codice, invece di dichiararli, appunto, in un’ontologia.
Gli informatici sono dunque condannati all’ontologia. Ma cosa ne sanno loro dei termini primitivi semantici? Come arrivano, se ci arrivano, a determinarli? E se li usano in modo consapevole, li usano bene?
Questo sarà oggetto della prossima questione, ma intanto me ne vado una settimana al mare.