BT

JSONiq: JSONクエリ言語

| 作者: Jonathan Allen フォローする 530 人のフォロワー , 翻訳者 編集部N フォローする 0 人のフォロワー 投稿日 2012年10月14日. 推定読書時間: 1 分 |

原文(投稿日:2012/10/08)へのリンク

 

JSONiqは、XQueryをベースに作られた新しいクエリ言語である。 SQL や LINQのように、let, for, where, group by, select のようながシンタックスをサポートする。下がその例である。

let $stats := db:find("stats")
for $access in $stats
where $access("response_time") > 5
group by $url := $access("url")
return
{
    "url": $url,
    "avg": avg($access("response_time")),
    "hits": count($access)
}

JSONiqは単に JSON から JSONへの変換以上のものをサポートしている。XMLを生成したり、パースするのに使えるし、その2つをマージする生成することもできる。ドキュメントから例がこれで、JSONiqがHTMLテーブルを生成するテンプレート言語として使われているのがわかる。 



XQueryのように、 JSONiqはオーバーラッピングと非オーバーラッピングのウィンドーをサポートしている。このフィーチャは、データを均等な大きさの塊に分割したり、「最後の3つの」平均のような統計的計算に使うことができる。XPath仕様書にあるタンブリンウィンドーやスライディングウィンドーについてもっと知ることができる。

JSONiq の別のフォーチャは、JSONデータをアップデートする機能である。下の例では、名前が "Deadbeat Jim"に一致したレコードにステータス・プロパティが挿入されているのがわかる。 



JSONiqは、 XQueryプロセッサZorbaの一部として入手でき、 Apache 2 ライセンスのもとで配布されている。JSONiq 自身は、Creative Commons Attribution-ShareAlike 3.0 Unported Licenseのもとでライセンスされている。

 

 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT