Cómo crear e implementar un esquema de metadatos

Publicado el 21 de febrero de 2017 por en Descripción archivística, ECM

Metadatos. Todos hemos oído hablar de ellos en este momento de transición de archivos en papel a sistemas de gestión de documentos electrónicos. Pero, ¿tenemos claro lo que son, para qué sirven y, sobre todo, cómo crear e implementar un esquema de metadatos?

Define los grupos de metadatos que necesitas

Los metadatos no son otra cosa que datos que describen otros datos. Piensa en una factura en PDF. El dato sería la factura propiamente dicha y los metadatos podrían ser datos como la fecha de creación y el autor del documento, o incluso su importe y si está pagada o no.

El primer paso es definir los grupos de metadatos que necesitas. O, dicho de otra manera: qué conjunto de datos quieres conocer sobre cada uno de los tipos documentales que forman parte del sistema de gestión documental. Te ayudará tener en mente las principales funciones de los metadatos:

  • Recuperar la información: Los metadatos permiten recuperar y filtrar la información por criterios más variados que la clasificación y el título del documento.
  • Automatizar procesos: Gracias a los metadatos, puedes automatizar procesos como la captura de datos, el análisis de datos masivos, etc.
  • Asegurar la trazabilidad: Los metadatos pueden guardar información sobre eventos como la lectura, escritura y borrado de un documento.

Todos los programas de gestión documental recogen por defecto una serie de metadatos, que dependerá del software que utilices y de su configuración. Estos metadatos no tendrás que indicarlos en el fichero XML.

¿Lo vemos con un ejemplo? Las facturas que envío por correo electrónico a mis clientes son un tipo documental. Mi software de gestión documental guarda por defecto el nombre, el tamaño, la versión, las fechas de creación y modificación y las acciones que los usuarios llevan a cabo sobre el mismo. Sin embargo también quiero conocer:

  • El número de factura.
  • La fecha de expedición.
  • La fecha de vencimiento.
  • El cliente.
  • El importe.
  • Si está pagada o no.

Éstos son los metadatos que formarán parte del grupo de metadatos de la factura.

Construye el fichero de metadatos

¿Ya has definido los grupos de metadatos que necesitas? El siguiente paso es construir el fichero de metadatos, el temido fichero XML (siglas en inglés de eXtensible Markup Language).

Antes de editar el fichero deberás conocer la definición de tipo de documento o DTD que vas a utilizar. Esta DTD define la estructura y la sintaxis a las que deberá adaptarse el XML. Consulta la documentación de tu software de gestión documental para saber qué DTD están disponibles y qué estructura y sintaxis proponen. Una vez conozcas el enlace de tu DTD, tienes que indicarlo en la cabecera del fichero XML como sigue:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 2.5//EN"
"http://www.openkm.com/dtd/property-groups-2.5.dtd">

Como ves, para este ejemplo estoy trabajando con el software de gestión documental OpenKM.

El siguiente paso es nombrar el grupo de metadatos. Como es para las facturas, ¿qué tal si le pongo simplemente “Factura”? Recuerda consultar la documentación de tu software para conocer la estructura y sintaxis que debes aplicar.

<property-groups>
<property-group label="Factura" name="okg:factura">
</property-group>
</property-groups>

Ahora ha llegado el momento de crear una etiqueta para cada uno de los metadatos que forman parte del grupo. El DTD que estoy utilizando tiene dos campos que me interesan: “Select”, para el nombre del cliente y si la factura está pagada o no, e “Input”, para el resto de metadatos.

Creo la etiqueta “Select” y le asigno un nombre para humanos (“Cliente”), un nombre para el sistema (“okp:factura.cliente”) y si se podrá seleccionar más de una opción (no es el caso, así que pongo “simple”). Hecho esto, creo una “option label” por cada uno de los clientes de mi distinguida cartera: ACME, Capsule Corp. y Planet Express.

<select label="Cliente" name ="okp:factura.cliente" type="simple">
<option label="ACME" value="001" />
<option label="Capsule Corp." value ="002" />
<option label="Planet Express" value="003" />
</select>

