[論文レビュー] XTQ: A Declarative Functional XML Query Language
XTQ は、照合項と帰納的再構成メカニズムを用いて、階層的かつ異種の XML データに対する表現的で整合性のあるクエリを可能にする宣言的でパターンベースの関数型 XML クエリ言語である。XTQ は、複雑なネスト構造のデータ抽出、フィルタリング、変換を宣言的にサポートし、XML クエリにおける選言的および階層的関係を扱う点で、既存の言語を凌駕する統合的フレームワークを提供する。
Various query languages have been proposed to extract and restructure information in XML documents. These languages, usually claiming to be declarative, mainly consider the conjunctive relationships among data elements. In order to present the operations where the hierarchical and the disjunctive relationships need to be considered, such as restructuring hierarchy and handling heterogeneity, the programs in these languages often exhibit a procedural style and thus the declarativeness in them is not so prominent as in conventional query languages like SQL. In this paper, we propose a declarative pattern-based functional XML query language named XML Tree Query (XTQ). XTQ adopts expressive composite patterns to present data extraction, meanwhile establishing the conjunctive, the disjunctive and the hierarchical relationships among data elements. It uses the matching terms, a composite structure of the variables bound to the matched data elements, to present a global sketch of the extracted data, and develops a deductive restructuring mechanism of matching terms to indicate data transformation, especially for restructuring hierarchy and handling heterogeneity. Based on matching terms, XTQ employs a coherent approach to function declaration and invocation to consistently extract and construct composite data structure, which integrates features of conventional functional languages and pattern-based query languages. Additionally, XTQ also supports data filtering on composite data structure such as hierarchical data, which is seldom deliberately considered in other studies. We demonstrate with various examples that XTQ can declaratively present complex XML queries which are common in practice.
研究の動機と目的
- 階層構造、異種性、ネストされたデータセットを含む複雑なクエリを扱う際、既存の XML クエリ言語の宣言的表現力の制限を解消すること。
- XML ドキュメント内のデータ要素間の連言的、選言的、階層的関係を明示的にモデル化する統合的フレームワークを提供すること。
- 特にネストされたおよび半構造化された XML データの文脈において、一貫性のあるデータフィルタリング、変換、複合データ構造の構築をサポートすること。
- 宣言的表現力と構成的明確性を保ちつつ、パターンベースのクエリと関数型プログラミングの特徴を統合する方法を提供すること。
提案手法
- XTQ は、連言的、選言的、階層的構成を含む、要素間の関係を定義するための表現力豊かな複合パターンを用いる。
- 変数を照合されたデータ要素に束縛する複合構造である照合項を導入し、抽出されたデータのグローバルな概要を提供する。
- 照合項の変換を可能にする帰納的再構成メカニズムを採用し、宣言的データ変換および階層構造の再編成を実現する。
- 照合項に基づく関数の宣言と呼び出しをサポートすることで、複雑なデータ構造の抽出と構築の一貫性を確保する。
- 『par』と『with』といった接続子を用いて、選言的および階層的データ構造の一貫性のあるフィルタリングを可能にする。
- 仮想関数ドキュメント値を採用し、ドキュメントクエリに適合したスタイルで高階関数をサポートする。
実験結果
リサーチクエスチョン
- RQ1階層的再構成とデータの異種性を含む複雑な XML クエリを、どのように宣言的に表現できるか?
- RQ2XML データにおける連言的、選言的、階層的関係を、どのように一貫的かつ表現的に表現できるか?
- RQ3XML のネストされた集合や階層的ツリーといった複合データ構造に対して、どのように一様にデータフィルタリングを適用できるか?
- RQ4照合項とその再構成が、手続き的コードを必要とせずに宣言的データ変換を可能にする役割は何か?
- RQ5関数型プログラミングの特徴を、パターンベースのクエリ言語にどのようにスムーズに統合できるか?
主な発見
- XTQ は、XQuery や Xcerpt や TQL といった既存の言語よりも、選言的および階層的データ関係を含む複雑な XML クエリを表現する上で、より表現力があり整合性のあるフレームワークを提供する。
- 照合項と帰納的再構成メカニズムの使用により、手続き的サブクエリの必要性を減らす宣言的データ構造変換が可能になる。
- 『par』と『with』といった接続子を用いた一貫性のあるフィルタリングにより、XTQ は、大多数の既存の XML クエリ言語ではネイティブにサポートされていない複合データ構造のフィルタリングを実現する。
- 仮想ドキュメント値による高階関数の統合により、言語の表現力が向上するとともに、宣言的表現力が維持される。
- 動作意味論に基づくプロトタイプ実装により実現可能性が示され、現在の研究はパフォーマンス最適化およびラベル・キーワードクエリとスキーマベースのパターンへの対応拡張に焦点を当てている。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。