SQLのようにWebを操作するYahoo Query Language(YQL)がInsert/Update/Deleteをサポート

2009年7月10日はてなブックマーク del.icio.us Twitter
タグ : Yahoo!

米ヤフーが提供するサービスのYahoo! Query Language(YQL)は、まるでSQLのようにWebを検索できるAPIです。例えば、Flickrから猫の写真を取得したいときには、次のようなYQLになります。

SELECT * FROM flickr.photos.search WHERE text="cat"

このSQL文を次のようにしてYQLのAPIへ渡します。

http://query.yahooapis.com/v1/public/yql?q=SELECT * FROM flickr.photos.search WHERE text="Cat"

結果はJSONやXML形式で受け取ることができます。いわばYahoo!の検索エンジンをSQLっぽく操作できる方法だといえるでしょう。

YQLでWebに対してInsertする

このYQLがついにInsert/Update/Deleteをサポートし、Webへの追加、更新、削除ができるようになったと、ReadWriteWebの記事「All the Web's a Database: Yahoo Extends YQL With Insert, Update, Delete」が伝えています。

以下のサンプルは、上記の記事とYQLのマニュアルから引用したものです。例えば、Twitterにメッセージを追加するには、次のようなYQL文になります。

INSERT INTO twitter.status (status,username,password) VALUES ("Playing with INSERT, UPDATE and DELETE in YQL", "twitterusername","twitterpassword")

TwitterのAPIについては、あらかじめXML文書で定義しておき、そのうえで上記のYQLを実行すると、Twitterへのメッセージが追加されます。

bit.lyを用いてURLを圧縮するYQL文は次のようになります。

INSERT INTO bitly.shorten (login, apiKey, longUrl) VALUES ('USERNAME', 'API_KEY', 'http://yahoo.com')

UPDATE文のサンプルも見てみましょう。下記のサンプルは、Yahoo! Profilesの自分のステータスを変更します。

UPDATE social.profile.status SET status="Using YQL UPDATE" WHERE guid=me

DELETE文のサンプルは、Twitterの発言を削除する例です。

DELETE FROM twittertable WHERE tweetid="12345" and username="twitter_username" and password="twitter_password"

上記のtwittertableは、あらかじめXMLで定義されたTwitterのAPIやデータ構造の定義を指す名前です。

どのYQLをみても、まるでSQLのようです。しかしYQLはどのような用途に使えるのでしょうか?

一人で小規模なマッシュアップをするのであれば、APIを直接呼び出すようなプログラミングのほうが手っ取り早い気もします。しかしある程度のチームで、しかもスキルにばらつきがあり、それらがさまざまなマッシュアップを実現する開発を行う場合には有用かもしれません。YQLの狙いは、そうした大規模なマッシュアップを促進することにあるのでしょうか。

関連記事 on Publickey

参考記事 on the Web


次の記事≫ 「YQL: select * from internet」
前の記事≪ SaaSを導入しない最大の理由は価格。日米の調査結果ともに

Loading...

Blogger in Chief

photo of jniino Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。新しいオンラインメディアの可能性を追求しています。
詳しいプロフィール


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed
≫ 過去の記事を読む




人気エントリ - はてなブックマーク

アーカイブ  (最新記事10)

バックナンバー

2010年3月
2010年2月
2010年1月
2009年12月
2009年11月
2009年10月
2009年9月
2009年8月
2009年7月
2009年6月
2009年5月
2009年4月
2009年3月
2009年2月

Trackbacks (TrackbackURL:http://www.publickey.jp/mt/mt-tb.cgi/192)

Comments