vuoi
o PayPal
tutte le volte che vuoi
Panoramica del concetto dei metadati partendo da una base informatica tramite le strutture DB e linguaggio XML per poi spaziare nella matematica e nella letteratura portando conclusioni in merito
Materie trattate: Informatica, Italiano(Letteratura)e matematica
Panciera Alessandro METALINGUAGGI
Introduzione
Sempre più, nella società moderna, la necessità di una approfondita conoscenza della lingua inglese
viene richiesta come requisito fondamentale nella preparazione di uno studente. L’inglese, scelto
per la sua facile struttura grammaticale e lessicale, si ritrova ad avere un ruolo centrale nella
comunicazione globale; basti osservare il linguaggio adottato in Internet, in riunioni internazionali e
in affari commerciali di multinazionali per comprendere come l’inglese risulti essere un ponte
comune fra diverse culture e popolazioni; l’importanza quindi di una lingua comune con cui
comunicare risulta avere un’importanza fondamentale negli aspetti economico-culturali nella nostra
società a carattere globale. Il problema dell’incomunicabilità non è una prerogativa delle sole lingue
parlate, altre forme di comunicazione quali l’informatica, con i suoi molteplici linguaggi in continua
evoluzione , e la matematica che, per la sua struttura stessa, deve risultare universalmente
interpretabile sono solamente alcuni esempi del problema in questione. L’ambiguità della “parola” e
la sua molteplice interpretazione risulta essere svantaggioso per questi linguaggi che richiedono
precisione e univocità, mentre, per un utilizzo artistico che sfrutta la soggettività del pensiero quali
la formazioni di poesie basate su figure retoriche e/o un utilizzo delle immagini come fonte di
comunicazione, un linguaggio non universalmente interpretabile risulta essere malleabile e in grado
di suggestionare il prossimo.
Un esempio di incomprensione è facilmente rappresentabile dalla parola “DICE”, per il lettore la
parola rappresenterà un verbo della lingua italiana, ma chi vi dice che io non abbia scritto la parola
“dadi” in inglese? Questo problema riscontrabile sia nella comunicazione fra persone che
nell’interpretazione di dati di differenti programmi introduce la necessità di un linguaggio
universale con il quale interpretare le parole o i dati.
La lingua inglese, vista secondo questa mia interpretazione, assume il significato di metalinguaggio
che è una parola composta; il prefisso “meta” deriva dal greco significa "dopo, oltre" ed ha
µετα,
dato origine a molti termini italiani. Il più famoso è metafisica che infatti vuol dire "ciò che è al di
là della fisica". Il titolo venne dato ai libri di Aristotele che seguivano il suo trattato sulla fisica e
che riportavano la parte più elevata della filosofia di Aristotele. Dunque con metafisica noi
intendiamo argomenti superiori e più ampi rispetto alla realtà fisica quotidiana. Similmente con
metamatematica intendiamo ciò che è più elevato rispetto alla matematica e che è sua logica
generale. In informatica si trovano due termini con il suffisso “meta” : metadati, le quali sono
informazioni che definiscono i dati, ad esempio i descrittori degli archivi e dei database sono
metadati; metalinguaggio il quale è un linguaggio più elevato che infatti ne definisce un
altro(“linguaggio-oggetto”), inoltre, quest’ultimo termine, assume anche la valenza di linguaggio-
tramite(“linguaggio superiore”) che permette l’interpretazione di un linguaggio diverso
(“linguaggio inferiore”). È da questa ultima definizione che attribuisco il significato di
metalinguaggio all’inglese e ad altre lingue che si prefiggono l’impegno di unificare le lingue scritte
e parlate quali l’esperanto e l’europanto che sono solamente alcuni esempi recenti di questo
obbiettivo globale.
In particolare è utile esaminare il concetto di metalinguaggio all’interno di un contesto di tipo
informatico in cui è più facile considerare il concetto di linguaggio oggetto e metalinguaggio con
esempi di implementazione reali e in uso, per rendere più evidente l’interdisciplinarietà del concetto
in questione. Informatica
Metadati
• Durante il programma di informatica di quest’anno, mentre si parlava di database (indicato
anche con l’acronimo DB), abbiamo incontrato le parole metadato riferito al data dictionary
(dizionario dei dati) in quanto quest’ultimo non è altro che una specie di “base di dati sulla base
di dati” che contiene le informazioni su schemi e sottoschemi del DB; in pratica il dizionario
dei dati contiene una collezione di metadati che descrivono la struttura dello schema, i vincoli di
integrità, domini, tipi di dato, le priorità di accesso a classi di utenza, le stored procedure e i
trigger in esso contenuti. Il dizionario dei dati acquista importanza in quanto, avendo
memorizzata la struttura del DB, permette di non confonderlo e trattarlo come un qualsiasi
archivio e, appunto, godere dei privilegi di una gestione tramite DBMS (Data Base Management
System).
Metalinguaggi
• Metalinguaggio è stato definito in precedenza come un linguaggio che ne definisce un altro, un
esempio reale di metalinguaggio è il BNF (Backus Normal Form), ovvero un formalismo
attraverso il quale è possibile descrivere la sintassi di linguaggi formali. Si tratta di uno
strumento molto usato per descrivere, in modo preciso e non ambiguo, la sintassi dei linguaggi
di programmazione, dei protocolli di rete e così via; in particolare l’EBNF (Extended BNF) e
sue varianti sono utilizzate per definire la sintassi dell’XML(Extensible Markup Language) il
quale anch’esso si presta ad essere un metalinguaggio che permette di creare dei linguaggi
personalizzati di markup che descrivono dati. Da questa struttura in cui un linguaggio è definito
da un altro metalinguaggio che è anch’esso definito da un metalinguaggio o meglio da un
metametalinguaggio comporta in se il significato di ricorsione in cui un linguaggio non conosce
ciò che gli “sta sopra” ma conosce ciò che gli “sta sotto” e che esso stesso definisce; si potrebbe
procedere all’infinito cercando di ottenere un metalinguaggio assoluto che comporti la fine delle
ambiguità e agli errori di argomentazione, nonché una struttura flessibile che si adatti ad ogni
evenienza, ma questo è un’utopia dell’informatica che sembra sfociare nel concetto di
intelligenza artificiale (AI) in cui la macchina riuscirà a capire ogni singolo errore e correggerlo
e adattare la propria struttura a seconda del contesto in cui si trova; questa considerazione
sull’intelligenza artificiale sta alla base dei collegamenti con il significato della parola nella
lingua parlata che tratterò più avanti.
XML
• Tornando al concreto e in particolare alla trattazione dell’ XML bisogna considerare le sue
origini e i motivi che comportano la sua rapida diffusione; l’XML nasce dall'esigenza di portare
nel World Wide Web lo SGML (Standard Generalized Markup Language), lo standard
internazionale per la descrizione della struttura e del contenuto di documenti elettronici di
qualsiasi tipo; ne contiene quindi tutta la potenza, ma non tutte le complesse funzioni raramente
utilizzate. Si caratterizza per la semplicità con cui è possibile scrivere documenti, condividerli e
trasmetterli nel Web. L'utilizzo di XML permette di superare il grosso limite attuale del Web,
che è quello della dipendenza da un tipo di documento HTML, singolo e non estensibile. Questo
linguaggio è nato per permettere agli utenti del World Wide Web di condividere le informazioni
su sistemi differenti; il presupposto era che quelle informazioni fossero testo con al più alcune
immagini e collegamenti ipertestuali. Attualmente però, le informazioni sul WWW sono
database di testo, immagini, suoni, video, audio. Quindi l'HTML è stato chiamato sempre più di
frequente a fornire soluzioni a problemi che non aveva lo scopo di risolvere, come dover
descrivere tipi differenti e specifici di informazioni, definire relazioni complesse di collegamenti
fra documenti, trasmettere informazioni in diversi formati. Per superare questi problemi, sono
state create delle estensioni dell'HTML, spesso fra loro incompatibili. L'XML permette a gruppi
di persone o ad organizzazioni di creare il proprio linguaggio di markup, specifico per il tipo di
informazione che trattano; la caratteristica principale dell’XML è la possibilità di definire una
qualsiasi struttura o tipo di dato, incluse formule matematiche, istruzioni di configurazione, in
alcuni casi anche musica e fatture comprensibili sia dall’uomo che dalla macchina. L’XML è un
linguaggio di markup che è utilizzato sia per la capacità di essere rappresentato come un
diagramma ad albero nel caso dei DOM (Document Object Model )sia per la sua capacità di
contenere lo schema , la sua istanza, le relazioni e le proprietà di un DB come nel caso dei
DTD(Document Type Definition) garantendo una buona portabilità e mantenendo la coerenza di
documenti XML di applicazioni differenti.Gli obiettivi progettuali di XML sono molteplici ma
facilmente riassumibili in una decina di punti:
1) XML deve operare in maniera efficiente su Internet e soddisfare le esigenze delle
applicazioni eseguite in un ambiente di rete distribuito.
2) XML deve supportare un gran numero di applicazioni: deve essere possibile utilizzare
l'XML con un'ampia gamma di applicazioni, tra cui strumenti di creazione, motori per la
visualizzazione di contenuti, strumenti di traduzione e applicazioni di database.
3) XML deve essere compatibile con SGML: questo obiettivo è stato definito sulla base del
presupposto che un documento XML valido debba anche essere un documento SGML
valido, in modo tale che gli strumenti SGML esistenti possano essere utilizzati con
l'XML e siano in grado di analizzare il codice XML.
4) Deve essere facile lo sviluppo di programmi che elaborino documenti XML: l'adozione
del linguaggio è proporzionale alla disponibilità di strumenti e la proliferazione di questi
è la dimostrazione che questo obiettivo è stato raggiunto.
5) Il numero di caratteristiche opzionali deve essere mantenuto al minimo possibile: al
contrario dell'SGML, l'XML elimina le opzioni, in tal modo qualsiasi elaboratore potrà
pertanto analizzare qualunque documento XML, indipendentemente dai dati e dalla
struttura contenuti nel documento.
6) I documenti XML dovrebbero essere leggibili da un utente e ragionevolmente chiari:
poiché utilizza il testo normale per descrivere i dati e le relazioni tra i dati, l'XML è più
semplice da utilizzare e da leggere del formato binario che esegue la stessa operazione;
inoltre poiché il codice è formattato in modo diretto, è utile che l'XML sia facilmente
leggibile da parte sia degli utenti che dei computer.
7) La progettazione di XML dovrebbe essere rapida: l'XML è stato sviluppato per
soddisfare l'esigenza di un linguaggio estensibile per il Web. Questo obiettivo è stato
definito dopo aver considerato l'eventualità che se l'XML non fosse stato reso
disponibile rapidamente come metodo per estendere l'HTML, altre organizzazioni
avrebbero potuto provvedere a fornire una soluzione proprietaria, binaria o entrambe.
8) La progettazione di XML deve essere formale e concisa: questo obiettivo deriva
dall'esigenza di rendere il linguaggio il più possibile conciso, formalizzando la
formulazione della specifica.
9) I documenti XML devono essere facili da creare: i documenti XML possono essere
creati facendo ricorso a strumenti di semplice utilizzo, quali editor di testo normale.
10) Non è di nessuna importanza l'economicità nel markup XML: nell'SGML e nell'HTML
la presenza di un tag di apertura è sufficiente per segnalare che l'elemento precedente
deve essere chiuso. Benché così sia possibile ridurre il lavoro degli autori, questa
soluzione potrebbe essere fonte di confusione per i lettori, nell'XML la chiarezza ha in
ogni caso la precedenza sulla concisione.
La struttura vera e propria dell'XML è composta dai tag creati dallo sviluppatore, che hanno due
caratteristiche: (1) Devono essere comprensibili in funzione dello scopo del tag stesso (onde
evitare di non capirci nulla ad una seconda lettura e per facilitare la comprensione agli altri
utenti); (2) Devono rispettare delle regole, come la differenza tra maiuscolo e minuscolo; non