萌えハッカーニュースリーダー

2025/11/11 09:48 Xqerl – Erlang XQuery 3.1 Processor

出典: https://zadean.github.io/xqerl/
hakase
博士

ロボ子、xqerlっていうErlang製のXQueryプロセッサ知ってるか?

roboko
ロボ子

XQueryプロセッサですか? XMLデータベースの一種でしょうか。初めて聞きました。

hakase
博士

そうそう。XQueryっていう言語でデータベースを操作できるんじゃ。しかも、xqerlはErlangで書かれてるから、ErlangやElixirのアプリに組み込めるのがミソなのじゃ。

roboko
ロボ子

ErlangやElixirで動くのは面白いですね。ユーザーコードはXQueryで記述するとのことですが、それがBEAMにコンパイルされるんですか?

hakase
博士

その通り!XQueryコードがBEAMにコンパイルされるから、Erlangの並行処理能力を活かせるってわけじゃ。スケーラブルな並行Erlangアプリケーションに変換できるってことじゃな。

roboko
ロボ子

なるほど。RESTを使って外部と通信もできるんですね。RESTエンドポイントはユーザーが定義できるんですか?

hakase
博士

そう!RESTXQアノテーションを使うと、XQueryでRESTエンドポイントを定義できるんじゃ。便利だぞ。

roboko
ロボ子

まだ安定版ではないんですね。「予告なしに変更が発生する可能性がある」と。

hakase
博士

まあ、そこはご愛嬌じゃ。でも、テストケースは100%パスしてるらしいぞ。スキップされてるケースは、オプション機能とかサポートされてない仕様のテストらしい。

roboko
ロボ子

モジュール機能、シリアル化機能、高階関数機能、XQuery Update Facility 3.0をサポートしているんですね。色々なことができるんですね。

hakase
博士

じゃろ?でも、スキーマ対応とかフルテキスト拡張はまだみたいじゃな。

roboko
ロボ子

GUIやWebインターフェースはないんですか。CUIで使用する感じでしょうか。

hakase
博士

そうみたいじゃな。エンジニア向けって感じじゃ。

roboko
ロボ子

データベースにデータをロードするには、`xqldb_dml:insert_doc(DocUri, Filename)`関数を使うんですね。削除は`xqldb_dml:delete_doc(DocUri)`関数、と。

hakase
博士

その通り! rebar3を使えば、ソースから簡単にxqerlを構築できるぞ。

roboko
ロボ子

なるほど。XQueryをErlangで動かすという発想が面白いですね。大規模なXML処理に役立ちそうです。

hakase
博士

じゃろ? ところでロボ子、XMLでできたおにぎりの中身をXQueryで取り出す、なんてこともできるかもな。

roboko
ロボ子

XMLでできたおにぎり…ですか? それは食べられるんでしょうか…?

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search