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

Tags: クラウド Yahoo!

このエントリーをはてなブックマークに追加
ツイート
follow us in feedly




タグクラウド(β版)

クラウド / AWS / Azure / Google Cloud
コンテナ / Docker / Kubernetes
クラウドネイティブ / サーバレス
クラウド障害 / 運用・監視

プログラミング言語 / 開発ツール
JavaScript / Java / .NET / WebAssembly
HTML/CSS / Web標準

アジャイル開発 / スクラム / DevOps / CI/CD
ソフトウェアテスト・品質
ローコード/ノーコード開発

データベース / RDB / NoSQL / 機械学習・AI
Oracle Database / MySQL / PostgreSQL
Office / 業務アプリケーション

ネットワーク / HTTP / QUIC / セキュリティ
OS / Windows / Linux / VMware
ハードウェア / サーバ / ストレージ

業界動向 / 働き方 / 給与・年収
編集後記 / 殿堂入り / おもしろ

全てのタグを見る

Blogger in Chief

photo of jniino

Junichi Niino(jniino)
IT系の雑誌編集者、オンラインメディア発行人を経て独立。2009年にPublickeyを開始しました。
詳しいプロフィール

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

最新記事10本