Model Grower

The Usability Grower provides an interface to the Usability First HCI Glossary

To grow a model within the FOLDOC-generated ontology

Enter some words to 'grow': (separate with spaces, enclose multi-word nodes with double quotes)
Enter the distance to grow: (this is how deep the resulting graph goes)
Enter a minimum peerage: (this makes the graph smaller by removing nodes who have fewer than this number of peers in the original graph)
Output RDF Try and open in VLUM
Output Progress/Textual DOT
For example (or just use the default, but this is also interesting, not too big and shows the stemmer in action):
"declaratively languaged" executable
0.6
0

UPDATE!

Clicking 'Submit Query' will now scan the query and redirect you to a generated page that lists "close" matches to each of the query words in a table.
This is done first by analysing stem matchings (using the Porters stemmer) and then, if the first resulted in no matches, by performing a substring scan of nodes in the graph (indicated by '(deep)' after the row header).
You can then check any of the nodes in the table, followed by 'Generate Graph' to make the gif file
The first page should always appear in less than about ten seconds


What follows applies to the generated graph:

It takes a while for a few reasons:
- it needs to load the ontology (over 1MB)
- java is slow
- dot is complex (it has a lot of work to do)
- the gif generated is large

A Note about server load:

Part of the script is executed in Java.
On the ugrad machines, this means that it needs to be run on congoX (the dps don't let us ugrads run Java on black/white/shade/mono/grey for some reason). The shell script that the dps wrote to do this for us brings up a prompt saying
Are you sure you want to do continue connecting (yes/no)?
about 80% of the time, Which requires someone to physically type in "y-e-s-enter", and I haven't cracked this one yet (neither printf "yes\n" | java ... nor yes yes | java ... worked)
The current solution is to rsh into congoX manually.
Problem is now picking the X, because there's a chance that the X you pick will be down, overloaded or just not accepting connections.
Currently it's using congo4.. just because 2 and 3 were down when I wrote this, and 1 was down yesterday.
If you get no response after a couple of minutes, chances are the currently enabled congo is down or something like that.

A Note about query matching:

The system currently relies on exact matches (including case) to find the query nodes. If you get a blank image, then none of the strings in the query could be matched. If some of the nodes are missing, then either they were not matched, or they were filtered out by the minimum peerage parameter.

A Note about query size:

Keep in mind that the number of nodes in the original output graph (before being subjected to the minimum peerage) is exponentially proportional to the depth. So if depth=1.0 results in 50 nodes, then depth=2.0 might result in around 2500 nodes, for which there is no chance of generating a legally dimensioned gif. The actual result is less due to the ontology being a graph, rather than a tree, and its scope.
For example, using the query "SQL":

depth=0.5    29 nodes    34 edges
depth=1.0   733 nodes  1686 edges
depth=1.5  5157 nodes 18336 edges
depth=2.0 10761 nodes 35976 edges

Note that dot will happily output a gif with illegal dimensions (even if it takes a year) - sometimes a browser will display a screenfull and then crap itself, either showing something completely black or reporting an error. Check the dimensions in the title bar. You may be able to save it and open it somewhere else, but you're probably better off just decreasing depth or increasing peerage.

If you want to see what it's doing up to the point it sends it to dot, submit the query, press stop, then replace "quickdot.cgi" in the address with "dottext.cgi".
Depending on your browser, this may or may not show the loading progress (10%...20%...etc...100%).

This version should never take longer than about 30 seconds to complete.
If the query size is more than about 100 nodes, try increasing the minimum peerage.
If the dot output is too large then either dot won't cope, or the gif it makes is really big and takes ages to download.