Title: VIQING Visual Interactive QueryING
1VIQING Visual Interactive QueryING
14th IEEE Symposium on Visual Languages
Halifax, Nova Scotia, Canada September 1st -
4th, 1998
Authors Chris Olston, Michael Stonebraker,
Alexander Aiken, Joseph M. Hellerstein
2Outline
- Introduction
- Related Work
- Background
- Visual query results
- Specifying visual queries
- How VIQING generalizes other work
- Status and future work
3Introduction
- Databases are hard to use
- Difficult to understand data in textual form
- SQL query language hard to learn
- Visual Programming Can Help!
- Database visualization systems (like DataSplash)
display data in graphical form - VIQING provides a simple interface for expressing
queries over visualizations
4Related Work
- Other interfaces offer visual programming
- Visualization
- QBE, Cupid, Tioga-1, AVS, Khoros, MS-Access,
DEVise - Querying
- 4GLs, Tioga-1, AVS, Khoros, Access, DEVise, Magic
Lenses - But only VIQING/DataSplash offers a unified
visual programming model for visualization and
visual querying
5Background
- DataSplash is a data visualization tool that
displays database data in graphical form - Each row in a database table gets translated into
one graphical object on a canvas
DataSplash
Database
1.5232 2.8238 3.9221
Table
Canvas
One row
6Example DataSplash Visualization
- This visualization shows which political party
each state has favored since 1952 - A DataSplash canvas can be infinitely panned and
zoomed
Red Democrat Blue Republican
Each state is one database row
7Portals Nested Visualizations
- Portals are sub-windows in one canvas that show
another canvas - Portals can be independently panned and zoomed
This portal contains a canvas of presidential
candidates ordered by year (X axis), with the
winner on top (Y axis)
A Portal
8Outline
- Introduction
- Related Work
- Background
- Visual query results
- Specifying visual queries
- How VIQING generalizes other work
- Status and future work
9Visual Selection
- A visual selection displays only rows that pass a
selection filter - Which states voted Democratic in 1992?
Note that all red (traditionally Democratic)
states voted Democratic in 1992
10Visual Join
- A visual join ( ) combines information from two
or more database tables via portals
Each presidential candidate has a portal
containing the states that voted for him
One join portal for every row in the candidates
table
11Outline
- Introduction
- Related Work
- Background
- Visual query results
- Specifying visual queries
- How VIQING generalizes other work
- Status and future work
12User Interface Performing a Visual Selection
- Select graphical rows by rubber-banding
- The result
- The canvas inside the portal has only 6 rows
- Selection portals can be used for visual joins
...
A portal that contains only the selected rows
13Performing a Visual Join
- Drag . . . . . . . . and Drop
Join 1960s presidential candidates with
political parties
VIQING
Chris Olston, UC Berkeley
14The Result A Three-Level Visual Join
- Now candidates are joined with political parties
- We know which candidates belong to which parties
- Can see trends for each party over time
15Visual Reordering
- Visual queries have an ordering
- Visual reordering can be performed after the join
- To reorder drop a portal onto a row of its child
canvas
16Result of Visual Reordering
- Now, parties join with states, which join with
candidates - We can see the voting history of each state, by
traditional party
Georgia voted with the other Democrat states in
60, but against them in 64
17Benefits of VIQING Queries
- Easier to use than SQL
- Can incrementally build and refine queries
- Query manipulations on custom graphical
representation of data, which is easier to
understand than text - Dont need to know SQL syntax -- just drag and
drop (direct-manipulation)
18Join Predicates
- We have not discussed how VIQING knows what join
predicates to use - In most cases, join predicates are equality
- eg, candidate.party_name party.party_name
- These can be inferred from foreign key
relationships defined at schema creation time - Alternatively, could specify more general join
predicates with a tool like MS Access
19Removing Intermediate Tables
- Often, 2 tables join via an intermediate
table - eg, Candidates Vote records States
- However, we dont want to see the
intermediate table - we want Candidates States
- To do this, visually remove intermediate
- Drag intermediate portal away from the canvas
20Outline
- Introduction
- Related Work
- Background
- Visual query results
- Specifying visual queries
- How VIQING generalizes other work
- Status and future work
21How VIQING Generalizes Other Work
- VIQING generalizes nested report writers
- Each level of nesting is a set of join portals
- Drill-down performed by entering a join portal
- VIQING generalizes master/detail forms
- Master-detail relationship is a join
- Data entry support could be added to DataSplash
22Generalizing Small Multiple Graphs
- VIQING can create small multiple graphs
- Several views of a graph, indexed by a variable
- This is a visual join between a canvas which
contains several values for the index variable
and the graph canvas
23Status and Future Work
- Implemented as an extension to DataSplash
- Future work
- Support for more SQL query expressibility
- aggregates, subqueries, etc.
- An automatic way to expose meta-data
- Which portals correspond to which tables?
- Improved support for large data sets
- This is a DataSplash issue, orthogonal to VIQING
24Summary
- VIQING combines querying with visualization by
using portals - Construct basic SQL queries by direct
manipulation of pictorial data - Visual select, join, reorder, remove intermediate
- Create nested reports, master/detail forms
- Generate small multiple graphs
25For more info...
- Paper in Proc. Visual Languages 1998
- Or my web page http//datasplash.cs.berkeley.edu
/cao - Email me cao_at_cs.berkeley.edu