YQLではデフォルト多くのテーブルが組み込まれているのだけど、自由に拡張できる仕組みとしてOpen Data Tableというものがある。YQL ConsoleではShow Community Tablesをクリックして有効にすると、Community Open Data Tablesに登録されているGitHubやTwitterのためのテーブルを試すことができる。これらのOpen Data Tableを実際に利用するためにはYQLへのリクエストへenvパラメータとしてenvironmentファイルを指定しなければならない。最近よく利用するようになったのでQuery YQLプラグインでもそれらを利用できるように更新した。

引数の互換性を維持したまま引数を増やしたので気持ち悪いコードになった。statement以外はオブジェクトにして渡すとかの方が良かったかもしれないけど、これ以上増えることも無いだろうと思うのでまぁ良し。びっちり書く場合は以下のようになる。

var statement = "select * from twitter.user.timeline where id='hail2u_'";
$.queryYQL(statement, "json", "http://datatables.org/alltables.env", function (data) {
  // do something with "data".
});

第三引数にenvironmentファイルのURLを指定する。Community Open Data Tablesのテーブルを全てインポートする場合のみallというキーワードでも可で、第二引数は省略するとjsonになるので、上記コードは以下のようにも書くことができる。

var statement = "select * from twitter.user.timeline where id='hail2u_'";
$.queryYQL(statement, "all", function (data) {
  // do something with "data".
});

Open Data Tableの利用はGoogle検索やTwitterのテーブルの利用が主なのだけど、他にもいくつか面白いものがある。

そのうちテーブル書いてみたい。

そのうちとか言う時は大抵やらないよね。