Microdatos
==========

Resumen
-------

Los microdatos son una especificación HTML de WHATWG que se emplea para anidar metadatos en el contenido existente de las páginas web.[1] Buscadores, arañas web y navegadores pueden extraer y procesar los microdatos a partir de una página y utilizarlos para proveer una experiencia más enriquecida para los usuarios. Los buscadores se benefician considerablemente del acceso directo a estos datos estructurados, ya que les permite entender la información contenida en las páginas y ofrecer mejores resultados a sus usuarios. Los microdatos utilizan un vocabulario de apoyo para describir tanto los elementos como conjuntos de nombre y valor y así asignar valores a sus propiedades. Los microdatos representan un intento de brindar una manera más sencilla de anotar elementos HTML con etiquetas legibles por máquinas que los métodos similares consistentes en usar RDFa y microformatos.

El Grupo de Trabajo de HTML del W3C no pudo encontrar un editor que se encargase de la especificación y, por ende, puso término a su desarrollo en 2013 con una «nota».

En un nivel elevado, los microdatos consisten de un grupo de conjuntos nombre-valor. Tales grupos se denominan elementos, y cada conjunto nombre-valor es una propiedad. Los elementos y las propiedades los representan elementos ordinarios.

* Para crear un elemento, se utiliza el atributo **itemscope** ('alcance de elemento').
* Para añadir una propiedad a un elemento, el atributo **itemprop** ('propiedad de elemento') se emplea en uno de los descendientes del elemento.
Vocabularios
------------

Google, así como otros de los principales buscadores, admiten el vocabulario para datos estructurados de Schema.org. Este vocabulario define un conjunto estandarizado de nombres de tipos y de propiedades: por ejemplo, Evento musical de Schema.org señala conciertos, e incluye las propiedades *startDate* ('fecha inicial') y *location* ('ubicación') para definir los detalles clave del acontecimiento. En este caso, Evento musical de Schema.org es el URL usado por *itemtype* y *startDate*, y la ubicación corresponde a las *itemprop* que defina Evento musical de Schema.org.

**Nota:** para obtener más información sobre los atributos *itemtype*, véase http://schema.org/Thing (en inglés)

Los vocabularios de microdatos brindan la semántica, o el significado, de los elementos. Los programadores web pueden diseñar un vocabulario personalizado o servirse de los que existen disponibles en la web, como el ampliamente utilizado vocabulario de Schema.org. Schema.org ofrece una colección de vocabularios de etiquetado usados frecuentemente.

Vocabularios usados frecuentemente:

* Obras creativas: *CreativeWork* ('obra creativa'),\_ Book\_ ('libro'), *Movie* (película),\_ MusicRecording\_ ('grabación musical'),\_ Recipe\_ ('receta'),\_ TVSeries\_ ('serie de televisión')
* Objetos distintos del texto incrustados: *AudioObject* ('objeto de audio'), *ImageObject* ('objeto de imagen'),\_ VideoObject\_ ('objeto de vídeo')
* *Event* ('acontecimiento')
* Tipos relativos a la salud y la medicina: las notas sobre los tipos relativos a la salud y la medicina se encuentran bajo *MedicalEntity* ('entidad médica')
* *Organization* ('organización')
* *Person* ('persona')
* *Place* ('sitio'), *LocalBusiness* ('negocio local'), *Restaurant* ('restaurante')
* *Product* ('producto'), *Offer* ('oferta'), *AggregateOffer* ('oferta general')
* *Review* ('reseña'), *AggregateRating* ('valoración totalizada')
* *Action* ('acción')
* *Thing* ('cosa')
* *Intangible*

Con el objeto de mejorar los resultados de las búsquedas, las empresas operarias de los principales buscadores, como Google, Microsoft y Yahoo!, dependen del vocabulario de Schema.org. Para algunos propósitos específicos, es necesario diseñar un vocabulario especializado. Siempre que resulta posible, se anima a los autores a servirse de vocabularios existentes, dado que esto facilita la reutilización del contenido.

Regionalización
---------------

En algunos casos, los buscadores que dan servicio a determinadas regiones pueden ofrecer ampliaciones de los microdatos específicas para tales regiones. Por ejemplo, Yandex, un buscador importante en Rusia, admite microformatos como *hCard* (datos de contacto de empresas), *hRecipe* (recetas de cocina), *hReview* (reseñas de mercado) y *hProduct* (datos de productos) y proporciona su propio formato para definir términos y mostrar artículos enciclopédicos. Se creó esta ampliación para solucionar problemas relativos a la transliteración entre los alfabetos cirílico y latino. Como consecuencia de la aplicación de parámetros de marcado adicionales del vocabulario de Schema, la indización de la información de sitios web en lengua rusa se hizo considerablemente más satisfactoria.

Atributos globales
------------------

*itemid*: el identificador unívoco y global de un elemento.

*itemprop*: utilizado para añadir propiedades a un elemento. Cualquier elemento HTML puede contener un atributo *itemprop* definido, y tal *itemprop* consiste de un nombre y un valor.

*itemref*: las propiedades que no desciendan de un elemento y contengan el atributo `itemscope` pueden asociarse con el elemento a través de una ***itemref***. *Itemref* proporciona una lista de identificadores de elementos (distintos de los `itemid`s) con propiedades adicionales en otras partes del documento.

*itemscope*: *Itemscope* (por lo general) funciona en conjunto con *itemtype* (en-US)para especificar que el HTML contenido en un bloque se refiere a un término concreto. *itemscope* crea el elemento y define el alcance del *itemtype* asociado con él. *itemtype* es un URL válido de un vocabulario (como Schema.org) que describe el elemento y el contexto de sus propiedades.

*itemtype* (en-US): Especifica el URL del vocabulario que se empleará para definir *itemprops* ('propiedades de elementos') en la estructura de datos. Se emplea *Itemscope* para establecer el alcance del área de funcionamiento del vocabulario establecido por *itemtype* dentro de la estructura de datos.

Ejemplo
-------

### HTML


```html
<div itemscope itemtype="http://schema.org/SoftwareApplication">
  <span itemprop="name">Angry Birds</span> -

  REQUIRES <span itemprop="operatingSystem">ANDROID</span><br>
  <link itemprop="applicationCategory" href="http://schema.org/GameApplication"/>

  <div itemprop="aggregateRating" itemscope itemtype="http://schema.org/AggregateRating">
    RATING:
    <span itemprop="ratingValue">4.6</span> (
    <span itemprop="ratingCount">8864</span> ratings )
  </div>

  <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
    Price: $<span itemprop="price">1.00
    <meta itemprop="priceCurrency" content="MXN" />
  </div>
</div>
```

### Datos estructurados

|  |  |  |
| --- | --- | --- |
| itemscope | itemtype | SoftwareApplication (http://schema.org/SoftwareApplication) |
| itemprop | name | Angry Birds |
| itemprop | operatingSystem | ANDROID |
| itemprop | applicationCategory | GameApplication (http://schema.org/GameApplication) |
| itemscope | itemprop[itemtype] | aggregateRating [AggregateRating] |
| itemprop | ratingValue | 4.6 |
| itemprop | ratingCount | 8864 |
| itemscope | itemprop[itemtype] | offers [Offer] |
| itemprop | price | 1.00 |
| itemprop | priceCurrency | USD |

### Resultado

**Nota:** una útil herramienta para extraer estructuras de microdatos a partir de HTML es la Herramienta de pruebas de datos estructurados de Google. Ponla a prueba en el HTML mostrado más arriba.

Véase también
-------------

* Atributos globales