DOODLE(ID:5549/doo001)


for "Draw an Object-Oriented Database LanguagE"

Isabel Cruz, Toronto, 1992

Visual declarative language for object-oriented databases


References:
  • Cruz, Isabel F. "DOODLE: a visual language for object-oriented databases" view details Abstract: In this paper we introduce DOODLE, a new visual and declarative language for object-oriented databases. The main principle behind the language is that it is possible to display and query the database with arbitrary pictures. We allow the user to tailor the display of the data to suit the application at hand or her preferences. We want the user-defined visualizations to be stored in the database, and the language to express all kinds of visual manipulations. For extendibility reasons, the language is object-oriented. The semantics of the language is given by a well-known deductive query language for object-oriented databases. We hope that the formal basis of our language will contribute to the theoretical study of database visualizations and visual query languages, a subject that we believe is of great interest, but largely left unexplored. Extract: Introduction
    Many benefits seem to arise from the transition from relational database systems to object-oriented database systems, there are, however, issues that need to be addressed. Declarative querying of object-oriented databases is one such issue that has been attracting a great deal of attention, as a number of database researchers believe that the success of object-oriented databases is largely dependent on the existence of declarative query languages for these databases.

    In this paper, our approach to this problem is visual. We introduce a visual language, whose main principle is display and query the database with arbitrary pictures; we call it DOODLE (Draw an Object-Oriented Database LanguagE). Our language extends the concept of object oriented database querying, while using as its foundation the technology of deductive query languages for object-oriented databases.

    In taking a visual approach, one has first to visualize the database. This is in itself an interesting problem: the object-oriented model is not as simple as the relational data model, as it is intended to capture the semantics of the application in a more complete way; data has a complex structure, and an associated behaviour. We want the user to be free to specify in a visual way how the data is to be visualized, that is, how database objects are mapped to visual objects. In the sequel we refer to this mapping, or more specifically to the set of conventions for obtaining pictures from data, as visualization. In a broader sense, a picture obtained in this way will also be referred to as a visualization.

    Our system differs from other systems in that there are no pre-defined ways to display the data. This means that, for instance, graph is not a visualization that is previously known to the system, as in other systems. Furthermore, the user can transform the display from one visualization to another.

    The following example gives an overview of some of the goals of our language, as far as display specifications are concerned. Consider a binary relation where both attributes are defined on the domain of the integers. Figure 1 suggests four possible visualizations of this relation. One of the visualizations is of the relation as a table; we made it the kernel of the picture, because it is a common representation in the relational-database world. But other visualizations are also common and perhaps more useful in certain applications. We have in the same picture a bar chart, a pie chart, and a graph. Each could provide another view of the data that is more convenient for the application at hand. To specify a visualization of the data, or a visual transformation (e.g., from a graph to a bar chart), the user writes a program in DOODLE. In this program the user can draw the pattern that describes the shapes of the visual objects. In addition, we would like the user to extract information from the database, by simple manipulation of the visual objects. In this regard, we take the approach of G+: the visual query language should ideally be close to the visualization of the database. This allows the user to perceive the queries as patterns to be matched against the database. It seems natural therefore that DOODLE allows for both the specification of the display and for querying in a similar way. It is in fact our goal to make DOODLE a language with which the user can perform any kind of data manipulation (e.g., updates) by visual manipulation.

    For reusability and extendibility, the visualizations are part of the database, and the language is object oriented, so that the user can easily define new visualizations based on previously defined ones. Another important consideration is that the language has a formal basis. This will establish the grounds for the formal study of database visualizations and visual query languages, which seems to be lacking in spite of a number of approaches to visual database querying. This study will include the characterization of the expressive power of visual languages building on a rich theory for relational and object-oriented query languages.

          in Proceedings of the 1992 ACM SIGMOD international conference on Management of Data June 1992 view details