| ゾルバ | |
|---|---|
| リリース | 2008 |
| 最終リリース | 3.1 / 2015年6月31日 ( 2015-06-31 ) |
| 執筆 | C++ |
| タイプ | XQueryエンジン |
| ライセンス | Apache-2.0 |
| リポジトリ | github.com/28msec/zorba |
ZorbaはC++で書かれたオープンソースのクエリプロセッサであり、[ 1 ]
ZorbaはApacheライセンスバージョン2.0の下で配布されています。このプロジェクトは主にFLWOR Foundation、Oracle、および28msecによってサポートされています。
Zorbaは現在、活発な開発が行われていません。GitHubリポジトリの最後のコミットは2017年[ 2 ]、最後のリリース3.1は2015年6月[ 3 ] 、 SourceForgeの最新バージョン2.9.1は2013年5月[ 4 ]のものです。
Zorbaは、以下のW3C仕様の実装を提供します。
Zorba は以下の実装も提供しています。
Wayback Machineに2014年2月21日にアーカイブされたScripting Extensionは、XQueryまたはJSONiqプログラムにおける副作用のセマンティクスを提供するオープン仕様です。また、これらのプログラム内で命令型プログラミングを行うためのユーザーフレンドリーな構文も提供します。以下のコードスニペットは、Scripting構文の例です。これは、100未満のすべてのフィボナッチ数列を計算します。
(: これは変数宣言文です :) variable $ a as xs:integer := 0 ; variable $ b as xs:integer := 1 ; variable $ c as xs:integer := $ a + $ b ; variable $ fibseq as xs:integer * := ( $ a , $ b );while ( $ c lt 100 ) { (: これは変数代入文です :) $ fibseq := ( $ fibseq , $ c ); $ a := $ b ; $ b := $ c ; $ c := $ a + $ b ; } $ fibseq以下は、スクリプト、XQuery、およびXQuery Updateを使用したCRUD操作の例です。
変数$ stores := doc ( "stores.xml" )/ stores ;(: 作成 :)ノード< store > <store-number> 4 </store-number> < state > NY < / state > < / store>を $stores に挿入します。(: 更新 :)ノード$ stores / store [ state = "NY" ]/ store-numberの値を"5"に置き換えます。(: 削除 :)ノード$ stores / store [ state != "NY" ]を削除;(: 読んでください :) $ストアデータ定義機能は、XQueryや JSONiq プログラム内のコレクションやインデックスなどの永続的なアーティファクトのセマンティクスを提供します。たとえば、次のコード スニペットは、entriesという名前のコレクションと、そのコレクションに対するentryという名前のインデックスを宣言します。
module namespace g = "http://www.zorba-xquery.com/guestbook" ;import module namespace db = "http://www.zorba-xquery.com/modules/store/static/collections/dml" ;declare namespace an = "http://www.zorba-xquery.com/annotations" ;(: entries という名前のコレクションを宣言します :) declare collection g : entries as element ( entry ); (: g:entries コレクションを指す変数を宣言します :) declare variable $ g:entries := xs:QName ( 'g:entries' );(: エントリ コレクションの上にエントリという名前のインデックスを宣言します :) declare %an:automatic %value-equality index g:entry on nodes db : collection ( xs:QName ( 'g:entries' )) by xs : string ( @id ) as xs:string ;Zorbaはプラグイン可能なストアを提供するため、ディスク、データベース、ブラウザなど、さまざまな環境で使用できます。デフォルトでは、Zorbaはメインメモリストアで構築されています。28msecは MongoDB上にストアを実装しています。XQuery in the Browserプロジェクトは、Zorba用のブラウザプラグインを構築し、DOMをストアとして活用しています。
Zorba はさまざまなホスト言語で使用できます: C++、C、XQJ / Java、PHP、Python、C# 、 Ruby、さらにはXQuery / JSONiqも使用できます。
Zorbaはコマンドラインツール としても利用可能です。Wayback Machineに2014年2月21日にアーカイブされました。
XQDTはEclipse(IDE)用のXQueryプラグインです。Zorba APIと構文を完全にサポートしています。
Zorbaは、アプリケーション構築のための70種類以上のXQueryモジュールを提供しています。これらのモジュールの一部は以下のとおりです。
{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)