This paper presents Visual Object Query Language (VOQL), a graph based query language and the formal methods to define the semantics of the graphical representation. VOQL supports diagram-based declarative query formulation methods for object-oriented database management systems. The primary objectives of VOQL are to exploit both the expressiveness of text-based structured query languages which have well-defined syntax and semantics, and the intuitiveness of graph-based query languages which allow easier understanding of the organization of a database schema. The basic philosophy is a mixed paradigm to allow an arbitrary combination of the graphical notation and the textual notation in a query. A query can be expressed partly in graphical syntax and partly in textual syntax. Hence a user can compose a query in the most convenient way in accordance with one's skills and the characteristics of a problem.
The abstract visual syntax of VOQL is attributed directed graphs. The definition of semantics is based on Object Query Language (OQL) which is a well-defined object-oriented structured query language. It is formally specified using the concepts of programmed and attributed graph rewriting systems. The graph rewriting system also maps a given visual query specification into the equivalent textual representation. Then, the complete query specification is generated by merging the textual part of a query which a user directly writes and the textual representation of a visual part of a query generated by a graph production system by applying a sequence of productions to the graphical part of a query.
본 논문은 그래픽에 기반을 두는 시각질의어인 VOQL(Visual Object Query Language)과 시각요소에 의한 질의어의 의미를 정의하는 형식적 (formal)인 방법에 대해 논한다. VOQL은 객체지향데이타베이스 시스템을 위한 다이아그램 형식의 시각질의어이며, 잘 정의된 구문과 의미규칙을 갖는 문자기반의 구조적 질의어가 가지는 표현력과, 스키마의 구성을 직관적이고 쉽게 이해할 수 있도록 하여주는 시작질의어의 장점을 결합하자는 것을 목적으로 한다. 그 방법으로써 시각적인 표현방법과 문자표현 방법을 한 질의문에 대해 임의의 형태로 표현방법을 구사하여 사용자의 숙련도와 문제의 성격에 가장 적합한 형태로 질의어를 구성할 수 있다.
VOQL의 추상적인 문법은 애트리뷰트를 갖는 유향 그래프을 기반으로 한다. 의미부는 객체지향데이타베이스의 실질적 표준으로 잘 정의되어 있는 구조화된 질의어를 기반으로하여 정의되었다. 형식적인 정의방법을 위해 PROGRES(Programmed and Attributed Graph Rewriting System) 라는 도구를 사용하였다. 이 시스템은 정의된 규약을 실행하여 주어진 질의어의 시각표현부분을 같은 의미의 문자표현으로 바꾸어준다. 이 문자표현은 원래질의어의 문자부분과 합쳐져서 완성된 질의어를 구성한다.