Nota de actualización 20/3/2024: sobre Schema SEO y la disrupción de la IA
La entrada en el juego de las herramientas generativas (IA) está cambiando la forma de hacer muchas cosas, en mi opinión cada vez estamos más cerca de una web descentralizada en el sentido de nodos semánticos distribuidos, el paradigma del uso de RDF/XML y el gran contexto de una Web realmente Semántica, es decir organizada por significado y no por contenido. Veo cada vez más interés y potencial SEO en el uso adecuado y muy bien organizado de Schema para SEO, apuntando que uso Dublin Core desde mis primeras webs (Nota para el Club de la Nostalgia: Tripod, 1995), y otras ontologías como FOAF y otros Microformatos, hice mucho XHTML RDFa y GoodRelations antes de la llegada en tromba de Schema.org.
Siempre he creído en esto, a pesar de que la tecnología ha tardado en alcanzar el punto en que se justifica plenamente el uso de toda esta metodología para SEO.
Animo a cualquier webmaster, desarrollador o entusiasta de la WWW a jugar con RDF/XML, incluso si aún vas al instituto: RDF/XML mueve la logística desde hace décadas, por citar un ejemplo ligado al consumo público en un día cualquiera.
Como ex-IT Manager, tengo un recuerdo muy vivo del uso de EDI en formatos EDIFACT/XML, en esos días me resultó muy útil toda esta experiencia previa; si eres industrial, logístico o según que especialista TIC, ya sabes lo importante que es todo ese ir y venir de albaranes, facturas, hojas de carga… Y llamadas a las 5 de la mañana con un atasco de camiones fenomenal el alguna parte, por culpa de una coma…
Toma nota, atención a la sintaxis: no es difícil, pero sí exigente en las formas.
Hay trabajo detrás de la organización de la información y su transporte, y seguirá habiéndolo durante mucho tiempo.
Nota de actualización 25/3/2018: sobre este artículo
Este artículo comenzó como una traducción y adaptación al Español del original en Inglés de la «Introducción a RDF» de Joshua Tauberer.
El artículo original de 2008 ha sido enriquecido con nuevos gráficos y puesto al día con ejemplos de uso procedentes de mi propio trabajo y nuevos desarrollos que van surgiendo alrededor de la Web Semántica.
Introducción rápida al RDF
Esta es una breve introducción al Resource Description Framework (RDF). También te puede interesar [Actualizado 2024-03-20]:
- Una visión más detallada y en profundidad de RDF.
- Dos recursos para entender mejor el concepto y aprender a trabajar en él: de Web Semántica e introducción a RDFa.
RDF es un método para expresar el conocimiento en un mundo descentralizado y es el fundamento de la Web Semántica, en el que las aplicaciones informáticas utilizan información estructurada distribuida por toda la Web. Sólo para aclarar de buen principio, RDF no es estrictamente un formato XML, no va sólo acerca de metadatos, tiene poco que ver con RSS y no es tan complicado como piensas.
A grandes rasgos
RDF es un método general para descomponer cualquier tipo de conocimiento en trozos pequeños, con algunas reglas acerca de la semántica o significado de esas piezas.
El punto es tener un método tan simple que puede expresar cualquier hecho, y a la vez tan estructurado que las aplicaciones informáticas pueden hacer cosas útiles con él.
Vamos a ver una muestra:
@prefix : . :john a :Person . :john :hasMother :susan . :john :hasFather :richard . :richard :hasBrother :luke .
El significado es obvio (Nota de traducción: el ejemplo afirma que John es una persona con una madre llamada Susan, un padre llamado Richard y un hermano llamado Luke).
Vamos a llegar a los detalles más tarde.
Si conoces el XML, he aquí una breve comparación y como se relacionan RDF y XML
Al igual que RDF, el XML también está diseñado para ser simple y de propósito general.
XML se puede abstraer más allá de su notación entre corchetes y barras a algo más abstracto, un «DOM» para estructurar un árbol de datos.
Nota de adaptación: Joshua habla de «algo parecido a un DOM» (Document Object Model) que no explico en detalle por no perder foco; creo que para mayor claridad podemos decir a grandes rasgos que pretende explicar que el XML se encarga de estructurar y jerarquizar el contenido que se explica mediante RDF, como si XML fuera el cemento y RDF los ladrillos.
XML es el «lenguaje de programación» que rige la sintaxis y RDF el «diccionario» que define los elementos que intervienen en lo que explicamos, cosas y hechos de la calle, personas, documentos digitales, productos, etc. La mayor virtud de este conjunto XML/RDF, que ya tiene años, probablemente sea la «X» que viene de eXtensible. El RDF permite utilizar varias ontologías (llamémoslas diccionarios) para definir aspectos concretos en múltiples áreas de conocimiento y actividad.
ONTOLOGÍAS
Esto se puede entender aún mejor si contemplamos ontologías (o vocabularios) como FOAF (Friend of a Friend) o DCTerms (Dublin Core Iniciative): las ontologías o vocabularios dan significado a hechos del mundo real (relaciones entre humanos, en el caso FOAF) mientras que XML se ocupa de la estructura y orden para relacionar los hechos.
Más o menos, XML es la gramática y RDF establece qué vocabulario/s estamos usando para describir cosas y hechos con pleno significado.
Del mismo modo, la importancia de RDF no radica en cómo se escribe (su notación) sino en lo que representa, una información estructurada en red o grafo (que no es gráfico pero sí puede tener representación gráfica como pronto veremos).
En matemáticas y ciencias de la computación, se entiende como grafo la unión de vértices o nodos mediante líneas. Aquí hay dos conceptos clave:
- Nodos: existen 2 tipos, según hablemos de «la cosa definida» o de sus características. En el campo del SEO Semántico, a las cosas y hechos que queremos definir los llamamos ENTIDADES. De ahí surge el concepto de SEO basado en Entidades o Entity-based SEO.
- Líneas o conectores: representan las relaciones y acciones entre nodos. En ejemplos originales anteriores, un nodo «sobrino» apunta a un nodo «tía» y la línea que los conecta representa el PREDICADO entre dos ENTIDADES: acciones, relaciones, propiedades… Todo va cogiendo forma.
Puedes escribir RDF en XML, estructurando contenido semántico mediante notación XML (es decir, creando un grafo de forma «redactada», que una vez interpretado por un consumidor de datos puede, por ejemplo, crear un gráfico visualizable como alguno de los que muestro en la sección de Ejemplos reales de aplicación de RDF.
Nota de adaptación: si hablamos de N3 en seguida aparece el concepto de Turtle.
Si quieres aprender a manejar todo este tinglado, recomiendo consolidar estos conceptos en W3C.
Nota de adaptación: la vinculación de datos para conformar grafos semánticos es lo que conocemos como Datos Enlazados o Linked-Data. Si te suena a griego, me refiero a la «LD» de JSON-LD (de aplicación en SEO semántico).
@prefix : .
:richard :hasSister :rebecca
{ ?a :hasFather ?b . ?b :hasSister ?c . } => { ?a :hasAunt ?c } .
Este documento RDF define lo que significa ser tía, en términos de otras dos relaciones.
Se podría imaginar una aplicación que pusiera este documento junto con el primer documento RDF para determinar que :rebecca es la tía de :john.
Lo que hace este trabajo es que los nombres de entidades son globales.
Es decir, cuando :john y :hasFather se utilizan en un documento, las aplicaciones pueden asumir que tienen el mismo significado en cualquier otro documento RDF con el mismo @prefix.
Así que ¿por qué utilizar RDF?
Aquí hay casos de uso, según los describe Richard Cyganiak en la lista de correo de la Web Semántica del W3C (cerrada desde 2018):
- Integrar datos de diferentes fuentes sin necesidad de programación personalizada.
- Ofrecer tus datos para su reutilización por otras partes.
- Descentralizar los datos de forma que ningún parte se haga dueña de todos los datos [ver posible aplicación en Google Manufacturer Center].
- Hacer algo elegante con grandes cantidades de datos (navegación, consulta, emparejamiento, inserción, extracción, etc.), por lo que desarrollas (o reutilizas) una herramienta genérica que permite hacer esto como añadido al modelo de datos de RDF (que tiene la ventaja de no estar atado a una tecnología propietaria de almacenamiento o representación de datos, como sería el caso de un dialecto de base de datos).
RDF Definido
RDF se puede definir en tres sencillas reglas:
- Un hecho se expresa en una tripleta de la forma (Sujeto, Predicado, Objeto). Es como una pequeña oración en Español.
- Los sujetos, predicados y objetos son los nombres de entidades, ya sean concretas o abstractas, en el mundo real.
Los nombres son o bien
I) globales y se refieren a la misma entidad en cualquier documento RDF en el que aparecen, o
II) locales y la entidad a la que se refieren no puede ser referida directamente hacia fuera del documento RDF. - Los objetos también pueden ser valores de texto, llamados valores literales.
Ya has visto hechos. Cada línea de las siguientes era un hecho:
:john a :Person . :john :hasMother :susan . ...
Los nombres globales, que tienen el mismo significado en todas partes, son siempre identificadores uniformes de recursos (URI).
Los URIs puede tener la misma sintaxis o formato que las direcciones de sitios web, por lo que verás archivos RDF que contienen URIs como http://www.w3.org/1999/02/22-rdf-syntax-ns#type, donde ese URI es el nombre global para alguna entidad.
El hecho de que se parezca a una dirección web es totalmente accidental. Puede o no puede haber un sitio web real en esa dirección, no importa.
Hay otros tipos de URI además de los de tipo http:.
Los URN son un subtipo de URI usado para cosas como la identificación de libros por su número de ISBN, por ejemplo, urn:ISBN: 0143034650.
Las etiquetas son un tipo de URI de uso general. Tienen este aspecto tag:govtrack.us,2005:congress/senators/frist.
Los URI se utilizan como nombres globales, ya que proporcionan una manera de descomponer el espacio de todos los nombres posibles en unidades que tienen dueños evidentes.
Los URI que comienzan con http://www.rdfabout.net/ son controlados implícitamente por mí (Nota: por el autor original).
Este punto es importante y requiere insistir sobre él: cualquiera que sea su forma, los URI que ves en documentos RDF son meramente nombres detallados para entidades, nada más. Olvídate de que tengan algo que ver con la web.
Ya que los URI puede ser bastante largos, en varias notaciones RDF están generalmente abreviados utilizando el concepto de espacios de nombres de XML. Eso es lo que los «:» (dos puntos) están haciendo en :john, :hasMother, y las demás entidades en el ejemplo.
Los dos puntos indican que el nombre es una forma abreviada.
En estos casos, los nombres eran http://www.example.org/#john, http://www.example.org/#hasMother, etc.
Cuando se escriben, en general los URI se encierran entre corchetes para distinguirlos de los nombres abreviados mediante espacios de nombres.
Los valores literales permiten incluir texto en RDF. Esto se usa mucho cuando el RDF se utiliza para los metadatos*:
a :Website .
dc:title "rdf:about" .
dc:description "A website about
Resource Description Framework." .
Notas de adaptación:
dc es el prefijo de un poco popular pero extendido Namespace. Acabas de ver un ejemplo de la ontología (vocabulario) de la iniciativa Dublin Core; de lo más antiguo que puedes encontrar hoy en día en la WWW.
* También se adapta un formato aligerado RDFa para expresar Schema insertado en el código fuente de las páginas web, ya que RDFa es extensible a diferencia por ejemplo del Microformato.
Respecto a las URIs, algunos lectores ya habrán notado que les resulta familiar. Si te suena eso de URI aplicado a Datos Estructurados pero no recuerdas porqué, piensa en la propiedad ID de Schema que escriben los principales plugins SEO de WordPress en tus contenidos, por ejemplo: «@id»: «https://solidseo.es/#service» > No es una URL ya que ahí no hay ninguna sección o ancla con ID=»service», estamos definiendo una ENTIDAD de tipo Service identificable sin ninguna duda para las máquinas mediante la mencionada URI
RDF como gráfico
Existen dos formas complementarias de observar la información RDF. La primera es como un conjunto de declaraciones, como la de arriba. Cada declaración representa un hecho. La segunda manera es como un gráfico, comúnmente conocido como grafo.
Un gráfico es básicamente una red. Los gráficos consisten en nodos interconectados por bordes. En Internet, por ejemplo, los nodos son los ordenadores, y los bordes son los cables Ethernet que los interconectan. En RDF, los nodos son nombres (no entidades reales) y los bordes son declaraciones. He aquí un ejemplo:
El punto es tener un método tan simple que puede expresar cualquier hecho, y a la vez tan estructurado que las aplicaciones informáticas pueden hacer cosas útiles con él
Nota de actualización 16/10/2019: sobre las aplicaciones prácticas del RDF
El siguiente párrafo ejemplifica un posible uso práctico para el RDF.
Llámese casualidad o perspectiva a largo plazo, pero ya hay un caso que apunta en esta dirección, aunque no se limita a un sector o tipo de productos específico, sino que pretende ser (a mi criterio) una futura enciclopedia universal de productos.
Ejemplo práctico sobre usos comerciales-logísticos
Nota de adaptación: el título original del párrafo es «Un ejemplo rápido».
Entonces ¿cómo puede ser útil RDF? Es la tecnología a utilizar cuando se quiere combinar y/o reorganizar información distribuida.
He aquí un escenario en el que la información distribuida cobra mucho sentido: una base de datos de productos de múltiples proveedores y revisiones de estos productos por múltiples colaboradores.
Ningún proveedor de estos productos va a querer ser el responsable de mantener una base de datos centralizada para este proyecto, sobre todo porque contendrá información sobre productos de la competencia y críticas negativas.
Del mismo modo, ningún colaborador-revisor tendrá recursos para mantener dicha base de datos actualizada.
Resource Description Framework es especialmente adecuado para este proyecto.
Cada vendedor y colaborador-revisor publicarán un archivo en RDF en sus propios sitios web.
Los vendedores elegirán URIs para sus productos y los revisores usarán dichos URIs a la hora de redactar sus revisiones.
Los vendedores no tienen que ponerse de acuerdo en un esquema de denominación común para los productos y los revisores no están atados a un formato de datos controlado por el proveedor.
Así este estándar permite que los vendedores y los revisores estén de acuerdo sobre lo que necesiten acordar, sin obligar a nadie a usar un vocabulario en particular.
Aquí están los archivos RDF que publican en el ejemplo:
**Vendor 1:**
vendor1:productX dc:title "Cool-O-Matic" .
vendor1:productX retail:price "$50.75" .
vendor1:productX vendor1:partno "TTK583" .
vendor1:productY dc:title "Fluffertron" .
vendor1:productY retail:price "$26.50" .
vendor1:productY vendor1:partno "AAL132" .
**Vendor 2:**
vendor2:product1 dc:title "Can Closer" .
vendor2:product2 dc:title "Dust Unbuster" .
**Reviewer 1:**
vendor1:productX dc:description "This product is good buy!" .
**Reviewer 2:**
vendor2:product2 dc:description "Who needs something to unbust dust?
A dust buster would be a better idea,
and I wish they posted the price." .
vendor2:product2 review:rating review:Excellent .
Esto nos deja una pregunta abierta: ¿cómo una aplicación va a recuperar estos archivos? Pero voy a dejarla de lado.
Una vez que una aplicación tiene estos archivos, tiene suficiente información para poder relacionar productos con revisiones y precios, e incluso puede relacionarlos a la información específica del proveedor como vendor1:partno.
Con lo que deberías quedarte de este ejemplo es la flexibilidad y los pocos limites que impone el RDF, al tiempo que permite que las aplicaciones sean inmediatamente capaces de relacionar la información entre sí.
Los vendedores y los revisores no tienen que acordar gran cosa para que esto suceda.
Tendrían que acordar utilizar RDF, pero no tendrían que estar de acuerdo en ningún formato de datos específico, o incluso en las URIs específicas.
Fundamentalmente, ellos no tendrían que enumerar todo lo que un proveedor querría incluir acerca de sus productos, y el proveedor no podría bloquear la publicación de críticas por parte de los colaboradores-revisores.
Otra forma de ver esto desde el punto de vista de la interoperabilidad.
El formato del «proveedor 1» es completamente interoperable con el formato de cualquiera, incluso si este «proveedor 1» no ha acordado un formato común con nadie.
Cuando alguien aparece en escena y quiere operar con la información del «proveedor 1», no se necesita un nuevo formato, sólo se tienen que elegir los sujetos, predicados y objetos adecuados.
Ejemplos reales de aplicación de RDF
Este gráfico muestra las relaciones que se describen en el fichero RDF, el del ejemplo es mi propio descriptor.
Me identifica unívocamente ante los consumidores de datos estructurados (Datos Enlazados más propiamente) y muestra la relación que se forma entre «yo» como entidad y otras entidades, como pueden ser mi lugar de trabajo, mis compañeros o más detalles propios, como mi ubicación.
Mi propia descripción junto con algunos detalles accesorios, como la representación de esta web.
Descripción del equipo fundador de ZeClinics (biotech CRO en Barcelona) mediante ficheros RDF interconectados (Linked-Data).
Cada persona tiene su propio fichero descriptor que a su vez se relaciona con los descriptores de otros compañeros, fomentando el encadenamiento de datos y su propio potencial de autodescubrimiento y consumo.
Es decir, rastreabilidad e indexabilidad: aquí podrás ver claramente un punto de contacto directo con la literatura SEO más tópica.
Descripción del equipo fundador de ZeClinics mediante ficheros interconectados (Linked-Data)
Conclusión
Si pensabas que esto sería muy complicado, espero que ahora veas que no tiene por qué serlo.
RDF es fácil de escribir, flexible y nada limitante.
Esto facilita la tarea de modelar el conocimiento y agregar fuentes de conocimiento distribuido.
Expresa el conocimiento en un mundo descentralizado y es el fundamento de la Web Semántica
Descompone cualquier tipo de conocimiento en trozos pequeños
La tecnología a utilizar cuando se quiere combinar y/o reorganizar información distribuida
Algunos proyectos con Datos Estructurados: Europarlamento Elecciones 2019-2024 La Sagrada Família Western Digital (WD) Ribes&Casals Veterizonia Advocate Abroad ya se está beneficiando de mi implementación Schema.
Enriquece tu web con información estructurada. Una implementación Schema correcta es el complemento ideal para tu despliegue SEO on/off-page.
Muestra a Google decenas de parámetros que ayudan especialmente a convertir a tus visitantes en clientes (CTR).
Mis formatos habituales y aconsejados para un mayor impacto son JSON-LD y RDFa.
Schema SEO para webs y blogs WordPress empresariales, añade información específica o mejora las capacidades de tu tema. Tu proyecto web pyme WordPress estará en muy buenas manos desde el primer minuto.
Consigue tu script Schema SEO a medida, mis scripts Schema SEO encajan y validan perfectamente en el contexto de tu página, sea el tipo de contenido que sea.
Señala objetivos para tu contenido y tendrás tu script JSON-LD a medida en 24-48h.
Si necesitas ayuda para implantar los scripts en tu web WordPress también puedo ayudarte.