Repito el mismo paso para el metadato que me informe sobre el estado de la factura.

<select label="Pagada" name ="okp:factura.pagada" type="simple">
<option label="Sí" value="001" />
<option label="No" value ="002" />
</select>

La etiqueta “Input” es más fácil de manejar: sólo tengo que definir el nombre para humanos (por ejemplo, “Fecha de factura”), el nombre para el sistema (“okp:factura.fechaf”) y el tipo de contenido (por ejemplo, “date”). Creo una línea por cada metadato: fecha de factura, fecha de vencimiento, número de factura e importe.

<input label="Fecha de factura" name="okp:factura.fechaf" type="date" />
<input label="Fecha de vencimiento" name="okp:factura.fechav" type="date" />
<input label="Número de factura" name="okp:factura.numerof" type="text" />
<input label="Importe" name="okp:factura.importe" type="text" />

El fichero obtenido debería tener un aspecto similar a esto:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 2.5//EN"
"http://www.openkm.com/dtd/property-groups-2.5.dtd">
<property-groups>
<property-group label="Factura" name="okg:factura">
<select label="Cliente" name ="okp:factura.cliente" type="simple">
<option label="ACME" value="001" />
<option label="Capsule Corp." value ="002" />
<option label="Planet Express" value="003" />
</select>
<input label="Fecha de factura" name="okp:factura.fechaf" type="date" />
<input label="Fecha de vencimiento" name="okp:factura.fechav" type="date" />
<input label="Número de factura" name="okp:factura.numerof" type="text" />
<input label="Importe" name="okp:factura.importe" type="text" />
<select label="Pagada" name ="okp:factura.pagada" type="simple">
<option label="Sí" value="001" />
<option label="No" value ="002" />
</select>
</property-group>
</property-groups>

Implementa el esquema de metadatos

La implementación de este esquema variará en función del software, pero básicamente consiste en copiar la información que acabas de escribir en el fichero correspondiente. OpenKM incorpora una herramienta en el panel de administración para editar los metadatos.

Implementación de metadatos en OpenKM

De ahora en adelante, cuando incorpores una nueva factura en PDF, podrás añadirle este grupo de metadatos y cumplimentar cada uno de los campos.

Implementación de metadatos en OpenKM

Esto te permitirá realizar búsquedas avanzadas en base a estos metadatos. ¿Quieres ver todas las facturas impagadas? Puedes.

Implementación de metadatos en OpenKM

¿Por qué perder tiempo en añadir estos metadatos manualmente? Gracias a los metadatos, puedes automatizar tareas como la captura de datos. Para ello solo tienes que configurar el OCR (siglas en inglés de Optical Characters Recognition) de tu software de gestión documental para que sepa cómo reconocer una factura en PDF y qué metadato corresponde a cada uno de los campos que puede leer. Cada vez que cargues una nueva factura, el OCR escaneará los campos que le hayas indicado y volcará en el metadato correspondiente la información que haya sido capaz de leer. ¿Lo vemos con un ejemplo?

Implementación de metadatos en OpenKM

Espero que esta entrada te haya resultado útil. Como siempre, te animo a dejarme en la sección de comentarios cualquier duda con la que te hayas quedado, así como sugerencias de contenido.

3 respuestas a “Cómo crear e implementar un esquema de metadatos”

  1. Ana dice:

    Gracias por esta entrada, se detalla la información esencial acerca de los metadatos de forma práctica y sencilla ☺

  2. Martín dice:

    Que buena entrada, deberían ponerlo como ejemplo en muchos cursos de metadatos que abusan de lo teórico. Genial sobre todo la parte del fichero XML, muy útil. Gracias por compartirlo!

    • Guillermo dice:

      Muchas gracias por tu feedback, Martín! Cuando estudié por primera vez los esquemas de metadatos, me resultó un tema algo farragoso y difícil de entender, así que he planteado la entrada como me hubiera gustado que me los explicaran. Me alegra que te haya resultado útil.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.