The Firefox LSID Browser

Exploring the world of semantic web one URI at a time.

What is this?

This is a Firefox extension that demonstrates the use of LSID links.

The LSID Browser enables Firefox so that it recognizes LSID links within web pages. Imagine someone sends you some information on a species scientific name. With this extension, Firefox will understand this link as an LSID and start to resolve all the related information that this LSID refers to and display it. Of course, within this data, there may be other LSID links. You can now start to browse around a potentially huge biological information space using LSIDs.

Installing

First download the LSID Browser extension from the project download page.

You will probably see a bar pop up saying that Firefox is prevented the install…

The Firefox security pop up

The Firefox security pop up.

If you do, click Edit Option… then Allow in the dialog that pops up before trying again.

The Allowed Sites dialog

The Allowed Sites dialog.

Firefox understands what to do with an xpi file and you should see a dialog like this where you can click on the Install button.

The Software Installation dialog.

Now restart Firefox so that the extension is fully loaded. You will now be able to browse LSIDs, as explained below.

Using

With the LSID Firefox extension, LSIDs work just as URLs do. Any LSID prefaced by lsidres can be resolved by typing it into the navigation bar, clicking on bookmarks, or clicking on links. After clicking on an LSID link, bookmark etc, the Browser will enter LSID Browser mode, and start resolving that LSID.

Resolving a scientific name information using the LSID Browser

Resolving a scientific name information using the LSID Browser.

Once resolved, the resulting metadata for that LSID is displayed. By default, the metadata is shown in a easily readable view as well as its native format.

Links are provided to save any data or metadata provided by this resolved LSID. If you want to view the entire resulting RDF source in a separate window, then use the Show Metadata link.

The save data or metadata links

From here, one can continue to browse LSIDs or URLs by clicking on any of the links, or copy relevant data or metadata to disk. You can click on the dark arrows to show hidden metadata such as the one to the right of the versionedAs node.

When clicking on the Save Data or Save Metadata buttons in the upper righthand corner, the Firefox save data dialog will pop up so you can choose a directory and a filename, and save as you would any other downloaded file.

The first time you use the Firefox LSID Browser it will need to create a cache directory. By default, it will find the same directory Firefox uses for temporary files, then create a subdirectory LSID to store files in. Before creating this cache location, you will be prompted.

If the location looks good to you, click on Ok. Otherwise choose Cancel and be sure to configure a cache directory before continuing.

Tweaking

While the LSID Browser should work with the default configuration, there are a few features that can be configured manually if desired. The configuration dialog for the LSID Browser can be accessed in one of two ways. The first is to click on the triangle-shaped drop down in the upper righthand corner of the LSID Browser, and choose Configure. The second is to go to the Firefox extensions menu (Tools->Extensions) and either click on the LSID Browser or choose preferences from the right click menu.

The general configuration pane

The first tab in the configuration pane, shown here, is for general configuration of the LSID extension. Right now that includes two things: viewing preferences and the cache.

The three viewing preferences include viewing the resulting RDF, monitoring the resolution, and the use of “shortnames”.

By default the pane that shows the native RDF of a resulting LSID resolution is displayed. You can turn this off by un-checking the View rdf pane option.

The pane that displays the resolution process is a frame at the bottom of the LSID Browser. This displays status updates and error information as LSIDs are resolved. If you want to watch the status of your downloads, or see detailed error messages, you can check the View resolution process box and then next time you refresh the LSID Browser, this pane will be visible.

The "shortnames" option will save you screen space by using the short form of URLs and LSIDs. Since the relevant information is often the last set of characters, if you have the Use shortnames wherever possible box checked, the LSID Browser will only display what is beyond the final <code>/</code> for URLS and the final <code>:</code> for LSIDs. For example, the URL http://www.w3.org/2002/07/owl#comment will display as comment.

The other option in the general pane is for cache configuration. They currently include a button to clear out the cached RDF files, a text box to determine the cache location, and an expiration time for cached files. You can set the cache directory to any location you have or can have write access to, though if the directory does not yet exist you will be prompted before it is created.

The network configuration pane

The next tab in the configuration pane is the network pane, shown here. It determines how LSID resolutions are done. As mentioned in the Frequently Asked Questions, the DNS resolution is a bit of a hack, so if you prefer to skip that step entirely (which is not recommended) you have the option to do so. Alternately, and more useful, you can create specific mappings for individual authorities. For example, if you were running a test or proxy LSID server on your local machine, you could create a mapping so that the LSID Browser could find this server. You just click new, set the authority to your test authority (say, <code>myauthority.org</code>), set the mapping to the location of the authority wsdl (perhaps <code>localhost/authority/</code>) and hit Ok. From this point on, any LSIDs starting with <code>urn:LSID:myauthority.org</code> will skip the DNS resolution step and go directly to the URL of the authority you specified.

The RDF configuration pane

The RDF pane, shown here, determines how the LSID Browser should display RDF metadata. RDF metadata can form richly connected graphs, but the LSID Browser shows RDF in a tree-like structure. It does this by picking a set of root nodes - important nodes such as the LSID - and walking the graph from those nodes, displaying all of the relevant links. The max depth variable lets you choose how many steps from the root nodes will be calculated and rendered by the LSID Browser. Higher values may give you more metadata, but can also slow down load and render time. The root nodes box lets you choose your own types which are important, and that you wish to see as root nodes.

Troubleshooting

“I can't get into LSID Browser mode”
If the lsidres protocol does not work, make sure you have the latest jslib extension installed, and that you do not have the LSID extension written by Roderic Page: the former is required and the latter incompatible. You can see which extensions are installed by looking at the Extensions dialog (Tools->Extensions)
“I see the LSID Browser but internal LSIDs will not resolve”
Because there seems to be no simple way to get Firefox to do DNS SRV lookups, the DNS resolution step is a bit of a hack. For now, there is a webservice up at biopathways.org to do the dns resolution step, which means that LSIDs which can't be resolved by the biopathways dns server will not work by default. To override that, one can set default mappings from a given authority to a given endpoint, as outlined in the configuration section.
“I see the LSID Browser but no LSIDs will resolve”
Well first, check to make sure you have an internet connection - caching is not yet as useful as it is for the COM based extension. If things are still not working, check to see if biopathways is up, and then if the given authority is working. If none of this works, feel free to ping the author (alyssaw_AT_us.ibm.com) with any error messages that turn up on the pane displaying the resolution process.
“I have some other issue/bug/feature request”
If you have a question that's not answered here or if you have a bug to report, go ahead and ask the LSID developer list or ping the me directly (alyssaw_AT_us.ibm.com) - I'll try to keep this section up to date. For features, there is a feature list in CVS but I'm much more likely to work on something if I get feedback that it's wanted and useful, so feel free to drop me a line.
“I can't see all of my RDF in the user friendly view”
This is due to a bug in how Firefox handled certain types of RDF nodes (anonymous nodes). This has been fixed in the Firefox code base, and should work correctly in upcoming releases.

Frequently Asked Questions (FAQ)

“Are there any conflicting extensions?”
This LSID plugin will not work with the extension by Roderic Page, as both have the same protocol handler.
“How do you get Firefox to lookup DNS SRV records?”
I don't. I've not figured out a way to get Firefox to do DNS SRV lookups so the DNS resolution step is a bit of a hack. For now, we have a webservice up at lsid.tdwg.org to do the DNS resolution step. To override that, one can set default mappings from a given authority to a given endpoint. I don't foresee real DNS lookups occurring in the near future but I could allow configuration so that folks can choose their own dns webservice.