microformatos itemtype html5 web semantics microdata rdfa

html5 - itemtype - microformatos seo



Microdatos vs RDFa (4)

Diferencias entre microdatos y RDFa

Si bien hay muchas diferencias (técnicas, más pequeñas), aquí hay una selección de las que considero importantes (utilicé mi respuesta en Webmasters como base).

Presupuesto

Aplicabilidad

  • Los microdatos solo se pueden usar en (X) HTML5 (o HTML según lo define el WHATWG).

  • RDFa se puede utilizar en varios lenguajes de host, es decir, varias (X) variantes de HTML y XML (por lo tanto, también en SVG, MathML, Atom, etc.).

    Y se pueden admitir nuevos lenguajes de host, ya que RDFa Core "es una especificación para que los atributos expresen datos estructurados en cualquier lenguaje de marcado".

Uso de vocabularios múltiples

  • En Microdata, es más difícil, y algunas veces imposible, usar varios vocabularios para el mismo contenido.

  • Gracias a su uso de prefijos, RDFa permite mezclar vocabularios.

Uso de propiedades inversas

  • Los microdatos no proporcionan una forma de usar propiedades inversas. Lo necesita para vocabularios que no definen propiedades inversas (p. Ej., Solo definen parent lugar de parent e child ). El popular Schema.org es ese vocabulario (con algunas excepciones más antiguas).

    Mientras que el W3C Note Microdata para RDF define el itemprop-reverse experimental, este atributo no es parte de los Microdatos de W3C ni de WHATWG.

  • RDFa admite el uso de propiedades inversas (con el atributo rev ).

Web semántica

  • Al utilizar Microdata, no está jugando directamente en la Web Semántica (y AFAIK Microdata no tiene la intención), principalmente porque no está definida como serialización RDF (aunque hay formas de extraer RDF de Microdata ).

  • RDFa es una serialización RDF , y RDF es la base de la Web Semántica del W3C.

Las especificaciones RDFa Core y HTML+RDFa pueden ser más complejas que los Microdatos HTML , pero no es una comparación "justa" porque ofrecen más características.

Similar a Microdata sería RDFa Lite (que "funciona para la mayoría de las necesidades diarias"), y esta especificación, al menos en mi opinión, es mucho menos compleja que Microdata.

¿Qué hacer?

Si desea admitir consumidores específicos (por ejemplo, un motor de búsqueda y un complemento de navegador), debe consultar su documentación sobre sintaxis admitidas.

Si desea aprender solo una sintaxis y no tener consumidores específicos en mente, ( atención, opinión subjetiva ) vaya con RDFa. Why?

  • RDFa maduró durante años y es un W3C Rec, mientras que Microdata es una invención relativamente nueva y no está estandarizada por el W3C.
  • RDFa se puede utilizar en muchos idiomas, no solo en HTML5.
  • RDFa permite el uso mixto de vocabularios para el mismo contenido, y admite de forma nativa el uso de propiedades inversas.

No puedo decidir? Usa ambos.

Tenga en cuenta que también puede usar varias sintaxis para el mismo contenido, por lo que podría tener Microdata y RDFa ( y Microformats, y JSON-LD, y ...) para una compatibilidad máxima.

  • Aquí hay un fragmento de microdata simple:

    <p itemscope itemtype="http://schema.org/Person"> <span itemprop="name">John Doe</span> is his name. </p>

  • Aquí está el mismo fragmento usando RDFa (Lite):

    <p typeof="schema:Person"> <span property="schema:name">John Doe</span> is his name. </p>

  • Y aquí ambas sintaxis se usan juntas:

    <p itemscope itemtype="http://schema.org/Person" typeof="schema:Person"> <span itemprop="name" property="schema:name">John Doe</span> is his name. </p>

Pero, por lo general, no es necesario / recomendado seguir esta ruta.

Tengo una pregunta rápida sobre RDFa y Microdata.

Mi entendimiento actual es que RDFa se implementa RDF en HTML, pero es complicado para los nuevos desarrolladores como yo, Microdata parece realmente fácil y rápido de implementar.

¿Cuáles son las otras ventajas y desventajas de estos dos formatos semánticos?



La principal ventaja que obtienes de cualquier formato semántico es la capacidad de los consumidores para reutilizar tus datos.

Por ejemplo, los motores de búsqueda como Google son consumidores que reutilizan sus datos para mostrar fragmentos enriquecidos, como este:

Para decidir qué formato es mejor, debe saber a qué consumidores desea dirigirse. Por ejemplo, Google dice en sus FAQ que solo procesarán microdatos (aunque la herramienta de prueba ahora funciona con RDFa, por lo que es posible que acepten RDFa).

A menos que sepa que su consumidor objetivo solo acepta RDFa, probablemente sea mejor utilizar microdatos. Si bien muchos servicios que consumen RDFa (como el motor de búsqueda semántica Sindice) también aceptan microdatos, es menos probable que los servicios que consumen microdatos acepten RDFa.


No estoy seguro si la sugerencia de unor de usar tanto Microdata como RDFa es una buena idea. Si utiliza la Herramienta de prueba de datos estructurados de Google (u otras herramientas similares) en su ejemplo, muestra datos duplicados que parecen implicar que el bot de Google recogería dos personas llamadas John Doe en la página web en lugar de una que era la intención original.

Asumo, por lo tanto, que usar una sintaxis para un elemento dado es una mejor idea (aún así debería poder mezclar sintaxis siempre que describan entidades separadas).

Aunque me gustaría que se demuestre lo contrario en esto.