Expressing complex query expressions in a concise and intuitive way has been a challenge in the design of visual object-oriented database query languages. However, partly due to lack of well-defined semantics and syntax of the languages and partly due to improper representation of their visual constructs, most previous visual query languages fail to meet the challenge. Specifically, they fail to handle the semantic complexity and ambiguities resulting from multi-valued path expressions, which are important to properly model the features of object-oriented query languages- especially with more than one nesting level.
In this dissertation, we propose a visual query language for object-oriented databases called Visual Object-Oriented Query Language VOQL. VOQL has such good features as excellent expressive power for object-oriented queries, well-defined semantics, and concise and intuitive syntax, which few previous visual object-oriented query languages have. By employing the visual notation capable of representing set inclusion and functional relationships, the semantics of multi-valued path expressions can be properly specified in VOQL queries. In particular, we introduce the visual query construct called the VOQL path expression constructed from the query primitives such as blobs, nested blobs, binding edges, and flattening edges to enhance expressive power. Blobs and nested blobs are used to denote sets of objects that path expressions represent. Binding edges and flattening edges are designed to visually simulate the notion of variable binding and dot functions in path expressions.
Based on the query constructs of VOQL, we provide the syntactic rules to define the syntactic components such as VOQL terms, VOQL formulas, and VOQL query expressions in a way as in tuple relational calculus. We illustrate the semantics of such components by providing syntax-directed translation to corresponding counterparts in Object-Oriented Predicate Calculus (OOPC). In combination with a visual scoping box for universal quantification, the ramification of syntactic components allows the visual representation of scopes and nested scopes in universally quantified VOQL queries. Especially, the visual constructs including the nested blobs enclosed in the scoping boxes visually specify restricted universal quantification in VOQL without resulting in ambiguous semantics of universally quantified path expressions. The concise combination of the visual constructs for restricted quantification with a recursion operator and with aggregate operators respectively represents recursion and aggregate functions in VOQL queries.
Finally, we compare VOQL with other existing query languages to illustrate the expressiveness, formality, and conciseness and intuitiveness of VOQL. VOQL has a natural way of representing, with a proper degree of abstraction, the sequence of the inter-object relationships in path expressions and sets of objects. Thus, unlike in other approaches, the complex semantics of multi-valued path expressions can be easily represented. Formal definition of the semantics and syntax of visual constructs in VOQL allows the VOQL queries to be systematically constructed from the visual constructs. The two-dimensional syntax of VOQL, based on the combination of graphs and Venn diagrams, enables the visual query expressions to be represented not only more concisely than one-dimensional syntax of textual languages but also intuitive and easily comprehensible.
In summary, we present a visual object-oriented query language with high semantic expressibility for features of object-oriented query languages in a unified visual formalism based on graphs and Venn diagrams. An explicit formal specification of multi-valued path expressions in a concise and intuitive visual notation is new and significantly clarifies the ambiguous semantics of complex object-oriented queries with quantification in the nested structures.
시각적 객체지향 데이타베이스 질의어 (object-oriented database query language)의 제안에 있어 복잡한 질의들을 간결하고 직관적으로 표현하는 것은 어려운 일이다. 기존의 시각적 객체지향 질의어들은 질의 표현의 의미와 문법의 정의가 부정확하고 그들이 제공하는 시각적 구조체들의 표시가 부적절한 이유로 간결하고도 직관적인 질의 작성이 어려운 실정이다. 무엇보다도, 객체지향 질의어의 특성들을 적절히 표현하기 위해 중요한 요소인 다중값 경로식 (multi-valued path expression)에서 길이가 2 이상인 경우에는 경로식이 갖는 의미의 복잡성과 모호함을 처리하지 못한다.
본 논문에서는 객체지향 데이타베이스를 위한 시각적 질의어인 VOQL (Visual Object-Oriented Query Language)을 제안한다. VOQL은 타 시각적 질의어들과 달리, 잘 정의된 의미, 간단하고 직관적인 문법, 그리고 집합 관련 객체지향 특성을 감안한 우수한 표현력등의 장점을 가진다. 이는 집합의 포함 관계 (set inclusion)와 함수 관계를 표현할 수 있는 시각적 표시법을 도입하여 다중값 경로식의 의미를 직접 표현함으로써 가능하다. 구체적으로, 블럽 (blobs), 중첩 블럽 (nested blobs), 바인딩 에지 (binding edges) 및 플래트닝 에지 (flattening edges)로 불리우는 기본 시각적 구조체들을 도입한다. 블럽 및 중첩 블럽은 경로식이 나타내는 객체들의 집합을 표시하는데 사용된다. 바인딩 에지 및 플래트닝 에지는 변수 바인딩 개념과 경로식의 점 (dot) 함수 개념을 시각적으로 표현하도록 한다.
시각적 질의 기본요소 (primitive)들의 포괄적 기술과 더불어, 시각적 구조체들의 문법적 규칙은 튜플 관계 해석 (tuple relational calculus)에서와 같이 VOQL terms, VOQL formulas 및 VOQL query expressions를 정의한다. 그들의 의미는 Object-Oriented Predicate Calculus (OOPC)에서 문법적으로 대응되는 각각으로 번역된다. 또한, 전체 정량자 (universal quantification)를 위한 시각적 스코핑 (scoping) 상자와 함께 그 구조체들은 명확한 시각적 스코핑, 중첩 정량자 (nested quantification) 및 회귀 (recursion) 질의 표현을 가능케 한다. 특히, 전체 정량자 관련 경로식의 의미적 모호함 문제의 일부를 해결한다.
마지막으로, 기존의 질의어들과 비교하여 VOQL의 표현력, 형식성 (formality) 및 간결 직관성을 입증한다. VOQL은 경로식의 객체간 관계와 객체 집합들의 연결을 적절한 추상화로 표현하는 자연스런 한 방법이다. 따라서, 타 방식과 달리, 다중값 경로식의 복잡한 의미를 쉽게 표현한다. 시각적 구조체들의 의미 및 문법은 형식적으로 정의되어 전체 언어의 의미 및 문법이 그들로부터 체계적으로 형성된다. VOQL의 이차원적 문법은 그래프와 벤다이어그램의 결합을 근간으로, 시각적 질의 표현이 문자 (textual) 언어의 일차원적 문법보다 간결할 뿐만 아니라 직관적이고 쉽게 이해될수 있도록 한다.
요약하면, 본 논문에서는 그래프와 벤다이어그램을 기초로 한 통합된 시각 표시법을 통해 객체지향 질의어의 독특한 특성을 위한 의미 표현력을 가진 시각적 질의어를 제안한다. 논문에서 다중값 경로식의 간결 직관적 시각 표시법을 통한 명확한 형식적 기술은 새로운 것으로 중첩 구조속의 정량자를 가진 복잡한 질의들의 모호한 의미를 현저히 명료하게 한다.