Information Technology Reference
In-Depth Information
size of the tag is relative to the number of publications in that conference. A
variation here is to use an advanced, spiral tag cloud visualisation to show the
publications by year starting from the latest conference, where the size of the
tag is relative to the number of publications in the year. Finally, the browser
B PUBLICATIONS
defines the search interface with the three viewer classes.
CREATE VIEW
<view_name>
(
tag
,[
count
,
<other_columns>
])
AS
(
SELECT
<column>
AS
tag
[,
COUNT
(
<column>
)
AS
count
,
<other_columns>
]
FROM
<table_1>
[,
<
other_tables>
]
GROUPBY
<column>
]
ORDERBY
<column>
ASC
|
DESC
][
LIMIT
<
number>
]
RANGE
<number>
]);
CREATE VIEWER
<viewer_name>
(
"View Name"
<view_name>
|
<inner_view_definition>
LIST
|
LINE
|
SPIRAL
|
<
other_visualisations>
[
MULTISELECT
],
[
<other_views>
]
);
CREATE BROWSER
<browser_name>
(
"Viewer Name"
<viewer_name>
,
[
<other_viewers>
]
);
Listing 2.
Extended SQL to specify browsers and viewer classes based on views
Listing 2 gives more details of the extended SQL syntax used above to define
the view model. In SQL, views are essentially named
SELECT
statements that
represent stored queries in the form of a virtual table composed of the respective
result sets. We build on this concept of views to enable different visualisations
of the data. Note that views can either be defined as an inner view as part of
the viewer class or referenced by name, which enables re-use and combinations
of views. For the proposed visualisations, the developer is required to specify a
reserved column
tag
that will represent the tuples used to display the tags in the
tag cloud visualisation. If the tags are to be displayed in different sizes according
to certain criteria, then a second reserved column
count
is required that can build
on SQL's
COUNT
aggregator function to count the occurrences of different values
for a given column. In that case, also the
GROUP BY
statement is required to
group the result set by the aggregated values. Note that other SQL statements
such as
ORDER BY
and
LIMIT
can be used to sort tags in ascending or descending
order as well as to limit the amount of tags displayed. Additionally, we define the
RANGE
statement to display the range of values rather than all retrieved values
if the number of tags returned for the query exceeds the specified number. This
can be helpful to navigate through large amounts of tags within a single view, e.g.
by first showing ranges
A..E
,
F..J
and so forth, and, upon selection, showing the
names of the respective subset of authors. Such ranges can be built by a custom
SQL function that we defined to first sort all retrieved tags and then divide them
into categories. For example, in the case of type
VARCHAR
, ranges could be built
from only the first letters of all tags. Finally, the set of values used to display
and size the tags typically comes from different columns and not necessarily from
the same entity, e.g. to use a larger font for authors the more publications they
have. While
other columns
will then be required for joining associated relations,
they will be ignored by the default tag cloud visualisations. On the other hand,