Mardi le 28 juillet 2009 à 18:31

Introduction à Yahoo! Query Language (YQL)

Par Mohammed CHERIFI

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
Tags :, , ,

Articles similaires

  • No Related Post

2 Commentaires to Introduction à Yahoo! Query Language (YQL)

Avatar

mezgani

juillet 28th, 2009 at 18 h 46 min

Très informatif, Merci pour l’info

Avatar

Updel

juillet 28th, 2009 at 23 h 55 min

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

Réagissez à ce billet

Categories

Derniers commentaires

  • Victor: Roseny : Pour avoir les mois en Français voici mon code : $dateWidget = new sfWidgetFormI18nDate(array(...
  • abdessamad: Salam, Salutation pour cet article, N.B :  » Un md5 est une chaine de caractère en hexadécimal...
  • 0x1337: Nice tuto bien structuré et synthétisé ! La question qui se pose est ce un attaquant peut faire un Privilege...
  • Roseny: Bonjour, comment fais-t’on pour mettre les mois en français?
  • Laurent: Bonjour Mohammed et merci pour ce tuto. Que faut-il modifier pour que le champ date soit en un seul bloc au...
  • Stack: dommage que le co.ma était hacké aussi
  • Technologix: Très bon article, gg ;)
  • Wail: très bien expliqué mon khoya, génial
  • UpDeL: Respect !
  • El King Zizou: trés bonne explication j’aimerai bien voir des autres articles des attaques sur le web :)...

Flickr PhotoStream

  • Au dessus des montagnes
  • Nuages
  • Insolite hopital marocain
  • Plage bouznika
  • Maroc Blog awars with vladimire
  • Linux Party 2010 - EMI (Maroc)
  • Mawazine 2008
  • Essaouira
  • Rabat Ville with baba mimoun
  • Fucking CowBoyz
  • Essaouira 2009 - En attente de l'arrivé du cheb khaled!
  • Linux Install party Mohammadia

Twitter Feed


Warning: fread() [function.fread]: Length parameter must be greater than 0 in /homepages/44/d193174039/htdocs/mcherifi/wp-content/plugins/wordpress-twitter/BiBTweets.php on line 199
  • mcherifi: Underground Parking System http://bit.ly/aI440T original! le 27 Jul 2010 10:58
  • mcherifi: @halflings un moment j'ai pensé qu'il s'agit d'une erreur, c'est en lisant bien que j'ai compris que ya aussi #freelansing lol le 27 Jul 2010 10:38 en réponse à halflings
  • mcherifi: Comment réaliser sa première photographie en freelensing? http://bit.ly/daZewv le 27 Jul 2010 09:45
  • mcherifi: Une nouvelle loi vient d’être adoptée en #Tunisie , elle intérdit les fessées données aux enfants! Qu'allez vous faire si c'était au #Maroc ? le 26 Jul 2010 16:57
  • mcherifi: Faut-il suivre ses passions ou s’orienter vers du lucratif ? http://bit.ly/99Nsiu le 26 Jul 2010 16:30
  • mcherifi: Safari v4 & v5 critical vulnerability in the AutoFill feature http://bit.ly/9yVKco #safari #security #autofill le 26 Jul 2010 14:41
  • mcherifi: RT: @agharass : Est ce que vous avez un compte http://meme.yahoo.com ? Plz RT le 24 Jul 2010 21:20
  • mcherifi: @A_T_J pas encore mon ami, la soirée vient à peine de commencer ;) ce n'est pas qu'on tweetant pas qu'on dors :P le 24 Jul 2010 03:06 en réponse à A_T_J
  • mcherifi: Trop drôle! Insultes de développeurs http://ping.fm/SKdvT #fordeveloppersonly le 20 Jul 2010 09:02
  • mcherifi: Si vous aimez les pentests voici un ISO pour s'entrainer avec l'OS le plus vulnérable au monde http://ping.fm/a5rKi #damnvulnerablelinux le 20 Jul 2010 08:58
  • mcherifi: Oulah! c'est mon 1000 tweet, Happy day à tous! le 20 Jul 2010 08:56
  • mcherifi: Frameworks PHP: Symfony vs CodeIgniter http://ping.fm/MnLvy le 14 Jul 2010 15:42
  • mcherifi: D'ici fin juillet, l'enveloppe annuelle de la compensation sera déjà épuisée ! Que va faire l'Etat ? http://ping.fm/t2ym2 le 14 Jul 2010 14:00
  • mcherifi: Real Social Dynamics Nation : Smart people http://ping.fm/g2zfw le 14 Jul 2010 11:26
  • mcherifi: just achieved all WabLab HackMe challenges http://bit.ly/dClKUj Actual Rank: Morocco 1, World 10, waiting for the next contests.. le 11 Jul 2010 16:52
  • mcherifi: le monde est fondé sur des conventions, ce que accepte la majorité est souvent ce qui est adopté même si il est faux! le 11 Jul 2010 10:49
  • mcherifi: Youpii, ma carte son Creative Sound Blaster Live marche à merveille sous Ubuntu Lucid lynx, VIVA LINUX <3 ! le 10 Jul 2010 22:20
  • mcherifi: si vous avez du mal avec les dns google voici une version standalone du chat audio/video dans gmail 3http://ping.fm/S76qv le 06 Jul 2010 15:32