PIQ - A Tool for Querying SHOE

Introduction

The Parka Interface for Queries (PIQ) allows users to construct queries
graphically, and issues them to a
PARKA
knowledge base. When used with Exposé,
the interface gives users a new way to browse the web by allowing
them to submit complex queries and then open documents by clicking on the URLs
in the results.

PIQ Applet

This applet will connect you to a PARKA Knowledge Base that contains
knowledge gathered by Expos&eacute. Currently, this KB contains information on
four different computer science departments, but the most detailed
information is on the PLUS lab, its members, and their publications and
research. You may want to look at the
CS Department Ontology to understand the kinds of relationships
and categories you can query with.

This software is still under development. As such, it is subject to change
at any time. If you find any bugs or have suggestions for improvement, send
e-mail to Jeff Heflin.

An older version of PIQ for binary knowledge bases (those that only have
relations with two arguments) is available here.

Parka Interface Tutorial

Below is a short tutorial on how to use the Parka Interface. For a more
detailed description of its function see the Parka Interface Documentation

Press the button above. After a short wait, the Parka Interface window will
appear. In the status bar beneath the Menu, it should say "Finished Loading
nshoekb". To the left of this is a toolbar which consists of an arrow, a
box, a rectangle split into three parts, and a diagonal line. These tools are
used as follows:

Arrow: Used to select and move objects in the Query Window.

Box: Used to create new frame objects. These objects are
used to specify the constants and variables in your query.

Rectangle: Used to create new relations.

Line: Used to link a relation argument to a frame object. These
are used to assign variables or values to the arguments of a relation.

Below this area is the Query Window. This is a large white space and is used
to construct your queries. Below this is the Query Results window.

Creating a Query

To create a frame object, select the box tool. Now click in the query
window to place the new object.
Type a name for the object in the status box and press return. If you want
this object to represent a constant constraint on your query,
select the the check box to the right of the name. Note that when you do,
the object's corners go from rounded to square. This is because variable
objects have rounded corners and constant objects are rectangles.
Repeat this for each frame you wish to create.

To create a relation, select the rectangle tool. Click a location in
the query window to place it. A dialog window will display the list of
predicates you can use. Select one and press OK. In addition to the
relations loaded from the ontology, every Parka KB has a set of standard
relation. Definitions of these are given in the Standard
Relations section below.

To create an argument link, select the line tool. Click on one of the
squares of the relation and drag to one of the frame boxes that you
have created. Each relation square represents an arguments, the leftmost
is the first argument.

After all objects have been created and linked with the appropriate
relationships, select Parka, Submit Query from the menu bar. A Query results
window will appear, but you may have to enlarge it to get a better look
at the results (this can be done by using the square, white slider on the
left slide of the window). A separate row will be returned for each set
of variables that can be bound to the conditions specified in your
query. If you click on a row, the corresponding bindings will be shown
in the Query Window. If you double-click on a URL, a new browser window
will open, and the corresponding web page will be loaded.

Example Queries

Below are some queries you might like to try on the SHOE Knowledge Base:

Find all of the members of the Parallel Understanding Systems group.
Your query should look something
like this. When the results have been returned,
double-click on the URLs of the various members to see their homepages.

Find the titles and types of all Publications who's research topic is
SHOE. Your query should look something like this.
Once you have retrieved the results, click on some publications' URLs to
view them. If you structured your query as we did our example, take a look
at the type variable. This specifies exactly what kind of publication each is.
In fact, none of these publications were explicitly declared to be
Publications. Instead, this is inherited from the fact that they are
Specifications, Conference Papers or Software. That's why we have to use the
everyInstanceOf link between the constant Publication and the variable pub.