Categorías
Microformatos Dublin Core Web Semántica

Microformatos Dublin Core

Saco un imaginario tambor para tocar un redoble y así presentar una nueva aplicación en webposible llamada Dublincore Metadata Gen: Generador de metadatos Dublincore.
¿Y qué hace esta aplicación? En pocas palabras genera metadatos de Dublin Core en tres diferentes formatos:

  • Metadatos para insertar en documentos HTML ó XHTML.
  • Microformatos de Dublin Core.
  • Fichero RDF.

Es decir, genera dos tipos de metadatos «clásicos» (RDF y los que están dentro de la etiquetas <head></head>), y otro tipo de metadatos, que por lo que yo se es una novedad, los microformatos de Dublin Core.
Pero vayamos por partes.

¿Qué es Dublin Core?

Aquí viene una cita que podemos encontrar en el sitio de Dublin Core en español:

La Iniciativa de Metadatos Dublin Core es un foro abierto dedicado al desarrollo de estándares de metadatos en línea interoperables que soporten una amplia variedad de propuestas y modelos de negocio. Las actividades de la DCMI incluyen grupos de trabajo dirigidos al consenso, conferencias y talleres de carácter global, relaciones entre estándares y esfuerzos de carácter eductivo parra promover la aceptación general de estándares y prácticas de metadatos. Para saber más.

es.dublincore.org

¿Qué son los microformatos? Ejemplo de microformatos de Dublin Core.

En pocas palabras, es código estándar HTML ó XHTML, que utiliza las características semánticas que ofrece las propiedades class de cada elemento. Una abundante documentación, además de aplicaciones, se puede encontrar en el sitio oficial de los microformatos microformats.org. Pero veamos un pequeño ejemplo:

<dl class="dublincore">
	<dt>Autor:</dt>
	<dd class="creator">Alejandro Gonzalo Bravo García</dd>
</dl>

Y brevemente explico esta porción de código. Tenemos un elemento HTML, en este caso una lista de definición dl. Este elemento tiene una clase dublincore. Evidentemente esta clase puede tener una presentación en la hoja de estilos: tipo de fuente, color, tamaño, bordes, etcétera. Pero también, y aquí está el meollo de la cuestión en los microformatos, también puede tener un contenido semántico.
Si los microformatos de Dublin Core fuésen un «estándar», reconocido tanto por los desarrolladores de código y aplicaciones, como por los buscadores (y de momento no ocurre, y no sabemos si algún día ocurrirá), entonces este código indicaría a los buscadores: «Oye, que aquí vas a encontrar microformatos de dublincore, atento a el nombre de las clases que te encuentres dentro, estás avisado». Por supuesto, de momento los microformatos de Dublin Core no son más que un experimento personal, y están muy lejos, puede que a años luz de convertirse en un estándar de facto .
Seguimos con el código tras este inciso. Un poco después encontramos el elemento que definimos «Autor» y el valor de esta «definición»: Alejandro Gonzalo Bravo García. Y aquí de nuevo nos encontramos con una clase, llamada «creator«. Y qué es «creator«, pues uno de los elementos de Dublin Core, que está claramente definido, como podemos ver en creator.
Esta porción de código:

  1. Tendría un significado semántico para los buscadores (repito, si es que algún día llega a ser estándar), como también ocurre con los metadatos.
  2. Pero a diferencia de los metadatos, donde no siempre esta información es visible por los internautas, ya que dependiende del navegador que usemos, los metadatos que estén en el código, y los pluggins que tengamos instalados, en el caso de los microformatos, la información sería transparente para los internautas.

Veamos un ejemplo del segundo punto antes mencionado. Para ello, simplemente copiaremos el código del microformato que nos ha servido para explicar los conceptos:

Autor:
Alejandro Gonzalo Bravo García

Y como podemos ver, claramente define al autor, como Alejandro Gonzalo Bravo García (sí, ya se que mi nombre es un poco largo, pero me gusta, je je).
Aquí me gustaría hacer un pequeño inciso, para explicar, al menos como yo lo entiendo, la triple semántica que tiene éste codigo que nos ha servido de ejemplo. Veámos:

  1. Información visible para el internauta y/o buscador: aparecen claramente las palabras «Autor» y «Alejandro Gonzalo Bravo García»
  2. Además, el código contiene microformatos. Mediante microformatos de dublincore indicamos que ese elemento contenedor, la liste de definición, va a usar en las clases metadatos de Dublin Core, en este caso creator, es decir, esta información también podría ser útil a los buscadores.
  3. Pero lo más importante, y esto es algo que con excesiva frecuencia ha sido olvidado por los entusiastas de los microformatos, también aprovechamos las capacidades semánticas de los elementos de HTML. ¿Acaso no hay nada más correcto y estándar, que usar listas de definición para definir? El ejemplo es muy sencillo, pero es suficientemente claro, tenemos lo definido, «Autor» y le asignamos una definición «Alejandro Gonzalo Bravo García». Todo está muy claro.
¿Cómo podría interpretar los microformatos de Dublin Core?, ¿Para qué servirían?

Desde mi punto de vista, los microformatos de Dublin Core se podrían interpretar como una ficha bibliográfica de un recurso, puede hacer referencia al propio documento donde se inserten (por ejemplo, al final, a modo de resúmen, o al principio como presentación) o pueden hacer referencia a un documento externo. La utilidad, la tengo muy clara, por una parte son microformatos, y ya he explicado desde mi punto de vista sus ventajas, y por otro lado, es trata de Dublin Core, y tienen una enorme difusión, cuenta con una gran cantidad de elementos (podéis comprobarlo en DCMI Metadata Terms), que pueden servir para muchos propósitos, yo de momento sólo he dado aquí algunas ideas.

