Introduction à Yahoo! Query Language (YQL)

Posted: 28th juillet 2009 by Mohammed CHERIFI in Développement WEB
Tags: , , ,
Yahoo! Query Language

Yahoo! Query Language

Yahoo! Query Language, baptisé YQL est un nouveau langage développé par Yahoo, semblable à SQL, ce dernier permet d’effectuer des requêtes, ordonner, filtrer et combiner des données en provenance de tout le réseau internet et « Web Services » ! Ces informations sont récupérées sous format XML ou JSON !

En effet, pour développer une application qui utilise un WEB service, les développeurs sont souvent amenés à reconnaitre les bons URL d’APIs et recourir à la documentation pour faire appel à chacun de ces derniers , sans oublier de rester prévisible à une future modification de ces derniers, d’où l’intérêt de YQL ;)

L’idée derrière la création de ce nouveau langage est de faciliter aux développeurs l’accès aux services web, ainsi ils peuvent accéder et récupérer facilement les données via un seul langage sans se référer aux différents APIs, notre ami Yahoo s’occupera des mises à jours si il y en aura!

Les fichiers de base de données YQL sont en fait de gros fichiers XML qu’on peut interroger facilement via une seule ligne, et comme c’est ouvert tout utilisateur peut proposer sa base YQL!

J’ai eu le temps de faire un tour sur le site de YQL, et ce que je trouve avantageux dans ce nouveau langage est sa facilité d’utilisation du fait qu’il est basé sur des instructions similaires à SQL comme SELECT, DESC, SHOW..

Quelques exemples de commande YQL:

Récupérer les informations géographiques de la ville de Rabat (Maroc):

select * from geo.places where text="Rabat"

Récupérer les références des photos sur flickr contant le text « Maroc »

select * from flickr.photos.search where has_geo="true" and text="Maroc"

Pour interroger une base YQL externe il suffit de l’appeler avec la command use !

Exemple pour récupérer les derniers twitts de mcherifi:

use 'http://github.com/spullara/yql-tables/raw/a2f518a10ccdca99658f14bee9101b77d7b4cf08/twitter/twitter.user.status.xml' as twittertable;
select * from twittertable where id='mcherifi';

On définit la source de la base YQL distance avec la commande « use », on donne un alias à cette dernière grâce à « AS » et on effectue notre sélection, à noter que le nom des champs n’est pas toujours le même et on peut le connaitre avec la commande : DESC nom_table

Il est également possible de faire des jointures et utiliser des sous requêtes, par exemple cette requête recherche tous les événements depuis Yahoo Events dont le texte contient « Morocco »

select name,start_date from upcoming.events where woeid in (select woeid from geo.places where text="Morocco") | sort(field="start_date")

Yahoo a également introduit les commandes de manipulation de données (INSERT/UPDATE/DELETE) que je détaillerai dans un prochain billet.

Vous pouvez vous amuser à découvrir ce nouveau langage en vous rendant sur la console YQL sur cette adresse : http://developer.yahoo.com/yql/console/

Je vous invite également à visiter le site de YQL, qui est à mon avis un projet prometteur qui fera évoluer le web!

Partager cet article:
  • Twitter
  • Facebook
  • Google Bookmarks
  • del.icio.us
  • Netvibes
  • viadeo FR
  • Digg
  • LinkedIn
  • Slashdot
  • Sphinn
  • Mixx
  • Blogplay
  • Identi.ca
  • Print
  • Ping.fm
  • email
  • Posterous
  • Reddit
  • Yahoo! Buzz
  • PDF
  • RSS
  • Diigo
  • Fark
  • Blogosphere News
  • blogtercimlap

  1. mezgani dit :

    Très informatif, Merci pour l’info

  2. Updel dit :

    Waw je ne le savais pas !
    a dieu les API classique

  3. [...] Une introduction à Yahoo! Query Language [...]