Commenti(0)
Database MySQL e linguaggio XML nel contesto del Web semantico
L’articolo illustra il rapporto tra dati e semantica dei dati memorizzati all’interno di un database con riferimento al WEB semantico e al futuro standard WEB 3.0
“Si può parlare di comportamento intelligente di una macchina quando, in una situazione di interazione scritta fra un soggetto umano ed un’altra entità, che egli non vede e che potrebbe essere sia una macchina sia un altro uomo, il soggetto non sia in grado di stabilire, per quante domande ponga, se il suo interlocutore è un uomo o una macchina.”
Con questo test, proposto nel 1950 e ben noto agli addetti ai lavori delle scienze informatiche, il matematico crittanalista Alan Turing poneva le fondamenta per l’avvento dell’ingegneria dell’intelligenza artificiale e, più in generale, per individuare un punto d’arrivo stabile nell’evoluzione dei sistemi informatici.
Anche se le idee di Turing, in prima battuta, potrebbero sembrare un pò distanti dagli scopi primari della community MySQL Italia, ad un’analisi più approfondita si scopre viceversa che, da diversi anni a questa parte, la comunità scientifica – in gran parte dell’IT, ma gli studi si espandono a un numero molto elevato di ambiti di ricerca – sta sempre più accentrando il proprio effort verso un’evoluzione profonda del concetto di sistema informatico. E, come vedremo in seguito, da 20 anni a questa parte – nell’era delle reti e di Internet – questa evoluzione finisce per coinvolgere profondamente le architetture di rete e, conseguentemente, le basi di dati. Dal volume “Epistemologia informatica”, del 1991, trae origine la seguente citazione:
“I sistemi esperti costituiscono uno dei rami principali in cui si articolano oggi la ricerca e lo sviluppo applicativo nel campo dell’intelligenza artificiale […]. I sistemi esperti possono essere considerati come un’estensione dei sistemi dotati di capacità di reperimento delle informazioni (information retrieval) e della capacità di ragionare sulle informazioni reperite.”
In base alla citazione su riportata, è facile a questo punto capire il perché dell’interesse sempre crescente per l’intelligenza artificiale: il web, nella sua forma più evoluta, incontra la capacità di una macchina informatica di “riflettere”; da questo incontro che nasce il web semantico. Per web semantico si intende un web evoluto avente la capacità di effettuare ragionamenti complessi sulle interrogazioni ricevute.
Un esempio potrebbe essere la seguente interrogazione su un qualsiasi motore di ricerca, proposta dal W3C:
“Trovami il modo più elegante di risolvere l’equazione di Schrödinger“
Dal punto di vista di un elaboratore, cosa vuol dire “elegante”? E ancora, come si stabilisce se una soluzione è più elegante di un’altra? Esiste un parametro che il Web 2.0 può usare per stabilire una relazione d’ordine tra l’uno o l’altro risultato? A questi interrogativi, l’attuale Web 2.0 non sa fornire risposta, o in certi casi sa farlo in maniera molto ridotta.
Il web semantico, dunque, come precisato da Tim Berners Lee, si pone come obiettivo quello di trasformare il World Wide Web in un ambiente dove i documenti pubblicati, pagine HTML, file, immagini, etc., siano associati a particolari informazioni, i metadati. I metadati possono specificare il contesto semantico dei dati in un formato adatto all’interrogazione, all’interpretazione e, più in generale, all’elaborazione automatica. In termini di versioni, tutto ciò corrisponde al Web 3.0.
Come avrete notato, fino ad ora la parola “interrogazione” è ricorsa più volte in questo articolo. Questo non è un caso, perché il World Wide Web, per quanto complesso, è un applicativo che funziona su un’enorme struttura di reti informatiche che nella maggior parte dei casi, per espletare i loro compiti, fanno riferimento a dei database contenenti le informazioni di interesse. Con riferimento a MySQL, quindi, potremmo pensare, ad esempio, a un portale di e-commerce come ad un sistema riconducibile, schematicamente, a un applicativo client (scritto in un dato linguaggio, ad esempio il PHP) che effettua query su un database secondo regole specifiche per la garanzia della sicurezza.
Cosa potrebbe voler dire, dunque, progettare un rudimentale sistema di web semantico? Fornire una risposta a questa domanda potrebbe dare origine a svariate discussioni, ma in larga scala, si potrebbe riflettere sull’idea di “trasformare il Web in un database, cosa che faciliterebbe l’accesso ai contenuti da parte di molteplici applicazioni che non siano necessariamente dei browser” (secondo quanto suggerisce http://it.wikipedia.org/wiki/Web_3.0) o, in altre parole, di costruire quell’ambiente costituito da documenti associati a metadati, che specifichino le informazioni semantiche, – teorizzato da Berners-Lee.
In termini pratici, occorre allora uno strumento, possibilmente semplice ed efficace, per definire e memorizzare le informazioni semantiche associate ai documenti. Nella disciplina informatica, possiamo sicuramente annoverare tra questi l’eXtensible Markup Language, meglio noto con l’acronimo di XML, e ancora più specificatamente alcuni suoi derivati, l’RDF (Resource Description Framework) e l’OWL (Ontology Web Language), espressamente creati per l’impiego nell’intelligenza artificiale. Al di la degli aspetti specifici, la teoria dimostra che XML è perfettamente impiegabile nella rappresentazione di strutture che esprimano, al nocciolo, le relazioni di parentela o di essere “parte di”, necessarie nella produzione dei metadati per la semantica. Senza addentrarci nello specifico del linguaggio XML, supponiamo di averlo scelto per il nostro scopo. Come possiamo migrare tali informazioni, così strutturate, all’interno di un database MySQL?
Un esempio molto semplice potrebbe essere quello proposto da mysql.com, che specifica che a partire dalla versione 5.1 di MySQL, il client prevede la possibilità di caricare strutture XML all’interno della base di dati. Con l’istruzione seguente, ad esempio, creiamo una tabella MySql:
CREATE TABLE x (doc VARCHAR);
Ed inseriamo nella tabella x creata i valori di un file XML:
E’ inoltre possibile effettuare il caricamento delle informazioni XML nel database attraverso specifiche librerie del linguaggio PHP. Ancora, è possibile utilizzare tool predefiniti, esterni a MySQL, per il caricamento dei dati. Un esempio è il tool Navicat Lite MySQL, che permette, oltre al management dei database, di caricare file corrispondenti a strutture XML o CSV.
Al di la della modalità di caricamento delle informazioni nel database, e al di la dello strumento (XML, RDF, OWL etc.) scelto per rappresentare l’ontologia che rechi le informazioni semantiche, lo scopo di memorizzare tali informazioni dovrebbe essere piuttosto chiaro: una richiesta lanciata da un’interfaccia di un motore di ricerca, non passa più attraverso una “semplice” elencazione dei risultati basata sulla rispondenza dei concetti chiave immessi, o poco più; una richiesta viene “interpretata” (grazie ai criteri semantici impostati, il cui retrieval avviene con un’interrogazione al database), e su di essa vengono effettuati dei ragionamenti, che nel peggiore dei casi porteranno agli stessi risultati ottenibili da un web “non semantico”. Si crea così una struttura intelligente, una più efficace organizzazione delle informazioni, una migliore indicizzazione dei contenuti. Per portare gli utenti ad utilizzare una rete ottimizzata secondo principi di oltre mezzo secolo fa.
Condividi su:
Esprimi un voto:
Argomenti chiave:

MySQL Report un tool di shell per tenere tutto sotto controllo