login  home  contents  what's new  discussion  bug reports     help  links  subscribe  changes  refresh  edit

TouchGraph is a graphical web page navigator.

Quick Tutor

  • Click on navigator to open (if it is not already open) a sub-window (called a frame) containing a graphical representation of links between all the web pages in this wiki. The graph sub-window appears at the top of the screen.
  • This is a "frame" layout, so you can do things like change the size of each window by using the mouse to "drag" from border between windows to be the size you like. If you are using a Mozilla 1.1 or later compatible browser, you can even change the frame containing the graph to a tabbed window, or a detached separate window.
  • Moving the mouse to the graph window, clicking and hold down the mouse allows you to drag the contents of the window so you can see more of what you want to see.
  • Clicking on a node in the graph loads the wiki page with that name in the windows below.
  • You can also point at and drag a node on the graph to change it's shape. The graph responds like it is a "network of springs" and balls with each ball repelling the others with a little imaginary force. By dragging pieces of the graph around you can cause it to be rearranged into a shape that you like better. Don't be afraid to experiment! With a little practice you will find this very easy to do.
  • The scroll bar across the bottom of the graph window changes the scale

How it Works

The graph is built automatically by the interface to TouchGraph based on the Axiom Algebra Database. I hope to get some help from other people to complete this Project to convert the algebra pamphlet and spad files to FriCASWiki page format.

The url:


will start the Axiom wiki with a graphical "navigator" in the top panel. Later you will probably want to increase the size of the panel containing the graph. You can do this by positioning the cursor just under the top horizontal slider bar until you see the cursor change to a up-down arrow. Hold the left mouse button down and drag the border down to make the top panel bigger.

Double-clicking on a node of the graph in the upper panel will cause the contents of the lower panel to change. You can also use a "right-click" on the node to hide, expand, re-center etc. the node. You can click-and-hold a node to drag it to another part of the panel. The graph will respond like a network of springs with the edges stretching and then relaxing into a new shape. Clicking and holding somewhere else on the upper panel other than a node will "drag" the whole graph up-down or left right so that you can pan into a new area. The slider bar at the bottom of the top panel changes the scale. It takes a little practice to play with this, but it is rather fun!

Now do a search for say, semigroup by typing that word in the box at the to right of the lower panel. Pressing Enter will perform a search for any pages contain the word. Click on the link labelled SemiGroup under the heading Page Names.

Notice how the graph in the top panel changes - re-centering on the page that you selected. One of the prominent features you will notice right away is the Integer node with what seems like a "pin-cushion" of links surrounding it. Since this is detail we don't need right now, use a "right-click" on the Integer node to hide it. Now you will see a reasonable sized graph centred on the SemiGroup category. The graph displays the relationships between the other categorys, domains and packages "near" SemiGroup?.

The links between the nodes are build automatically by parsing the autoloading messages generated by the Axiom compiler. Some of the nodes will also be "documentation" nodes as well as the library code nodes themselves. Documentation nodes can make reference to different parts of the graph and serve as a further add to navigating the structure.


When you have a moment, take a look at this example

I am very impressed with the ability of this user interface

to present very complex subjects.

For the last several months I have been very interested in the Zope application development environment

Recently I also became aware of "LatexWiki"

see also example at

Taken together, I have the strong feeling that all of these "technologies" provide exactly the kind of long term (30 years?) development environment that is needed for Axiom and for large scale computer algebra systems in general.

Originally I had been very interested in mathematical document software with a computer algebra interface such as OldTeXmacs (http://www.texmacs.org). This might be a fairly good alternative to the old Axiom HyperTex? interface but this does not really address at all the larger issues that you raised in your email last December

I would be very interested to get reactions to this (what must seem rather radical) suggestion.

Regards, Bill Page.

-----Original Message----- :

  From: zwiki-wiki@zwiki.org [mailto:zwiki-wiki@zwiki.org] 
  Sent: Saturday, April 03, 2004 10:51 AM
  Subject: [GeneralDiscussion] TouchGraph ZWiki Navigator

I'm currently trying to figure out a good way to package an applet I've cobbled together from the TouchGraph app and some ZWiki, python and HTML hacks. If anybody's interested, I've published a working example on WikiLiver? and I'd really appreciate any ideas on how I could package it so that others can try it out on their ZWiki installations.

-- forwarded from


touchgraph implementation, how? --Jariell a. Perlman, Tue, 11 Jan 2005 19:31:17 -0600 reply
I am curious how you implemented touchgraph into your wiki. I have been looking to do this myself. I would like to have the touchgraph updated automatically while I add pages to the wiki. It seems very nice what you did.

Have you taken a look at Hypergraph. It is also an interesting way of displaying link graphically on your wiki.

My questions is, is your site a wiki? And if so, how you managed to include touchgraph into it as a sub frame?

I would like to be able to do this myself with my own personal wiki. I was thinking of using the touchgraph link browser to manually add the URLs? to my wiki and navigate the wiki from the touchgraph link browser. But after seeing that you were able to integrate touchgraph into your website, your method seems much nicer.

I am curious if the pages are added automatically to touchgraph when you add a page t your wiki, or do you have add each page manually?

Sincerely Jariell a. Perlman

touchgraph implementation, how? --Bill Page, Tue, 11 Jan 2005 20:00:54 -0600 reply
I am curious how you implemented touchgraph into your wiki.

I followed the excellent recipe described here:


with only a few minor tweeks.


No. Where can I find it?

is your site a wiki?

Well, yes of course!

how to include touchgraph into it as a sub frame

All is explained at the above link.

are pages added automatically to touchgraph when you add a page to your wiki

Yes, it is entirely dynamic.

Hypergraph --Bill Page, Tue, 11 Jan 2005 20:33:46 -0600 reply
I found it here:


Yes it does look neat and quite relevant to what we are doing in MathAction.

Thanks for the reference.

  Subject:   Be Bold !!
  ( 12 subscribers )  
Please rate this page: