Introduction
In Quelo's user interface (UI), a query is represented as a sequence of snippets of natural language text composing an English sentence, like the one shown below.

Some of the snippets, corresponding to classes and properties from the ontology, are active and allow to operate on the query. In order to distinguish them, active snippets are enclosed in boxes with rounded corners, having a light-blue background if the snippet corresponds to a class and a transparent one if it corresponds to a property.
Hovering
When moving the mouse on active snippets, the interface provides visual hints about the structure of the query, by highlighting snippets that are related with the one on which the hovering occurs. The highlighted region is different depending on whether the hovering occurs on a snippet corresponding to a class or to a property.


Insertion
When clicking on one of the triangles below the baseline of the query text, a
contextual menu shows new classes and properties that can be added
to the query in that point. Classes are shown in the upper part of
the menu and are marked with
; properties are shown in the lower
part of the menu and are marked with
.

The menu is organised in sub-menus, according to the taxonomic information defined in the ontology, from the most general options down to the more specific ones. The classes and properties shown in the menu are only those that are compatible with the current query and (possibly) non-redundant.
Selection
The selection is a special region within the query, composed of snippets corresponding to concepts and is initially empty. Snippets in the selection are displayed inside boxes with a dark-blue background and white text.

A snippet is added to or removed from the selection by clicking on it, which toggles the selection of that snippet on or off. The selection can be cleared by clicking on an empty point within the query area. When the selection is not empty, the triangles below the baseline are not shown, because insertion does not operate on the selection.
There are two shortcuts that allow to select related snippets at once:
- double-clicking on a snippet selects that snippet and all the adjacent snippets corresponding to classes;
- double-clicking on adjacent selected snippets also selects the snippets corresponding to classes that are highlighted when hovering.
Note that the above shortcuts clear the selection before selecting the clicked snippets and the related ones.
Substitution
Right-clicking on the selection triggers the display of a
contextual menu showing all the classes with which the selection can
be replaced in the current context. This menu is also organised in
sub-menus according to the taxonomic information in the ontology,
but differently from the insertion menu it only contains classes and
it is partitioned in three parts: in the middle are classes that are
equivalent to the selection, in the upper part classes that are more
general (marked with ),
and in the lower part classes that are more specific (marked with
).

When the selection is empty, right-clicking on a snippet corresponding to a class automatically selects that snippet and opens the substitution menu.
Sticky
Each of the active snippets corresponding to properties can be marked as sticky, which case the bubble enclosing it is has a solid dark border. Stickiness of a snippet can be turned on or off by clicking on the enclosing bubble.

Objects of all classes appearing between a sticky snippet and the next insertion point (i.e., triangle) are included in the answer to the query when this is executed.

Deletion
Clicking on the selection and dragging it outside of the query area results in the selected snippets to be removed from the query. The cursor shows a small red cross while dragging.

Deletion does not remove from the query selected snippets that are connected (see highlight) with non-selected snippets after them. In this case, the selected snippets are substituted with the most general class that can replace them in the current context.
For example, consider the following query and selection:

Dragging the selection above outside of the query area results in <a used car> being substituted with <a car> and no snippet being actually removed from the query. This is because the snippet <a used car> is connected to <a diesel> through the property <should run on>, but the latter is not included in the selection to be deleted.
Note that stickiness has no influence on whether snippets in the selection are removed or not from the query.