[논문 리뷰] XTQ: A Declarative Functional XML Query Language
XTQ는 일련의 패턴 기반의 기능적 XML 쿼리 언어로서, 일치하는 용어와 추론적 재구성 메커니즘을 통해 계층적이고 이질적인 XML 데이터에 대한 표현력 있고 통합된 쿼리 기능을 제공한다. 이 언어는 복잡한 중첩된 구조의 데이터 추출, 필터링, 변환을 위한 선언적 기능을 지원하며, 기존 언어에 비해 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 쿼리를 선언적으로 표현할 수 있는가?
- RQ2어떤 메커니즘이 XML 데이터에서 결합적, 비결합적, 계층적 관계를 일관되고 표현력 있게 표현하는 데 기여하는가?
- RQ3어떻게 XML의 복합 데이터 구조(예: 중첩된 세트, 계층적 트리)에 대해 일관된 필터링을 적용할 수 있는가?
- RQ4일치하는 용어와 그 재구성 기능이 절차적 코드 없이 선언적 데이터 변환을 가능하게 하는 역할은 무엇인가?
- RQ5기능 프로그래밍 기능은 패턴 기반 쿼리 언어에 어떻게 원활하게 통합될 수 있는가?
주요 결과
- XTQ는 XQuery, Xcerpt, TQL과 같은 기존 언어보다도 비결합적이고 계층적인 데이터 관계를 포함한 복잡한 XML 쿼리를 표현하는 데 더 뛰어난 표현력과 통합성을 제공한다.
- 일치하는 용어와 추론적 재구성 메커니즘의 사용은 절차적 서브쿼리의 필요성을 줄이며 선언적 데이터 구조 변환을 가능하게 한다.
- XTQ는 'par'와 'with' 연결자를 통해 복합 데이터 구조의 일관된 필터링을 지원하며, 이는 대부분의 기존 XML 쿼리 언어에서 기본적으로 지원되지 않는다.
- 가상 문서 값 기반의 고계수 함수를 포함한 기능 프로그래밍 기능의 통합은 언어의 표현력을 강화하면서도 선언적 특성을 유지한다.
- 운영 의미 기반 프로토타입 구현은 실현 가능성을 입증했으며, 현재는 성능 최적화 및 레이블-키워드 쿼리 및 스키마 기반 패턴 지원 확장에 초점을 맞추고 있다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.