BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース JSONiq: JSONクエリ言語

JSONiq: JSONクエリ言語

原文(投稿日: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のもとでライセンスされている。

 

 

この記事に星をつける

おすすめ度
スタイル

BT