Qianyi Gu1, Faisal Ahmad1, Francis Molina2, Tamara Sumner1
1Dept or Computer Science, University of Colorado,Campus Box 430
Boulder, CO, USA 80309-0430
{qianyi.gu, fahmad, sumner}@colorado.edu
2Project 2061American Association for the Advancement of Science,
1200 New York Avenue, NW, Washington DC, USA 20005
fmolina@aaas.org
In this paper we present a system that supports the dynamic generation of conceptual browsing interfaces for digital libraries using SVG. This system is part of the Strand Map Service (SMS), a service being developed for the National Science Digital Library (NSDL). The SMS aims to provide educators and learners with conceptual browsing interfaces that help them to locate and use learning resources in educational digital libraries. These interfaces are comprised of interacting visual components that contain different views onto a concept space that can be modeled as nodes and links (Strand Maps). Rather than creating a static presentation of these interfaces, the system generates visualizations of these interfaces dynamically using SVG techniques from information modeled in the data repository. Our approach builds on recent advances in visualization components and programmatic interfaces to knowledge organization systems.
Concept browsing interfaces, based on nationally recognized education standards, can help educators and learners to locate, comprehend and use educational resources in digital libraries. These interfaces provide navigational and orientational cues that are typically lacking from traditional keyword or fielded search interfaces.
The server is based on the struts architecture. It consists of a client request handler to analyze user requests and generate a service call; an application logic to dynamically generate visual interfaces in SVG; and a data resources component to connect to Relational Database (Microsoft SQL Server 2000) at backend and generate and execute SQL Query.
The client consists of the Interface Window and the Viewer.
We developed a web services-based protocol—the Concept Space Interchange Protocol (CSIP)—to enable communications between client and server. The protocol design is based on REpresentational State Transfer (REST) web architecture style. CSIP is implemented in XML. The protocol defines a query language which is used by the client to initiate the request to generate SVG components. When the CSIP query is sent to the server, it dynamically generates SVG as the front end of this web services and sends back the SVG as a query result to the client through CSIP.
In order to present the visual interfaces in response to user's request, instead of storing static visual interfaces the server generates SVG dynamically by retrieving data from a backend database. A visualization algorithm that we have developed is then applied to dynamically generate a graphical representation of the concept browsing interface in SVG.
The conceptual browsing interfaces contain visual components which are modeled as nodes and links. It is a form of directed acyclic graph. The visualization algorithm we developed uses tree-based processing where a strand map is viewed as consisting of a special tree with multiple roots. Breadth first search is used to compute the vertical depth level of each node relative to its nearest root. Depth first search is used to compute the horizontal relationships, across strands and within a strand, between nodes at the same vertical depth. The results of these two searches are combined to quantitatively identify internal relations between nodes. These quantitative relations are then used to allocate nodes to placements within a predefined grid that represents the available drawing space. When pairs of nodes conflict, local placement adjustments are then made by moving the conflicting node to the next available placement in the grid.
Figure 1 - System Architecture
The Strand Map Service demonstrates the utility of dynamically generated SVGs as conceptual browsing interfaces for digital libraries.