Archivo categoría Técnica
Open Data, e-Commerce y SEO
Por Rubén Martín - e-Commerce, Técnica - 11 May 2012
El crecimiento de la web de datos parece algo imparable. Cada vez son más las administraciones públicas que abren sus datos de forma estructurada. Todos los grandes actores en internet, redes sociales y principales servicios de búsqueda de información, cuentan ya con estrategias y tecnologías que permiten el intercambio de información en formatos estructurados estándar.
¿Cómo pueden las empresas de comercio electrónico (eCommerce) mantenerse al día y hacer de esta evolución tecnológica una ventaja competitiva?
Ademas de los aspectos generales relacionados con la transparencia, o la interoperabilidad con diversos sistemas de información, la principal ventaja que aporta la apertura de datos a las pymes de eCommerce es la mejora inmediata en su posicionamiento en buscadores (SEO). Y la manera más fácil de lograr esto para aquellas empresas que ya cuentan con un sitio web de sus productos es a través del marcado semántico de los contenidos de las páginas web.
Es paradigmático el ejemplo de Best Buy, uno de los mayores retailers de productos tecnológicos de Norteamérica. Cuando en 2009 se enriqueció el marcado html de sus páginas web los estudios realizados indicaron que en pocas semanas se había mejorado sustancialmente el ranking en Google, logrando un incremento del 30% en el número de visitas. En el buscador de Yahoo, obtuvieron un aumento del 15% en Click-Through-Rate (CTR). Cifras que deberían llamar la atención a cualquier empresa que quiere mejorar su presencia web.
Las ventajas que ofrecen los buscadores a los sitios que estructuran su información son ya una realidad. Rich Snippets es una tecnología consolidada de Google que mejora la presentación de las páginas encontradas como resultado de una búsqueda. Cuando Google identifica en la página encontrada datos estructurados es capaz de mostrar resultados enriquecidos basándose en esa información. La siguiente imagen es un ejemplo de como un negocio puede aparecer en su resultado si simplemente especifica su dirección y las votaciones de sus usuarios:
Es obvio que los usuarios van a sentirse más atraídos hacia aquellos resultados que son mejorados con datos estructurados, como muestra el ejemplo antes comentado de Best Buy.
Los grandes buscadores ya cuentan además con servicios especializados de productos y venta online tales como Google Product Search o Yahoo Shopping. Añadido a esto, cuando se realiza una consulta los buscadores tienen en cuenta factores como la hora en la que se realiza o la localización geográfica del usuario, con el objetivo de ordenar los resultados de la forma más precisa. Por tanto, hacer llegar al buscador de forma estructurada información como la geolocalización de nuestras tiendas y productos, o nuestros horarios de apertura, es clave para obtener mayor relevancia en los resultados.
Ahora bien, ¿cómo puede una empresa de eCommerce lograr esto? ¿Qué tecnologías nos permiten hacer llegar a los motores de búsqueda nuestros datos embebidos en las páginas web? Por un lado tenemos dos tecnologías que extienden html y que nos permiten marcar datos incrustados. Son RDFa (más potente, basada en el framework semántico RDF) y Microdata (más sencilla de usar).
Basadas en alguna de estas dos tecnologías tenemos dos familias de vocabularios que nos permiten dar significado preciso a nuestra información. Por un lado está Good Relations, que se ha convertido en el vocabulario más desarrollado especializado en eCommerce y que nos permite definir conceptos como productos, ofertas, precios y tiendas. La otra opción es el uso de Schema.org, un estándar más reciente de los grandes buscadores (Google, Yahoo, Bing) que no sólo permite definir datos de eCommerce, sino también información más genérica tal como obras creativas, personas o lugares.
La siguiente imagen es un ejemplo sencillo de como se puede enriquecer un trozo de html, en este caso con información sobre una película, usando Schema.org y microdata:
Evidentemente, no debería ser necesario el marcado manual del código html de cada una de nuestras páginas de productos y tiendas. Se esperaría que el software de los portales y los diversos sistemas gestores de contenidos web tuvieran funcionalidades que permitieran realizar con facilidad estas tareas. Los mapeos de nuestra información a uno de los vocabularios mencionados (GoodRelations o Schema.org) se establecerían una sola vez y posteriormente el sistema se encargaría de enriquecer de forma automática el marcado html de las páginas.
Los gestores de contenidos web opensource más importantes ya cuentan con soporte nativo para el SEO semántico o están en vías de incorporarlo. Por ejemplo, WordPress cuenta con plugins tanto para GoodRelations como para Schema.org; igualmente, Drupal tiene módulo específicos en desarrollo (Schema.org, RDFa).
Las plataformas de software especializadas para tiendas online también están siguiendo esta tendencia. Dos de las tiendas virtuales más usadas y con mayor proyección, Magento y Prestashop, disponen de extensiones para el marcado de su información mediante GoodRelations.
Es evidente por tanto que el soporte al SEO semántico se va a convertir en una de las características claves para elegir la plataforma de software sobre la que un negocio arranque su web o tienda online.
Hoy por hoy es difícil dar una respuesta concreta sobre qué opción tecnológica elegir entre las disponibles. Schema.org cuenta con el respaldo estandarizador de los grandes buscadores, pero GoogRelations es más potente y extensible gracias a RDFa, y no le va a faltar soporte en el futuro cercano. Lo realmente importante es usar una de las vías disponibles, la que nos resulte más fácil de implantar en nuestro sistema de gestión de contenidos.
Se ha dicho en cierto sentido que si no estás en internet no existes. No sólo eso, sino que buena parte del éxito futuro de una empresa de comercio electrónico pasará por estar en la nueva web, la web de datos.
Mi primera experiencia con el Open Data
Con motivo del XII encuentro iberoamericano de Ciudades Digitales, que se celebra en Bilbao los días 28, 29 y 30 de septiembre del presente año, pensamos que podría ser buena idea la realización de una aplicación de ejemplo, basada en open data, vistosa a la vez que útil.
Se optó por realizar un display en tiempo real de las paradas de transporte público más próximas al Palacio de Congresos Euskalduna, donde se celebra el congreso. La aplicación muestra al usuario el tiempo restante para la llegada del próximo vehículo de transporte público a una determinada parada. Se basa en la información proporcionada por los transportes de la ciudad de Bilbao, concretamente metro, autobús y tranvía, publicada en sus respectivas páginas Web.
A nivel personal, el objetivo principal de esta primera toma de contacto con open data era aprender qué es open data y que mejor forma que enfrentándose a los problemas de utilizar este movimiento y analizando las posibles soluciones.
Los primeros problemas
El principal problema encontrado a la hora de trabajar con los datos publicados, fue el formato en el que se presentan al usuario. El W3C recomienda la liberación de datos útiles y en formatos abiertos que permitan la reutilización automatizada.
Para realizar la aplicación optamos por almacenar los diversos horarios en una base de datos. Por lo tanto, el primer hito a realizar era la búsqueda de los horarios en la Web. En esta ocasión los datos se liberaban en formato PDF, que a pesar de ser un formato libre, no presentaba una estructura idónea, la información se distribuía en diversas tablas que no eran homogéneas entre sí, lo que impedía el tratamiento automático. En consecuencia, una labor que podría ser prácticamente automática se convierte en una labor un tanto tediosa y que nos exige mucho más tiempo del estimado en un principio.
Un segundo objetivo era hacer una aplicación de realidad aumentada. En esta ocasión, se encontraron pequeñas dificultades a la hora de indicar la geoposición de cada una de las paradas con las que hemos trabajado, esto se debe a que no existe ningún fichero que nos proporcione la ubicación exacta de las mismas. Esta información es de vital importancia cuando utilizados un navegador de realidad aumentada, como es Layar.
Un buen ejemplo en la liberación de datos abiertos relativos a los horarios de transporte público es el Ayuntamiento de Gijón, ya que dispone de un servicio Web que facilita la realización de este tipo de aplicaciones. Este servicio Web proporciona los datos en tres formatos diferentes: JSON, XML o SOAP. De esta forma, con una decena de líneas de código podríamos hacer la consulta que nos devolviesen los datos sin apenas transformaciones
Conclusiones
Cuanto más bien estructurados y enriquecidos estén los datos, más sencillo será reutilizarlos y construir aplicaciones que los traten automáticamente. Entre los formatos de datos más adecuados para desarrollar una aplicación de este tipo estarían XML y JSON, aunque lo ideal sería que los datos se publicasen empleando el modelo RDF, que se consultarían empleando el lenguaje SPARQL.
Para esta aplicación de ejemplo, si los datos publicados hubiesen estado en un formato más adecuado que en documentos PDF, habríamos empleado muchas menos horas en su realización. La consecuencia directa de emplear menos horas en el tratamiento de datos es la disponibilidad de más horas y atención en la programación propiamente dicha de las aplicaciones.
No es Linked Data todo lo que reluce
Echando un vistazo al mapa nacional de las iniciativas Open Data, observamos que cada vez hay mayor preocupación dentro de las Administraciones Públicas por la transparencia y por ofrecer los datos públicos a sus verdaderos dueños: la ciudadanía y las empresas. Los catálogos de datos públicos crecen como setas, y algunas administraciones empiezan a notar la creciente demanda de información específica, lo que fomenta la aparición de aplicaciones realmente útiles para la sociedad.
Algo que realmente llama la atención es el compromiso de las distintas iniciativas de hacer Open Data realmente abierto, usando formatos estándar. Todas buscan la excelencia tecnológica, con la vista puesta en las 5 estrellas de Tim Berners-Lee, lo que nos congratula enormemente y motiva para seguir apostando por la base de la Web del futuro próximo, las tecnologías Linked Data que ayudan a crear la Web de los Datos. Pero, entre esta vorágine tecnológica, nos encontramos con un problema… no todos lo hacen bien y esto pone en peligro el crecimiento de la Web de los Datos.
Después de varios posts argumentando el uso de Linked Data, no hace falta insistir en las bondades de estas tecnologías 5 estrellas y cada vez surgen más aplicaciones de última generación, que hacen uso de la semántica estos datos enlazados y se aprovechan de la gran potencia de estos mecanismos de asociación conceptual, combinación y enriquecimiento de la información. El problema surge cuando se desconoce y, por lo tanto, malinterpreta el funcionamiento de la representación semántica –usando RDF– y los conceptos básicos ligados a este modelo. Hemos observado la proliferación de conjuntos de datos que se proclaman erróneamente “semánticos” y en “formato” RDF.
El concepto y las tecnologías Linked Data, no son triviales y son desconocidas para la mayoría de los desarrolladores clásicos. Si estos pretendieran entrar en materia e intentaran usar datos que supuestamente están representados erróneamente mediante estas tecnología, se encontrarían con una situación frustrante y contraproducente para ellos y el futuro del Linked Government Data.
Pero, ¿por qué se hace mal? Básicamente, no se aplica la esencia del Linked Data. Para ilustrar algunos de los problemas comunes y que sea algo más comprensible, se llevará al plano del XML tradicional.
Confusión RDF y XML
El RDF es una infraestructura para describir semánticamente recursos, es decir, dotar de sentido a lo que representamos para que las máquinas lo comprendan. Aunque la información RDF se puede representar en distintos formatos: XML, N3, Turtle… Muchos creen que el RDF es simplemente XML, no es así.
El XML es un formato para representar información en forma de árbol, mientras que RDF representa grafos. XML es útil para la interoperabilidad sintáctica, pero RDF ofrece una dimensión más, la interoperabilidad semántica.
No se representa correctamente la información
Para representar de forma correcta la información se debería atomizar, indicando los tipos de datos representados (numérico, textual, fecha,…). Además, siempre que sea posible, toda la información que no literal (fechas, nombres, descripciones textuales, etc.) se deberían representar cualquier recurso (objeto real o concepto) como tal. De esta forma, podemos acceder directamente a la información que nos interesa y procesarla de forma automática.
Sería similar a un desarrollador que pretende hacer una aplicación que lee el siguiente XML:
<elemento>
<![CDATA[<fecha>2001-01-03</fecha>]]>
</elemento>
La herramienta de análisis del documento, no podría tener acceso directo a elemento2… Esto es algo obvio, ¿no? Pero tampoco sabría que la información útil es de tipo fecha. Habría que hacer un procesamiento léxico y sintáctico.
Solución:
Especificar correctamente los tipos de datos que se representan. Por ejemplo, un curso titulado “Técnico en Software Ofimático”, del servicio de empleo del Principado de Asturias representa el inicio y fin indicando el tipo de tipos representado, en este caso una fecha.
...
<x:Accion-Formativa rdf:about="http://risp.asturias.es/empleo/oferta-formativa/Accion-Formativa/2010_123">
...
<cal:dtstart rdf:datatype="http://www.w3.org/2001/XMLSchema#date">2010-03-19</cal:dtstart>
...
No se definen esquemas (vocabularios)
Lo ideal sería utilizar vocabularios (esquemas) estándar, aunque si no existieran se definirían ad-hoc. De esta forma se dota de semántica a la información. Si no se especifica un vocabulario asociado a la representación de la información, ésta no tiene sentido semántico. Puede que tenga sentido para el propio productor de la información, pero para el resto, sólo vería un contenido (aunque con sintaxis correcta) sin sentido. Ni hablar del tratamiento automatizado.
Llevándolo al plano del desarrollo usando XML sería como ofrecer el documento siguiente y no ofrecer un esquema XSD ni información relativa a la estructura que se sigue:
<info>
<elem0001>1000292</elem0001>
<elem0002>New York</elem0002>
<elem0001>2001-03-02</elem0001>
<elem0001>2014-02-12</elem0001>
<elem0003 att00x="disabled">true</elem0003>
...
Inútil, ¿no? ¿Qué significa 1000292? ¿y 2001-03-02?…
Solución:
Usar vocabularios estándar o ampliamente utilizados como, por ejemplo, el Dades Obertes de la Generalitat de Catalunya que utiliza una representación basada en el estándar VCard para representar la información de contacto de sus equipamientos públicos.
Estos vocabularios se pueden especializar en función de los requisitos de la organización, como lo ha hecho con los centros municipales el Ajuntament de Barcelona, quienen han adaptado el esquema de VCard para sus necesidades. Después de modificarlo, lo han documentado y expuesto para que pueda ser también reutilizado (http://bcn.cat/data/v8y/xvcard#).
No se identifican los recursos
La mayoría de los recursos definidos mediante RDF deberían tener asociadas URIs resolubles para acceder a ellos desde las aplicaciones o desde otros recursos. Si se identifican con URIs (direcciones Web unívocas) a las que no se pueden acceder, perdemos la mitad del Linked Data (en concreto, el “Linked”).
No tendría sentido tener que descargarse el documento para tratarlo localmente.
Solución:
Identificar los recursos mediante URIs resolubles. Un ejemplo de esto, puede verse en los las ofertas de empleo publicadas en el Datos Abiertos de la ciudad de Zaragoza. Cada oferta de empleo tiene asociada un URI (por ejemplo, una oferta de Oficial Conductor es http://www.zaragoza.es/datosabiertos/id/empleo/Oferta/455).
Gracias a esto, podemos enlazar los datos entre sí. Por ejemplo, podemos ver en las definiciones de los datasets del Open Data de Euskadi que se hace referencia a la zona geográfica del propio dataset usando enlaces a recursos de una base de datos especializada sobre lugares poblados, Geonames. En este caso, http://sws.geonames.org/3104469/ define a la provincia de Vizcaya.
Conclusiones
Estos y otros problemas nos lo encontramos en muchos de los catálogos de datos 4 o 5 estrellas. Está claro que no es sencillo y pueden cometerse errores, pero habría que respetar al menos la esencia del Linked Data. No es necesario tratar de publicar todos los conjuntos de datos en RDF, ni accesibles desde un SPARQL endpoint (para hacer consultas sobre RDF), pero aquellos que se publiquen deberían poder usarse de la forma que se esperaría.
Cuando publicamos un conjunto de datos en Linked Data, entre otras, deberíamos plantearnos las siguientes preguntas:
- ¿Puede ser combinado con un conjunto de datos del mismo tipo procedente de otra administración, esto es, hacer Linked Data?
- El vocabulario usado, ¿está claramente especificado y es reutilizable?
- ¿Puede un agente reutilizador usar los datos sin falta de descargarse ficheros?
- ¿Se puede acceder a cada uno de los recursos definidos mediante una dirección Web (URI)?
- ¿Se podrá acceder dentro de un año a estos recursos de la misma forma?
- ¿Están los recursos Linked Data enlazados entre sí?
Todas estas preguntas deberían tener respuestas afirmativas.
El Catálogo del Open Government Data ahora es colaborativo
Nos complace anunciar las nuevas características del Repositorio de Catálogos Open Government Data. Hasta ahora, sólo se habían publicado las iniciativas Open Data llevadas a cabo por gobiernos o agencias públicas. Ahora, se admite cualquier catálogo de información del sector público (gestionado por movimientos ciudadanos, comisiones para la transparencia, ONGs, y otras instituciones). El único requisito es que estos catálogos deben contener información del sector público.
Además, hemos automatizado el catálogo. Hasta la fecha, el catálogo se mantenía a mano y, cuando encontrábamos nuevas iniciativas recién lanzadas, introducíamos la meta-información de las mismas en RDF y lo enviábamos a nuestra triplestore. Ahora, cualquiera puede contribuir enviando nuevos catálogos, a través de un simple formulario. Además, si se detecta algún error o dato impreciso en cualquiera de las entradas ya existentes, este puede ser actualizado con la información correcta. Cualquiera puede proponer los cambios de esta información seleccionando el marcador en el mapa y haciendo clic en el enlace “update it”.
¿Cómo funciona el Catálogo?
El proceso de creación de una nueva entrada es sencillo:
- Se lanza una nueva iniciativa Open Government Data
- Se define esta iniciativa/catálogo mediante ciertos metadatos (título, descripción, fecha de lanzamiento, localización, etc.) a través del formulario. La información de la localización (latitud, longitud, nombre, etc.) se obtiene de un servicio de Geonames, así que se debe tener cuidado a la hora de escojer la jurisdicción de la iniciativa (¿es una ciudad? ¿una comunidad autónoma o provincia?, ¿un país?,…)
- Se modelan los metadatos en tripletas RDF, y recibimos una alerta
- Comprobamos que el RDF generado es correcto para evitar spam y asegurar que la localización es correcta.
- El nuevo registro está disponible en la triplestore y el marcador correspondiente en el mapa
Si detectas cualquier error tipográfico o problema en cualquier entrada, rogamos nos lo hagas saber a través de un formulario similar, tras hacer click sobre el enlace “update it” en el globo con la información sobre la iniciativa a modificar. El proceso de modificación es el mismo que el de creación, nosotros moderaremos los cambios y controlaremos que no se introduzcan entradas que no tienen que ver con el repositorio. Cualquier entrada no deseada se desechará.
Uso de Linked Data para el tratamiento de datos estadísticos
Por diego.martinez - Noticias, Técnica - 18 February 2011
Hace unos días se presentó una aplicación que, mediante el uso de Linked Data, nos permite visualizar de manera sencilla datos de Estadísticas INE sobre equipamiento y uso de las TIC y el comercio electrónico en las empresas y hogares asturianos (2005-2010).
Lo más destacable de esta aplicación es que, gracias al uso de las tecnologías Linked Data, permite combinar datos estadísticos almacenados en decenas de hojas Excel con diferentes estructuras y nomenclatura, una tarea que anteriormente resultaba tediosa y complicada.
Utilizando tecnologías semánticas como RDF o SPARQL hemos conseguido modelar, unificar y exponer los datos, haciendo posible realizar comparaciones de los indicadores estadísticos a lo largo del tiempo (evolutivos), comparaciones entre los datos asturianos y nacionales y, además, hemos dejado la puerta abierta para, en un futuro, poder comparar los datos entre diferentes comunidades autónomas.
Como no podía ser de otra forma en un proyecto Open Data, los datos utilizados por la aplicación se han hecho públicos y son accesibles desde el portal de Reutilización de Información del Sector Público del Principado de Asturias para que cualquiera pueda acceder a ellos y utilizarlos en sus propios desarrollos.
En el siguiente vídeo podéis ver la aplicación en funcionamiento:




