How to use the Tabulator

This is one possible form of a data browser. It is only one way of looking at the semantic web, just as a refridgerator is just one way of using electricity.

It works on Firefox, may be bugs on other platforms. Some weird bug on Sarfari, may be mine not theirs. Not tried with IE.

Usage

Key: expand expand, collapse collapse, fetch Click the dot to fetch data. requestedloading.... failedFailed to fetch data. loaded Data loaded OK.

Anywhere you see a blue dot, you can try to load data about something from the Web. The blue dots turn yellow when data is being retreived, and then green when it has been, or red if an error occurred. You typically start by clicking on a blue dot to get information about something. This may pick up information about other things too. When the dot has turned green, you can expand it.

You navigate around between different concepts by expanding anything into a list of things it is related to. The usual expand expand, collapse collapse signs do that.

Once you have loaded a data source, the green dot generally won't be displayed again as you explore. A list of data sources, accessible and not, is kept at the bottom of the browser.

Re-focussing

When you have browsed a way, the tables within tables quickly get quite deep. You can clean it all up, refocussing on one item by shift-clicking on its expand expand or collapse collapse icon.

This throws away everything outside the item, and leaves you with the item as the top thing you are browsing.

Seeing the URI

The point a browser is to give you the data without the URIs used as identifiers. They are hidden whenever there is a label, title, or name of some sort which can be used for something on the screen.

To see something's URI, click once on a table cell and (if appropriate) the URI of the thing described in the cell will be put in the URI bar at the top.

Starting a new outliner

Double-click on any cell describing something, and a new cell will be placed at the bottom of the browser area. You can click on this then to expand it into a whole new browser.

You can use this for investigaing properties, too. Just double-click on the field name in the outline view.

Tablulating data in columns

As you explore open out the outliner in specific areas, you may be exploring one example of many objects. When you have found the sort of data you are looking for, but want to seee it as relational table:

  1. Select the properties you are interested in by clicking on the field name (not the field value). Hold down the Alt key when you click to select or deselect individal field names.
  2. Click on the button "Tabulate selected fields"

A table view appears with columns for the fileds you had selected, and also automatically inserted are the branches in the tree which connect them together.  If, for example, you ask for the phone number and parent's phone number of your friends, you will get a column for the friend and the parent too.

You can sort the table by clicking on the column heading of the column to sort by. Click again to sort in the opposite order.

This bit is very much work in progress just now!!

Security and browsing different sites

Firefox security won't in general let a script from a given DNS domain (like www.w3.org) read web data from a different domain. To change this,

  1. Type into the main browser URI bar "about:config" and hit return to get to the config page.
  2. Scroll down to the line which says
    signed.applets.codebase_principal_support ... user set ... boolean .. false
    and double-click it to change it to 'true'.
  3. Go back to the tabulator, and try again. When the browser asks you whether to allow the script to access arbitrary web pages, agree. You probably want to check the "remember the answer this question" box.

Note that this is reducing the security of your browser. You end up allowing any web page on the site to read data from the web, which could include data from inside your firewall.

(Alternative method: Quit Firefox and then find your prefs.js file and add to the bottom of it the line

user_pref("signed.applets.codebase_principal_support", true);
On Mac OS-X the file will be in somewhere like /Users/timbl/Library/Application Support/Firefox/Profiles/mxotp788.default, and in Windows in an equivalent place. Then, run Firefox and the tabulator again, and answer the dialog box as above.)

(Why this problem? The tabulator program is acting as your agent as you browse data, but the Firefox program doesn't know that you can trust it. It could be just a script on some webpage you are browsing, and it could be trying to get information which only you have access to and send it to a third party. It turns out that it is really difficult to stop such a script sending messages out in some form, so Firefox security prevents it from accessing anything on the web to which you have access to, unless it on the same DNS domain as the script itself. This is not a very good system, as many web sites which do not trust each other share a domain name. But that is how it is. A better way is for the scripts to be signed, but I haven't got the script signing system working yet)

See also Mozilla/Firefox documentation on See also Customizing and Signed scripts.

"Script is taking a long time" alerts

While you are adjusting the Firefox parameters, you may wish to increase the dom.max_script_run_time value. The default seems to be 5 (whcih seems to give in practice around 10 secs) of time in between Firefox asking whether it is Ok whether the script is still running. This happens when loading large RDF files. Try 30 or adjust to taste.

Limitations

This is a very simple unoptized javascript implementation, so it will tend to be slow with large files. If you get a message that a script is taking a long time, you have a choice of letting it run or aborting it. This is a firefox feature, I don't know how to turn it off.

This is a proof of concept program, many user interface things are missing, for example from the table view.