RDFa o Resource Description Framework in Attributes [ 1 ] es una recomendación del W3C que agrega un conjunto de extensiones a nivel de atributo a HTML , XHTML y varios tipos de documentos basados en XML para incrustar metadatos enriquecidos dentro de documentos web. El mapeo del modelo de datos del Resource Description Framework (RDF) permite el uso de RDF para incrustar expresiones sujeto-predicado-objeto RDF dentro de documentos XHTML. RDFa también permite la extracción de triples de modelos RDF por agentes de usuario compatibles .
La comunidad RDFa administra un sitio web wiki para alojar herramientas, ejemplos y tutoriales. [ 2 ]
Historia
RDFa fue propuesto por primera vez por Mark Birbeck en forma de una nota del W3C titulada XHTML y RDF , [ 3 ] que luego fue presentada al Grupo de Interés de la Web Semántica [ 4 ] en el Plenario Técnico del W3C de 2004. [ 5 ] Más tarde ese año, el trabajo pasó a formar parte del sexto Borrador de Trabajo público de XHTML 2.0. [ 6 ] [ 7 ] Aunque generalmente se asume que RDFa fue originalmente destinado solo a XHTML 2, de hecho, el propósito de RDFa siempre fue proporcionar una forma de agregar metadatos a cualquier lenguaje basado en XML. De hecho, uno de los primeros documentos que lleva el nombre de Sintaxis RDF/A tiene el subtítulo Una colección de atributos para superponer RDF en lenguajes XML . [ 8 ] El documento fue escrito por Mark Birbeck y Steven Pemberton , y se puso a disposición para discusión el 11 de octubre de 2004.
En abril de 2007, el Grupo de Trabajo de XHTML 2 produjo un módulo para admitir la anotación RDF dentro de la familia XHTML 1. [ 9 ] Como ejemplo, incluyó una versión extendida de XHTML 1.1 denominada XHTML+RDFa 1.0 . Aunque se describió como no representativa de la dirección prevista en términos de un lenguaje de marcado formal por parte del W3C, posteriormente apareció un uso limitado de la DTD XHTML+RDFa 1.0 en la web pública. [ 10 ]
En octubre de 2007 se publicó el primer borrador de trabajo de un documento titulado RDFa en XHTML: Sintaxis y procesamiento . [ 11 ] Este documento reemplazó y amplió el borrador de abril; contenía reglas para crear un analizador RDFa, así como directrices para las organizaciones que desearan hacer un uso práctico de la tecnología.
En octubre de 2008, RDFa 1.0 alcanzó el estatus de recomendación. [ 12 ]
RDFa 1.1 alcanzó el estatus de recomendación en junio de 2012. [ 13 ] Se diferencia de RDFa 1.0 en que ya no depende del mecanismo de espacio de nombres específico de XML. Por lo tanto, es posible usar RDFa 1.1 con tipos de documentos que no son XML, como HTML 4 o HTML 5. Los detalles se pueden encontrar en un apéndice de HTML 5. [ 14 ]
Un documento adicional de introducción a RDFa 1.1 se actualizó por última vez el 17 de marzo de 2015. [ 1 ] (El primer borrador de trabajo público data del 10 de marzo de 2006. [ 15 ] )
Versiones y variantes
Existen algunas variantes principales bien definidas de los conceptos básicos, que se utilizan como referencia y como abreviatura de los estándares del W3C.
HTML+RDFa
RDFa se definió en 2008 con la Recomendación "RDFa en XHTML: Sintaxis y procesamiento". [ 16 ] Su primera aplicación fue ser un módulo de XHTML .
Las aplicaciones HTML que se mantuvieron, "una colección de atributos y reglas de procesamiento para extender XHTML para admitir RDF" expandida a HTML5, ahora se expresan en un estándar especializado, el "HTML+RDFa" (el último es "HTML+RDFa 1.1 - Soporte para RDFa en HTML4 y HTML5" [ 17 ] ).
RDFa 1.0
La sintaxis "HTML+RDFa" de 2008 también se denominó "RDFa 1.0" , por lo que no existe un estándar "RDFa Core 1.0". En general, esta versión de 2008, RDFa 1.0, se utiliza con los antiguos estándares XHTML (siempre que RDFa 1.1 se utilice con XHTML5 y HTML5).
RDFa 1.1
Es el primer estándar RDFa genérico (para HTML y XML); el "RDFa Core 1.1" está en su tercera edición desde 2015. [ 18 ]
RDFa Lite
RDFa Lite es una recomendación del W3C (1.0 y 1.1) desde 2009, [ 19 ] donde se describe de la siguiente manera: [ 20 ]
RDFa Lite es un subconjunto mínimo de RDFa... que consta de algunos atributos que se pueden usar para expresar datos legibles por máquina en documentos web como HTML, SVG y XML. Si bien no es una solución completa para tareas avanzadas de marcado de datos, funciona para la mayoría de las necesidades cotidianas y la mayoría de los desarrolladores web pueden aprenderlo en un día.
RDFa Lite consta de cinco atributos: vocabulario, tipo de, propiedad, recurso y prefijo. [ 20 ] RDFa 1.1 Lite es compatible con versiones anteriores de RDFa 1.1. [ 20 ]
En 2009, el W3C se posicionó [ 21 ] para mantener RDFa Lite como una alternativa estándar única y definitiva a Microdata . [ 22 ] Esta posición se confirmó con la publicación de la Recomendación HTML5 en 2014.
Esencia
La esencia de RDFa consiste en proporcionar un conjunto de atributos que se pueden utilizar para transportar metadatos en un lenguaje XML (de ahí la 'a' en RDFa).
Estos atributos son:
- acerca de
- una URI o CURIE que especifica el recurso al que se refieren los metadatos.
- rela y reversa
- especificando una relación y una relación inversa con otro recurso, respectivamente.
- src , href y recurso
- especificar el recurso del socio
- propiedad
- especificar una propiedad para el contenido de un elemento o del recurso asociado
- contenido
- atributo opcional que anula el contenido del elemento cuando se utiliza el atributo de propiedad
- tipo de datos
- atributo opcional que especifica el tipo de datos del texto especificado para su uso con el atributo de propiedad
- tipo de
- Atributo opcional que especifica el/los tipo(s) RDF del sujeto o del recurso asociado (el recurso al que se refieren los metadatos).
Beneficios
RDFa cumple con cinco "principios de metadatos interoperables". [ 23 ]
- Independencia del editor: cada sitio puede utilizar sus propios estándares.
- Reutilización de datos: los datos no se duplican. No se requieren secciones XML y HTML separadas para el mismo contenido.
- Autocontención: el HTML y el RDF están separados.
- Modularidad del esquema: los atributos son reutilizables.
Además, RDFa puede beneficiar la accesibilidad web , ya que hay más información disponible para las tecnologías de asistencia . [ 24 ]
Uso
Cada vez hay más herramientas para un mejor uso de los vocabularios RDFa y la anotación RDFa.
Estadísticas HTML+RDFa

