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

2009年7月10日

米ヤフーが提供するサービスの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


このエントリーをはてなブックマークに追加 Bookmark this on Delicious     fig Follow Me  fig RSS

タグ : Yahoo!

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

Loading...

Blogger in Chief

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


Publickeyの新着情報をチェックしませんか?
Twitterで : @Publickey
RSSリーダーで : Feed





アクセスランキング - 過去7日間

  1. 特許庁の基幹システム失敗の背景にある、日本に…
  2. 国内の開発者が使っている言語、1位C、2位V…
  3. 特許庁の基幹システムはなぜ失敗したのか。元内…
  4. 英国政府、新ポータルGov.ukをクラウド、…
  5. なぜ米ヒューレット・パッカードは、一挙に16…
  6. OpenFlowベンチャーのNicira N…
  7. ライアン・ダール氏、Node.jsの開発リー…
  8. フラッシュストレージが最大500TB! 米N…
  9. EMC、満を持してPCIe接続フラッシュスト…
  10. 2012年1月の人気記事「グーグルのバグ予測…
  11. マイクロソフトの責任者が語る「われわれはどの…
  12. 「絶対落ちないシステムを作れ」という要件に、…
  13. ソフトウェアテストの30年前と30年後(前編…
  14. ソフトウェアテストの近未来を話そう(前編)~…
  15. ソフトウェアテストの近未来を話そう(後編)~…

最新記事 10本

バックナンバー



アルファブロガー・アワード2010受賞 Publickeyはアルファブロガー・アワード 2010を受賞しました! いつもご愛読ありがとうございます。









blog comments powered by Disqus