4 Browsing
The main function of Camelis is to browse a context. The
specificity of Camelis browsing is to allow for an arbitrary
combination of querying and navigation. Every query defines a
navigation place, and reciprocally every navigation place is
defined by a query. A query also defines an extent that is the
set of objects whose description is subsumed by the query. So a
navigation place can always be seen at the logic-level through the
query, and at the object-level through the extent. The combination of
a query and its extent is called a concept.
At any time, Camelis displays a coherent concept view that
is the combination of a query, a set of objects, and a set of
features. The set of objects must be the extent of the query. The set
of features is structured into a taxonomy according to the subsumption
ordering. By default, only features occuring frequently in the extent
are displayed, so that the taxonomy of features is dynamically adapted
to the current concept view. The graphical interface reflects this concept view:
-
query area: the text area at the top contains the
current query,
- extent window: the scrollable window at the right contains a
list of extent objects, and shows at the top the range of displayed
objects and the number of objects in the current extent,
- navigation window: the scrollable window at the left contains
trees of features in one or several tabs.
As a consequence of the equivalence between queries and navigation
places, navigation links are query transformations, and query transformations are navigation links. Navigation links are
defined as the composition of a selection and a navigation mode. A
selection can be a set of features or a set of objects in the concept
view. When several features are selected, they form a disjunction. A
feature selection can be modified by check and radio buttons at the
top of the navigation window: add of negation in front of the
selection (NOT), or replacement of equalities by inequalities
(=/≥/≤). There are 3 navigation modes. Zoom and pivot apply to
feature selections, while querying by examples applies to object
selections. Moreover, as in web browsers it is possible to go back and
forward in the history of visited queries.
4.1 The Navigation Window and Query Area
The navigation window displays a set of trees of features as tabs that
initially contains a single tree, whose root is the most general
feature and that is completely collapsed, so that only most general
features are visible. More specific features can be made visible by
expanding any element in any tree. For ease of navigation between
different views, a feature can be expanded as the root of a new tab by
activating the command Expand as tab in the contextual menu of
the navigation window. This new tab can be seen as a zoom on the full
feature tree.
Note that a same feature may appear more than once in the trees. This
is because the set of features is in fact partially ordered by
subsumption and is not a hierarchy. A feature can be inserted into a
tree through the command Logic > Add Feature.... Where it is
inserted is automatically determined by the subsumption relation. A
set of selected features can be hidden through the command Logic
> Delete Features. A feature can be replaced by another feature in
the whole context by activating the command Replace..., in the
contextual menu, on the feature to be replaced. These 3 commands
enable users to customize the navigation window contents according to
their needs.
The number on the left of each feature is the number of objects in the
current extent that is subsumed by the feature, i.e. the count
of the feature. The sum of these numbers is usually greater than the
size of the extent because objects are generally subsumed by many
features. There lies a big difference with hierarchical systems where
objects belong to only one path in the tree. This means that, for
example, a user doesn't have to choose a song either by its artist or
by its genre, but can successively select an artist and a genre in any
order. Furthermore, after selecting an artist, only relevant genres
are suggested, and reciprocally, after selecting a genre, only
relevant artists are suggested. The font color of features depends on
their count and their relation with the query:
-
red: maximal count (equal to the number of objects in the extent), and present in the query,
- orange: maximal count, but red,
- green: count = 0, and the negation of the feature is present in the query,
- dark-grey: count = 0, but not green,
- back: other cases, namely, the count is not 0 nor the maximal count.
The font scale of features and their count is proportional to the
ratio between the logarithm of the count and the logarithm of the size
of the extent, i.e., the number of objects in the extent. At the left
of the count, a background grey-level indicates the ratio between the
logarithm of the count and the logarithm of the total count of the
feature in the context: white means 100%, and dark means 0%. This
total count of features can be made visible over the background
grey-level by activating an option in the menu Browsing. If 2
features cover the same objects in the extent, a same color is used as
the background of their count (which are necessarily equal). Font
color, font scale, background grey-level, background count color are
activated by default, but can be desactivated in the menu Browsing.
The initial query is all so that the initial extent is the set
of all objects of the context. Then this query can be modified by
editing it in the query area, or by following navigation links. The
selection of a navigation link consists in defining a selection, and
then choosing a navigation mode. Querying by examples applies to an
object selection, and defines the new query as the conjunction of all
features that are shared by all selected objects. Pivot applies to a
feature selection, and replaces the query by the selection, hence
starting a new search from the features of the current concept view.
Zoom applies to a feature selection, and either specializes (zoom-in)
or generalizes (zoom-out) the current query. If the selection covers
all objects in the current extent, a zoom-out is performed, and the
query is generalized, hence a larger extent. Otherwise, a zoom-in is
performed, and the query is specialized, hence a smaller extent. The
transformation of a query by zoom is defined as follows. The current
query is split into a conjunction of simpler parts. If the selection
is a part of the query, it is removed from the query. Otherwise, every
part that subsumes or is subsumed by the selection is removed, and the
selection itself is added to form the new query.
The following is a navigation scenario, alternating queries and
navigation links:
-
all
zoom on Australia
- Australia
zoom on Animal or Plant
- Australia and (Animal or Plant)
zoom on not Portrait
- Australia and (Animal or Plant) and not Portrait
zoom on Australia
- (Animal or Plant) and not Portrait
zoom on Animal or Plant or Landscape
- not Portrait and (Animal or Plant or Landscape)
zoom on Animal
- not Portrait and Animal
pivot on date >= 2004
- date >= 2004
zoom on date <= 2007
- date >= 2004 and date <= 2007
Double-clicking on a feature is a shorthand for zooming on a feature
selection made of this single feature. Double-clicking on an object is
a shorthand for querying by examples on an object selection made of
this single object.
Each time a new query is defined, both navigation and extent windows
are refreshed, and it is added to the history of visited queries.
Users can move backward and forward like in Web browsers through
commands Back and Forward (available in the browsing menu,
and as buttons). The additional command Refresh enables the
refreshment of both navigation and extent windows when necessary. The
button Home leads directly to the most general query, all.
In order to accelerate the browsing of a context, there are
preselection modes that can be activated from the menu Browsing.
With Object preselection, whenever a set of features is selected
in the navigation window, the extent that would result from a zoom on
this selection is highlighted as a subset of the current extension.
This makes it possible to quickly see for any feature, which objects
in the extent belong to it. With Feature preselection, whenever
a set of objects is selected in the extent window, each feature in the
navigation window gets a background grey-level that is proportional to
the count of this feature in the object selection out of the count in
the current extent: white means 100%, and dark means 0%. This makes
it possible to quickly see for any set of objects, which properties
they have, and how frequent they are in the object selection. When a
single object is selected, it makes it possible to see the properties
of this object (background is white).
When expanding a feature in order to see more specific features,
default options are used. These options can be customized on each
feature by the command Expand... in the contextual menu. We now
describe these options and give their default value.
-
logical (vs. decreasing support) sorting of increments
(on): displays increments in logical order (lexicographic for
strings, numerical for integers, chronological for dates and times,
etc.) vs the decreasing count order.
- conceptual (vs. logical) ordering (off): the default
behavior is to display query increments that are maximal for the
subsumption (logical ordering). This option helps to reduce the
number of increments by displaying query increments that have
maximal extents (conceptual ordering). In particular it enables to
make apparent a hierarchical structure after it has been flatten.
- minimal support of increments (auto): specifies the
minimal support for a feature to be displayed. By default this
support is computed automatically so that the set increments under a
tree node has a reazonable size. When set to 0 it makes it possible
to see every existing features and descriptors (this is useful when
classifying new objects in existing classes).
- maximum number of increments displayed (15): the maximum
number of children features to be displayed. When there are more
children, only a subset is displayed (page), with controls to move
upward and downward in the list. The default page size is 15. If no
page size is given, the complete list is displayed (may be costly in
time).
Expanding options defined on some feature are inherited by
sub-features. Expanding options of the root (invisible) can be defined
though the command Browsing > Expand....
In addition to inserting and hidding features, users can customize the
tree of features by expressing axioms. An axiom is specified by
a pair of features (f,g), so that the first become subsumed by the
second. The support for axioms depends on the chosen logic, and
expressing an axiom may have no effect. An axiom (f,g) cannot be
removed directly, but only by stating an axiom (f,h) where h
subsumes g. The most common use of axioms is for building a taxonomy
of terms. The first way to state an axiom is by a copy and paste
mechanism available from both the contextual menu of the navigation
window, and the menu Logic: to state an axiom (f,g) first
select and copy feature f, then select feature g, and paste. In
order to state all axioms between 2 sets of features, simply selects
several features where relevant. When no feature is selected when
pasting, features from the current query are used instead. This is
useful when the subsuming feature is the root feature all as it
is not visible in the navigation window. The second way to state an
axiom is simply to drag and drop a feature on another feature.
Unlike hierarchies that are built top-down, taxonomies in LIS are
rather built bottom-up, i.e. from more specific to more general
features, because objects are described first, and classes emerges
from these descriptions. So a common operation is to join a set of
features under a more general feature. This is precisely what is
provided by the command Join... in the contextual and logic
menus: first select the specific terms, then apply the command Join..., which asks for a general joining feature.
4.2 The Extent Window
The extent window displays a partial list of objects in the current
extent. The reason for displaying only a partial list is that
displaying of very large extents is time-consuming and of no practical
use. The size of the current extent is visible at the top right of the
extent window, and the range of the displayed objects at the top left.
The arrows on both sides of these figures provides page-scrolling in
the extent: respectively from left to right, first page, next page,
previous page, last page.
The extent is split in two tabs. The tab Picto contains pictures
and photos, which are displayed by a thumbnail and a name. The tab
Texto contains other objects, which are displayed by a short
text. A contextual menu is accessible from the extent window with
operations applying to selected objects. The first commands are
possible actions on selected objects, and are based on their action
arguments (see Section 7). The last command provides
options on the extent window such as:
-
local objects only: only objects that have no more
property than specified in the current query are displayed,
- page start: offset of the first object to be displayed,
- page size: number of objects to be displayed per page.
The one but last command of the contextual menu, Intent, is an
additional navigation mechanism that allows to query a context from
examples. Given a set of selected objects this command sets the
current query to the conjunction of features that are common to all
selected objects. When applied on only one object, this can be
performed by double-clicking on it, and makes visible all its
descriptors in the navigation window.
Other commands are about updating objects, and are described in
Section 6.