Version 19 (modified by nixdell, 9 years ago) (diff)


VIQUEN: A Visual Query Engine for RDF

VIQUEN is a graphical tool for semantic query construction, execution and visualization that is based on the IML data flow graph transformation language for manipulating RDF data. VIQUEN enables the formulation of queries using a set of graphical query components and GUI-based editing actions. The formulated queries are automatically compiled into the IML query language, before being executed over local or online RDF data sets. The RDF data set resulting from the IML query is then visualized as a graph.

For background information on IML, RDF, SPARQL and vSPARQL, please refer to the IML documentation, which may be found here.


VIQUEN has been implemented as a platform independent Java application. The GUI components of the system have been built using the Java Swing toolkit, and both the query builder environment and the visualization environment utilize the JGraph visualization library. After the queries have been compiled into IML, they are executed over online RDF data sets using the Java AMF connection protocol, which connects to the Query Manager server. The RDF data sets returned after executing queries are parsed using the Jena Framework for building semantic web applications.

Query-building Environment

The query-building environment is used to graphically formulate semantic queries. The user interface, shown below may be divided into four main parts:

  1. The toolbar and system menus
  2. The operation library palettes
  3. The main query-building workspace
  4. The query-building workspace outline

1. The toolbar and system menus

The toolbar and system menus have been designed to provide easy, single-click options for managing the workspace, including saving and loading queries, copying, pasting or deleting query operations, compiling queries into IML or changing the look-and-feel of the application. Several layout options have been provided which automatically structure the flow of the query operations in a space efficient manner. These may be accessed through the Diagram menu (Diagram -> Layout).

Several toolbar buttons have specialized query-building functionality. These include:
The data sources button: used to add, remove or edit the data sources and namespaces specified in the query.
The compile query button: used to automatically compile the query into IML and open the query execution environment.
The visualization button: opens the visualization environment in a separate window to enable the visualization of local RDF files.

2. The operation library palettes

The operation library palettes contain icons which represent query operations that may be added to the workspace. The query operations have been divided into five different palettes, with similar operations being grouped together. Operations are added to the main query-building workspace by dragging and dropping the appropriate icon from the relevant palette. Each palette additionally contains an Edge icon for adding directed edges to the data flow workspace.

The Extract palette contains shortcuts for the 5 Extract operations: Extract Edges, Extract Tree, Extract Reachable, Extract Path and Extract Recursive.
The Delete palette contains shortcuts for the 4 Delete operations: Delete Edges. Delete Node, Delete Property and Delete Tree.
The Replace palette contains shortcuts for the 7 Replace operations: Replace Edge Subject, Replace Edge Object, Replace Edge Property, Replace Edge Literal, Replace Node, Replace Property and Replace Literal.
The Where palette contains shortcuts for the 4 Where operations: Match Statements, Union Statements, Filter Statements and Optional Statements.
The Basic palette contains shortcuts for the remainder of the query operations: Start, Input, Output, Add Edges and Union Graphs.

3. The main query-building workspace

The main query-building workspace has been designed to take advantage of the data flow graph transformation style of IML. Each high-level query operation is represented in its own visual component. Components of the same type are the same color for easy identification. The visual components are then chained together, using directed edges, to compose the entire query.

A query must begin with a Start node, which indicates the point from which the system will start to compile the query. By positioning the Start node appropriately, different chunks of the query may be executed individually before combining them into a larger query. After the Start node, the query is defined by adding one or more subquery blocks to the workspace.

Each subquery block begins with an Input node, which defines the data sources to be used as input to the query.

A subquery block must end with an Output node, which specifies the output graph for the block. This output graph may easily be added to the list of potential input data sources by clicking on the "Add to data sources" button and specifying a name for the output graph.

Between the Input node and the Output node, a number of different query operations may be added. These are described in detail below. Explain collapse, expand, resize.

4. The query-building workspace outline

An outline of the main query-building workspace is provided at the bottom left-hand side of the screen, with a dark blue rectangle indicating the fraction of the workspace currently being viewed. The query workspace may be navigated by clicking and dragging on this rectangle.