Los estándares HTML+RDFa (publicado en 2008) y de microformatos (desde aproximadamente 2005) fomentaron en gran medida los enfoques simplificados para anotar semánticamente los elementos de información en las páginas web .
A partir de 2013, estos estándares codificaban eventos, información de contacto, productos, etc. A pesar del predominio de la semántica de vCard (solo elementos básicos de anotaciones de personas y organizaciones ) [ 25 ] y cierta clonación de anotaciones en el mismo dominio , el recuento de páginas web (URL) y dominios con anotaciones es un indicador estadístico importante para el uso de información anotada semánticamente en la Web.
Las estadísticas de 2017 muestran que el uso [ 26 ] de HTML+RDFa es ahora menor que el de los microformatos.
Editores de RDFa
- Editores RDFa basados en la web
- Ya existen algunos editores RDFa disponibles en línea. RDFaCE (Editor de Contenido RDFa) es un editor WYSIWYM basado en TinyMCE para la creación de contenido RDFa. Admite la generación manual y semiautomática de RDFa con el apoyo de servicios de anotación como DBpedia Spotlight , OpenCalais , Alchemy API , entre otros. [ 27 ] RDFaCE-Lite es una versión de RDFaCE que también admite Microdatos y está disponible como complemento de WordPress. [ 28 ]
- Editores de escritorio de RDFa
- AutôMeta es un entorno para la anotación semiautomática (o automática) de documentos para su publicación en la web mediante RDFa. También incluye una herramienta de extracción de RDFa para proporcionar al usuario una vista de los triples anotados. Está disponible con interfaces de línea de comandos (CLI) y gráficas (GUI) . [ 29 ]
Ejemplos
A continuación se muestra un ejemplo de cómo agregar metadatos Dublin Core a un elemento XML en un archivo XHTML. Los elementos de datos Dublin Core son datos que normalmente se agregan a un libro o artículo (título, autor, tema, etc.).
<div xmlns:dc= "http://purl.org/dc/elements/1.1/" about= "http://www.example.com/books/wikinomics" > <span property= "dc:title" > Wikinomics </span> <span property= "dc:creator" > Don Tapscott </span> <span property= "dc:date" > 2006-10-01 </span> </div>Además, RDFa permite asociar los pasajes y las palabras dentro de un texto con un marcado semántico:
<div xmlns:dc= "http://purl.org/dc/elements/1.1/" about= "http://www.example.com/books/wikinomics" > En su último libro <span property= "dc:title" > Wikinomics </span> , <span property= "dc:creator" > Don Tapscott </span> explica profundos cambios en la tecnología, la demografía y los negocios. El libro se publicará el <span property= "dc:date" content = "2006-10-01 " > octubre de 2006 </span> . </div>XHTML + RDFa 1.0
A continuación se muestra un ejemplo de un documento XHTML+RDFa 1.0 completo. Utiliza Dublin Core y FOAF , una ontología para describir a las personas y sus relaciones con otras personas y cosas:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd"> <html xmlns= "http://www.w3.org/1999/xhtml" xmlns:foaf= "http://xmlns.com/foaf/0.1/" xmlns:dc= "http://purl.org/dc/elements/1.1/" version= "XHTML+RDFa 1.0" xml:lang= "en" > <head> <title> Página de inicio de John </title> <base href= "http://example.org/john-d/" /> <meta property= "dc:creator" content= "Jonathan Doe" /> <link rel= "foaf:primaryTopic" href= "http://example.org/john-d/#me" /> </head> <body about= "http://example.org/john-d/#me" > <h1> Página de inicio de John </h1> <p> Mi nombre es <span property= "foaf:nick" > John D </span> y me gustan <a href= "http://www.neubauten.org/" rel= "foaf:interest" xml:lang= "de" > Neubauten Einstürzende </a> . </p> <p> Mi <span rel= "foaf:interest" resource= "urn:ISBN:0752820907" > libro favorito es el inspirador <span about= "urn:ISBN:0752820907" ><cite property= "dc:title" > Tejiendo la red </cite> de <span property= "dc:creator" > Tim Berners-Lee </span></span></span> . </p> </body> </html>En el ejemplo anterior, el URI del documento puede considerarse como la representación de un documento HTML, pero el URI del documento más la cadena "#me" http://example.org/john-d/#merepresenta a la persona real, a diferencia de un documento sobre ella. El foaf:primaryTopic en el encabezado nos indica el URI de la persona sobre la que trata el documento. La propiedad foaf:nick (en el primer spanelemento) contiene un apodo para esta persona, y la propiedad dc:creatormeta (en el elemento) nos indica quién creó el documento. El hipervínculo al sitio web de Einstürzende Neubauten contiene rel="foaf:interest", lo que sugiere que John Doe está interesado en esta banda. El URI de su sitio web es un recurso.
El atributo foaf:interest dentro del segundo pelemento hace referencia a un libro por su ISBN. Este resourceatributo define un recurso de forma similar al hrefatributo, pero sin definir un hipervínculo. Más adelante en el párrafo, un spanelemento que contiene un aboutatributo define el libro como otro recurso sobre el que se especifican metadatos. El título y el autor del libro se definen dentro del contenido de esta etiqueta mediante las propiedades dc:title y dc:creator .
Aquí están los mismos triples cuando el documento anterior se convierte automáticamente a RDF/XML :
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf= "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:foaf= "http://xmlns.com/foaf/0.1/" xmlns:dc= "http://purl.org/dc/elements/1.1/" > <rdf:Description rdf:about= "http://example.org/john-d/" > <dc:creator xml:lang= "en" > Jonathan Doe </dc:creator> <foaf:primaryTopic> <rdf:Description rdf:about= "http://example.org/john-d/#me" > <foaf:nick xml:lang= "en" > John D </foaf:nick> <foaf:interest rdf:resource= "http://www.neubauten.org/" /> <foaf:interest> <rdf:Description rdf:about= "urn:ISBN:0752820907" > <dc:creator xml:lang= "en" > Tim Berners-Lee </dc:creator> <dc:title xml:lang= "en" > Tejiendo la Web </dc:title> </rdf:Description> </foaf:interest> </rdf:Description> </foaf:primaryTopic> </rdf:Description> </rdf:RDF>HTML5 + RDFa 1.1
El ejemplo anterior se puede expresar sin espacios de nombres XML en HTML5 :
< html prefix = "dc: http://purl.org/dc/elements/1.1/" lang = "en" > < head > < title > Página de inicio de John </ title > < link rel = "profile" href = "http://www.w3.org/1999/xhtml/vocab" /> < base href = "http://example.org/john-d/" /> < meta property = "dc:creator" content = "Jonathan Doe" /> < link rel = "foaf:primaryTopic" href = "http://example.org/john-d/#me" /> </ head > < body about = "http://example.org/john-d/#me" > < h1 > Página de inicio de John </ h1 > < p > Mi nombre es < span property = "foaf:nick" > John D </ span > y me gusta < a href = "http://www.neubauten.org/" rel = "foaf:interest" lang = "de" > Einstürzende Neubauten </ a > . </ p > < p > Mi < span rel = "foaf:interest" recurso = "urn:ISBN:0752820907" > favorito El libro es el inspirador < span about = "urn:ISBN:0752820907" >< cite property = "dc:title" > Tejiendo la Web </ cite > de < span property = "dc:creator" > Tim Berners-Lee </ span ></ span ></ span > . </ p > </ body > </ html >Nótese cómo el prefijo foaf todavía se usa sin declaración. RDFa 1.1 incluye automáticamente prefijos para vocabularios populares como FOAF. [ 30 ]
El documento mínimo [ 31 ] es:
< html lang = " en " > <head> <title> Documento de ejemplo </title> </head> < body vocab = " http://schema.org/ " > < p typeof = " Blog " > Bienvenido a mi <a property="url" href="http://example.org/"> blog </a> . </p> </body> </html> Es decir, se recomienda que se utilicen todos estos atributos: vocab, typeof, property; no solo uno de ellos.
Ejemplo de datos estructurados RDFa
Esquema de persona en RDFa. [ 32 ]
< div vocab = "http://schema.org/" typeof = "Person" ><a property="image" href="http://manu.sporny.org/images/manu.png">< span propiedad = "nombre" > Manu Sporny </ span >> a > , < span property = "jobTitle" > Fundador/CEO </ span >< div > Teléfono: < span property = "telephone" > (540) 961-4469 </ span ></div>< div > Correo electrónico : <a property="email" href="mailto:(tu correo electrónico)"> msporny @ digitalbazaar ( . ) com </a></div>< div > Enlaces : <a property="url" href="http://manu.sporny.org/"> Página principal de Manu </a></div></div>Véase también
- GRDDL , una forma de extraer datos (anotados) de documentos XHTML y XML y transformarlos en un grafo RDF.
- Microdatos : otro enfoque para incorporar semántica en HTML mediante atributos adicionales.
- Microformatos , un enfoque simplificado para anotar semánticamente datos en páginas web.
- El protocolo Open Graph es una forma de usar RDFa para integrar páginas web en el grafo social de Facebook.
- Schema.org , esquemas compatibles con motores de búsqueda para el marcado de datos estructurados en páginas web que se pueden expresar como RDFa.
Referencias
- ^ a b "RDFa 1.1 Primer" (3.ª ed.). W3C . 17 de marzo de 2015. Recuperado el 2 de septiembre de 2016 .
- ^ "RDFa / Herramientas" .
- ^ "XHTML y RDF Nota del W3C 14 de febrero de 2004" . Consorcio World Wide Web . 14 de febrero de 2004. Consultado el 27 de diciembre de 2007 .
- ^ "Grupo de Interés en la Web Semántica del W3C (SWIG)" .
- ^ "Grupo de Interés en la Web Semántica" . www.xml.com . 3 de marzo de 2004. Consultado el 27 de diciembre de 2007 .
- ^ "XHTML 2.0 W3C Borrador de trabajo 22 de julio de 2004, 19. Módulo de atributos de metainformación XHTML" . Consorcio World Wide Web . 22 de julio de 2004. Consultado el 6 de octubre de 2007 .
- ^ "Cronología de los estándares XML y Web Semántica del W3C" (PDF) . Archivado del original (PDF) el 24 de abril de 2013. Consultado el 28 de junio de 2013 .
- ^ "Sintaxis RDF/A: Una colección de atributos para superponer RDF sobre lenguajes XML" . 11 de octubre de 2004. Consultado el 14 de mayo de 2009 .
- ^ "Módulos XHTML RDFa, Módulos para admitir la anotación RDF de elementos, Borrador del editor del W3C, 2 de abril de 2007" . Consorcio World Wide Web . 2 de abril de 2007. Consultado el 6 de octubre de 2007 .
- ^ Para ver ejemplos de esto, consulte: "CBS: NCIS - Joost Link" . Archivado del original el 11 de octubre de 2007. Consultado el 6 de octubre de 2007 ."WebOrganics :: HAudio RDFa" . Archivado del original el 14 de diciembre de 2007. Consultado el 6 de octubre de 2007 .
- ^ "RDFa en XHTML: Sintaxis y procesamiento, Una colección de atributos y reglas de procesamiento para extender XHTML para admitir RDF, Borrador de trabajo del W3C 18 de octubre de 2007" . Consorcio World Wide Web . 18 de octubre de 2007. Consultado el 20 de octubre de 2007 .
- ^ "RDFa en XHTML: Sintaxis y procesamiento, una colección de atributos y reglas de procesamiento para extender XHTML para admitir RDF, Recomendación del W3C del 14 de octubre de 2008" . Consorcio World Wide Web . 14 de octubre de 2008. Consultado el 15 de octubre de 2008 .
- ^ "RDFa Core 1.1 - Sintaxis y reglas de procesamiento para incrustar RDF a través de atributos" . Consorcio World Wide Web . 7 de junio de 2012. Consultado el 25 de agosto de 2012 .
- ^ "HTML+RDFa 1.1 - Compatibilidad con RDFa en HTML4 y HTML5" . Consorcio World Wide Web . 29 de marzo de 2012. Consultado el 25 de agosto de 2012 .
- ^ "RDF/A Primer 1.0" . W3C . 10 de marzo de 2006. Consultado el 2 de septiembre de 2016 .
- ^ "RDFa en XHTML: Sintaxis y procesamiento" . W3C . 14 de octubre de 2008. Consultado el 2 de junio de 2026 .
- ^ "HTML+RDFa 1.1 - Compatibilidad con RDFa en HTML4 y HTML5", Recomendación del W3C del 22 de agosto de 2013. http://www.w3.org/TR/html-rdfa/
- ^ "RDFa Core 1.1 - Tercera edición - Sintaxis y reglas de procesamiento para la incrustación de RDF mediante atributos", Recomendación del W3C del 17 de marzo de 2015. https://www.w3.org/TR/2015/REC-rdfa-core-20150317/
- ^ primer borrador 1.1 .
- ^ a b c "RDFa Lite 1.1, Recomendación del W3C 7 de junio de 2012. http://www.w3.org/TR/rdfa-lite/ ( segunda edición en 2015 Archivado el 11 de febrero de 2015 en Wayback Machine )
- ^ Posición final del W3C (ISSUE-76), que establece que la sintaxis de Microdata simplemente duplica lo que RDFa Lite ya hace.
- ^ "Diferencias míticas: RDFa Lite vs. Microdatos: La hermosa y atormentada máquina" .
- ^ Creación de metadatos web interoperables
- ^ "RDFa – Implicaciones para la accesibilidad – ¡Normas, tonterías! "
- ^ a b "Web Data Commons – RDFa, Microdata, and Microformat Data Sets" . sección 3.1, "Resultados de extracción del Common Crawl Corpus de noviembre de 2013" . 2013 . Recuperado el 21-02-2015 .
- ^ "Web Data Commons – RDFa, Microdata, and Microformat Data Sets" . sección 3.1, "Resultados de extracción del Common Crawl Corpus de noviembre de 2017" . 2017 . Recuperado el 09-01-2019 .
- ^ "RDFaCE — Ingeniería del conocimiento ágil y web semántica (AKSW)" .
- ^ "RDFaCE — Ingeniería del conocimiento ágil y web semántica (AKSW)" .
- ^ "Archivo de Google Code: almacenamiento a largo plazo para el alojamiento de proyectos de Google Code" .
- ^ "RDFa Core Initial Context - Vocabulary Prefixes" . World Wide Web Consortium . 27 de mayo de 2012. Consultado el 25 de agosto de 2012 .
- ^ "Ejemplo de un documento HTML+RDFa 1.1" en www.w3.org
- ^ Murari, Krishna (19 de enero de 2023). "Esquema de persona en RDFa" . The Seo Today . Archivado del original el 19 de enero de 2023. Recuperado el 19 de enero de 2023 .
Enlaces externos
- Introducción a RDFa
- hGRDDL
- RDFa – Implicaciones para la accesibilidad
- Mark Birbeck presentando RDFa en Google en mayo de 2008. Vídeo archivado en ghostarchive.org el 24 de mayo de 2022.
- Marco de descripción de recursos
- Publicación de metadatos
- Web semántica
- HTML semántico
- Estándares basados en XML
- Estándares del Consorcio World Wide Web
- Lenguajes de representación del conocimiento específicos de un dominio
- WordPress