13 diciembre, 2008

YQL es Yahoo! Query Language

Hace unos meses, Yahoo! lanzó Pipes, una herramienta que permitía agregar, manipular y mezclar contenido de distintas fuentes de la web. Por ejemplo, combinar varias fuentes RSS en una, ordenarlas, filtrarlas y, finalmente, traducirlas o, como expliqué en un artículo reciente, partir de una fuente de datos con direcciones para mostrar un mapa poblado con dichos datos.

Sin embargo, a pesar de la potencia de la herramienta, muchos usuarios avanzados han preferido otros métodos para realizar dichas acciones debido a que la interfície gráfica que debería resultar atractiva para muchos más usuarios nos parece demasiado ineficiente para quienes estamos acostumbrados al texto y a las consolas.

Por ello, Yahoo! acaba de lanzar YQL, que es un lenguaje muy similar al conocido SQL pero cambiando las tablas por URLs con fuentes de información. Además, para acceder a información personal, usa el estándar oAuth en lugar de solicitar contraseñas y generar con ello problemas de seguridad y confianza (oAuth es un estándar que permite acceder a información de una cuenta de un sitio determinado, como los mensajes de GMail, pero de forma que es el sitio que los contiene el que solicita permiso al usuario de forma que los datos de acceso nunca llegan al solicitante aunque sí la información deseada si se le da permiso).

Es posible probarla en esta consola on-line. En cualquier caso, si los datos son accesibles directamente y no requieren autenticación, es posible acceder a la funcionalidad de YQL a través de la URL http://query.yahooapis.com/v1/public/yql?, ya que permite obtener un resultado en formato JSON-P (accesible desde Javascript) a partir de una entrada siguiendo el estándar REST (parámetros en la URL). Por ejemplo, para obtener los últimos 3 artículos de la fuente Atom de este blog como JSON y envolverlos en una llamada a la función procesar:
http://query.yahooapis.com/v1/public/yql?q=select title from rss where url="http://feeds.feedburner.com/digitta" limit 3&format=json&callback=procesar

Otro ejemplos:

Las tablas (o fuentes de datos accesibles) predefinidas actualmente son:

atom, csv, feed, flickr.photos.exif, flickr.photos.info, flickr.photos.interestingness, flickr.photos.recent, flickr.photos.search, flickr.places, flickr.places.info, geo.places, geo.places.ancestors, geo.places.belongtos, geo.places.children, geo.places.neighbors, geo.places.parent, geo.places.siblings, geo.placetypes, gnip.activity, html, json, local.search, mybloglog.community.find, mybloglog.member, mybloglog.member.contacts, mybloglog.member.newwithcontacts, mybloglog.member.newwithme, mybloglog.members.find, mybloglog.stats.find, rss, search.images, search.news, search.web, social.connections, social.contacts, social.presence, social.profile, social.updates, upcoming.category, upcoming.country, upcoming.events, upcoming.events.bestinplace, upcoming.groups, upcoming.metro, upcoming.state, upcoming.venue, weather.forecast, xml, yahoo.identity
Fuente: Ajaxian.

1 comentarios:

Omar dijo...

Muy útil,

Un saludo

Publicar un comentario en la entrada

Últimos links en indiza.com