lunes, 19 de noviembre de 2012

Lectura de metadatos: programas parser

Los metadatos estudiados, Dublin Core, MADS, MODS y METS, así como cualesquiera que sean basados en XML, pueden ser explotados gracias a la existencia de programas de lectura cuyos patrones de funcionamiento permiten un análisis correcto de acuerdo a la norma de construcción de tales metadatos. Esto es lograr recuperar la información que contienen embebida entre etiquetas de apertura y cierre, así como en sus correspondientes atributos. Los programas parser no son herramientas fácilmente visibles para el documentalista, sólo se observan los resultados de los mismos. Su presencia en casi todas las herramientas de la web, los convierte en indispensables y su conocimiento habilita al documentalista para un mejor aprovechamiento de la información publicada en los catálogos bibliográficos, sistemas de información y documentación de las distintas UIDs. Pero para comprender su función es necesario definirlos, así como establecer cuál es su patrón de funcionamiento básico.

Qué es un parser
Un parser es un analizador sintáctico de patrones o estructuras predefinidas, que actúa sobre un archivo, cadena de caracteres, códigos, formatos o texto, de forma tal que es capaz de generar una pila ordenada de los elementos coincidentes con dicho patrón según su jerarquía y posición original, para su posterior acceso, selección y recuperación. Con independencia del patrón y de la fuente de datos que el parser analiza, también existen otras características que definen su funcionamiento, como el recorrido ascendente bottom-up-parsing o descendente top-down-parsing, por derivación LL left to right, leftmost derivation o por ampliación LR left to right, rightmost derivation.

Un parser es de recorrido ascendente, cuando parte de los elementos básicos de una estructura jerárquica de tal forma que desconoce por completo sus posibles relaciones ascendentes, con terceros elementos padres o ancestros, por lo que su orden de inferencia se basa en la ampliación de tales estructuras con las de los niveles superiores, hasta alcanzar el primer elemento de la jerarquía. Por este motivo un parser de tipo ascendente bottom-up-parsing, también será de tipo LR left to right, rightmost derivation (CHAPMAN, N.P, 1987). Un parser es de recorrido descendente, cuando parte del primer elemento de la estructura jerárquica de tal forma que establece relaciones con los elementos hijos y nietos mediante la derivación del análisis en cada uno de ellos de forma recursiva, hasta alcanzar los niveles inferiores de la jerarquía. Por este motivo un parser de tipo descendente top-down-parsing, también será de tipo LL left to right, leftmost derivation (GRUNE, D. and Jacobs, C., 1998). En el caso de los metadatos y del análisis de páginas web, los analizadores sintácticos parten de las estructuras propias de XML como patrones conocidos de comparación y análisis. Dado que XML es un lenguaje estructurado y anidado, resulta eminentemente jerárquico y de contexto gramatical conocido. Por estos motivos, los parser aplicados a XML son del tipo LL left to right, leftmost derivation.


Funcionamiento general de un parser XML
Un parser XML es un analizador sintáctico de estructuras anidadas de etiquetas. Ello significa que cualquier formato de sindicación es susceptible de ser analizado por este tipo de programas por el mero hecho de estar basados en XML. Por lo tanto el primer requisito para el funcionamiento de un parser XML es la disposición de un canal de sindicación que actúa como fuente de datos para el análisis. A continuación el sistema carga el archivo XML en búfer de memoria para empezar el análisis descendente de la estructura jerárquica. El primer paso es la detección de la cabecera XML, indicativa de que el archivo posee dicho dominio gramatical. Este paso resulta fundamental, puesto que determina la validación del lenguaje XML. A continuación se procede con un análisis descendente de la estructura jerárquica propia del formato de sindicación. Ello significa que tomará como punto de partida la primera etiqueta de apertura y cierre del formato. 

Esta primera confrontación también resulta clave, dado que las etiquetas de apertura del canal de sindicación contienen atributos xmlns para definir su propio namespace y el de los módulos que utilicen en todo caso, lo que puede facilitar la identificación de los juegos e etiquetas necesarios para interpretar el contenido del formato. No obstante, el parser por sí solo no entiende estas disquisiciones y únicamente anotará en su pila de elementos la existencia de atributos adscritos a la primera etiqueta del canal de sindicación. Recuérdese que al tratarse de un parser de análisis por derivación, comprobará las etiquetas de primer nivel jerárquico propias de la descripción del canal de sindicación y de las entradas de contenidos que lo conforman de forma secuencial y ordenada hasta agotar todas las alternativas posibles de derivación con el primer elemento del primer nivel jerárquico y sus sucesivos. 

Figura1. Esquema de funcionamiento de un programa parser aplicado a sindicación de contenidos

De esta forma, el parser configura una pila de elementos que es esencialmente un array de arrays o una matriz de matrices que a modo de mapa de la estructura del archivo de metadatos, permite acceder a sus contenidos, mediante expresiones de selección preferiblemente compuestas en lenguaje XPath o XQuery. Para almacenar sus contenidos, también se necesita un proceso denominado asignación de valores a variables, ello implica crear las variables propias de cada etiqueta para almacenar la información del formato. El método más ordenado y efectivo para lograrlo es la identificación de la variable a una función de selección expresada en XPath que actúa sobre el mapa estructural creado por el parser.

El resultado de su ejecución es la selección del contenido de dicha etiqueta y su asignación a la variable. Finalmente una vez asignados los valores a las variables, pueden emplearse para constituir un servicio de lectura del canal de sindicación, pueden importarse a una base de datos para su posterior edición o exportarse los contenidos a terceros formatos.

Figura2. Esquema de funcionamiento de un programa parser especializado en metadatos


Referencias

BLÁZQUEZ OCHANDO, M. 2010. Aplicaciones de la sindicación para la gestión de catálogos bibliográficos. pp.206-219. Disponible en: http://eprints.ucm.es/11233/1/T32065.pdf

CHAPMAN, N.P. 1987. LR parsing: theory and practice. Cambridge University Press.

GRUNE, D. y C. JACOBS. 1998. PARSING TECHNIQUES A Practical Guide. Chichester: Ellis Horwood.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.