Query Driven Visualization
📝 Original Info
- Title: Query Driven Visualization
- ArXiv ID: 1111.6793
- Date: 2013-05-15
- Authors: G. Vriend, J. Valentijn, M. Mwebaze, A. K. Miller, R. J. Klein, S. J. Keller, et al. —
📝 Abstract
The request driven way of deriving data in Astro-WISE is extended to a query driven way of visualization. This allows scientists to focus on the science they want to perform, because all administration of their data is automated. This can be done over an abstraction layer that enhances control and flexibility for the scientist.💡 Deep Analysis

📄 Full Content
With query driven visualization there is a close interaction between the visualization software and the software responsible for storing and processing the data. We use the term information system to refer to the combination of all software dealing with the data, even though no formal connection between the individual components is necessary. In particular we refer to Astro-WISE (Vriend et al. 2012), although the presented research is applicable to other information systems as well.
The presented methodology allows scientists to request data directly with their visualization software, either explicitly or through interaction. The information system will subsequently provide the data required for the visualization automatically in an optimal way. This allows the visualization software to focus on displaying the data, and the scientist on the questions he or she wants to answer.
The basis of our query driven visualization methods is the request driven way of processing developed for Astro-WISE, called target processing. A Target in Astro-WISE is a representation of a science product and can be seen as an object in Object Oriented programming sense. Accessing a specific science product, e.g. a catalog, amounts to requesting the Target that represents the science product. The information system will autonomously determine whether there is a suitable existing Target that fulfills the request directly, or what is required to derive it otherwise.
Targets not only represents specific data sets, but also the process to create this data. Every Target is of a specific class that describes what kind of science product 2 Buddelmeijer, H. and Valentijn, E.A. Target represents. This class forms a blueprint for the creation of such a science product and prescribes how to derive the data from other Targets and what parameters can be set to influence this processing. The Targets themselves are stored with all the details required to process them at any time for any reason. In particular, links to all other Targets that are used as input are stored, these are called dependencies.
It is important for this paper to make the distinction between the creation and use of a Target itself and the creation and use of the data it represents. A Target is considered to exist as soon as its dependencies and process parameters are set, and can be used and stored from thereon. A Target can be processed partially and the processing result might be stored locally, at a remote dataserver or not at all. The processing result might therefore not be available. This allows Targets to be created as general as possible to maximize their reusability while retaining scalability.
The dependencies of a Target are other Targets from which it is derived, which will have dependencies of their own (Mwebaze et al. 2009). The set of dependencies that links a Target all the way back to the raw data is called a dependency graph (or tree). The information system will create a dependency graph autonomously to fulfill a request for data.
The information system will discover and reuse existing Targets as much as possible. These existing Targets could have been created by other scientist, resulting in implicit sharing of data. New Targets are created to be as reusable as possible for future requests. This means that newly created Targets might represent more data than is strictly necessary to fulfill this specific request. The Targets in this dependency graph are subsequently stored, thereby storing the graph itself, without being processed.
Only parts of the Targets in the dependency graph are necessary to fulfill the request, that is, to create the data of the end node. A novel way to process Targets partially is implemented in Astro-WISE in order to prevent the creation of unnecessary catalog data. This partial processing is done in an implicit way through optimization of the dependency graph. The information system will modify the dependency graph by temporarily substituting parts of it with different Targets. This is done such that the modified tree can be processed more efficiently than the original, while ensuring that the final Target still represents the requested science product. The resulting dependency graph contains Targets that represent subsets of the Targets in the original graph. These transient Targets are processed in full, and the resulting data is stored as part of the original Targets, but only if beneficial for performance. This results in the required scalability without concern for the scientist or visualization software.
An example
📸 Image Gallery