¿Ahora mismo, para que sirven los microformatos de Dublin Core? ¿Existe una especificación «oficial»? ¿Se admiten sugerencias?

Me respondo yo mismo estas preguntas, que a más de uno se le pueden haber ocurrido:

¿Ahora mismo, para que sirven los microformatos de Dublin Core?

Ahora mismo no sirven para nada. Aunque es cierto que me gustaría que en el futuro sirviese para algo. Los microformatos de Dublin Core todavía no existe, nada más que en la mente de una persona. Simplemente es un proyecto en sus incicios.

¿Existe una especificación «oficial»?

No, no existe una especificación oficial, aunque lo cierto es que tengo por ahí un borrador en un estado muy inicial. Aún así, de momento, lo único que utilizo es una clase, dublincore que evidentemente se puede asociar rápidamente con la Iniciativa de Metadatos de Dublin Core. También utilizo en la aplicación Dublincore Metadata Gen, algunos de sus elementos, usando directamente su nombre, como por ejemplo title, description, contributor, creator,…
Tengo mis dudas si usar directamente el nombre de los elementos, como ocurre actualmente, o añadirle un prefijo, por ejemplo «dc-« (así quedaría dc-title, dc-description, dc-contributor, dc-creator,… ) Así se evitaría una posible duplicidad con algunos elementos usadas por otros microformatos, como por ejemplo license, usada también en rel=»license».
Es decir, no hay nada concreto, aunque si todo sigue según lo previsto, mi intención es hacer una especificación lo más clara posible, que ayude a entender y a codificar microformatos, entre otros, de Dublin Core.

¿Se admiten sugerencias?

Por supuesto, toda sugerencia, crítica, aportación, idea,… es bienvenida. Me interesa por ejemplo vuestra opinión sobre el nombre de los elementos ¿uso su nombre original, antepongo un prefijo? También sería interesante una discusión sobre los elementos más importantes, aquellos que se podrían «descartar»,… También la forma de codificar algunos elementos. Tengo muy presente los vínculos relacionales (por si no sabes de lo que te hablo, te recomiendo que leas Navegación Semántica o Meta Navegación, un interesantísimo artículo de Emmanuelle Gutierrez y Restrepo). De hecho, de momento no está hecho, pero tengo en mente generar también vínculos relacionales de Dublin Core y explicar su uso.

¿Qué queda por hacer?

Personalmente, espero vuestras opiniones. Esto acaba de empezar, y todavía faltan muchas cosas por decidir. Una vez que tengamos claro que elementos son más útiles, cómo se puede codificar, y cómo se puede codificar de una forma semánticamente más correcta… creo que el siguiente paso sería escribir una especie de especificación-recomendación-manual que explique la codificación de los microformatos, y particularmente, los de Dublin Core. También es obligatorio mejorar la aplicación, incluir más metadatos, programarlo en PHP (eso sería genial).
Y si vemos que esto crea interés en la comunidad internauta hispanohablante, ya es cuestión de traducir al inglés todo lo que haga falta. ¿Quién sabe?
De momento, si te interesa, prueba Dublincore Metadata Gen, y deja aquí mismo un comentario con tu opinión.
Pero recuerda, esto de momento sólo es una idea que considero puede ser interesante, no quiero hacer castillos en las nubes. Puede que ésto sea tan sólo una mala idea que ha muerto antes de nacer, je je.
Etiquetas Technorati: dublincore, microformatos, microformats.

Ayuda con tu opinión, en el desarrollo de este proyecto

Actualización 2005/11/29. Tu opinión cuenta:
Ya he recibido algunos correos y comentarios con respecto a esta aplicación, y lo agradezco. Pero creo que vuestra opinión, como posibles usuarios, desarrolladores o internautas, cuenta mucho en este proyecto. Personalmente agradezco cualquier comentario sobre estos tres aspectos:
¿Te parece bien el nombre de la clase (dublincore) para el elemento conteneder (ul)? Otras alternativas posibles que se me ocurren: dc, dcmi,… Personalmente la que he elegido me parece bastante acertada, ya que por este nombre son conocidos estos populares elementos.
¿Consideras mejor usar el nombre de los elementos «originales» directamente en las clases (por ejemplo creator), o crees que quedaría mejor con un prefijo (por ejemplo dc-creator)? Hay dos puntos de vista que pueden condicionar la respuesta:

  1. Si utilizo prefijo (dc-), evito duplicar «microformatos» con el mismo nombre (por ejemplo license, usada con el mismo nombre en rel="license"). Este prefijo podría dar «pistas semánticas» sobre la clase, pero por otro lado, no sería tan intuitivo para los familiarizados con Dublin Core
  2. Si no utilizo prefijo, toda la documentación de Dublin Core se puede aplicar para microformatos, sería más sencillo de usar (no hay prefijos raros que pueden conducir a error), pero existen microformatos duplicados (de momento sólo conozco el de license, pero ya es uno).

De todos los elementos de Dublin Core, ¿Cuáles te parecen más interesantes para usar en la aplicación? Puede que sobren algunos, y puede que opinéis que faltan algunos. Hay que tener en cuenta que si se colocan demasiados elementos de Dublin Core, puede ser una página demasiado grande y pesada…
Cualquier opinión sobre las preguntas anteriores, u otras cuestiones que os interesen, son bienvenidas en forma de comentario en esta misma página.