Saturday, October 20, 2007

Style and Ajax functionality update.


  • The search and browse sections of the site have been restyled, be sure to check it out (example links: , ATP catabolic process).
  • A new Logo has been put into place.
  • Javascript/ functionality has been upgraded.
  • xHTML markup has been improved, the site is not completely yet (which is hard to achieve for any site using AJAX), but steps have been made in the right direction.


The new style has actually already been in place for more than a week, the reason why this announcement comes with delay is that I experienced some unexpected problems with the Ajax functionality update. The script ran smoothly in Mozilla Firefox, but getting the script to run in Internet Explorer proved to be a debugging nightmare. At first I resorted to write plumbing code to meet crossbrowser inconsistencies, but soon enough I learned a valuable lesson that each Ajax programmer sooner or later learns:


"Rely on a javascript-library / framework instead of writing pathwork code, good frameworks take care of browser incompatibilities in a much more elegant way than one person could possibly implement."

For me, the holy grail has been JQuery. Not only does it smooth out the issues with Internet Explorer, you really can do more yet write less code. The methods I had been trying to implement that met crossbrowser differences or just were generally useful (importnode, clone, remove nodes, get elements by class name, ..) apparently also exist in JQuery, and on top of that their implementation is more elegant and functional than what I ever achieved. So JQuery, I'm officially a fan.



Also discovered another quite funny example of how semantics are missing from search engines (see also the earlier post 'why we need the semantic web'). The sequence Ontology has an entry called ''. One of our ontology widgets pulls images from google to match the concept, but in this case the results are not exactly as expected. Querying a search engine and finding results specifically on 'A Band' as in the 'dark-staining region of a sarcomere' instead of some music-playing people might not be that easy.

Sunday, September 16, 2007

minor application update

The web application has received a small update. Ontology information pages now display more details again (example: GeneOntology information page), this functionality had been broken by the code overhaul we performed this month. In addition we expanded the available namespaces with the sequence ontology, an ontology about gene sequence types and features. The sequence ontology contains 1311 concepts.

Monday, September 10, 2007

Why we need the semantic web

Two search strings with the same syntax can have dramatically different semantics. What if your looking for pages about a less popular topic which happens to share the same syntax as a highly popular yet 'totally irrelevant to you' topic? Finding what you need will take time and ingenuity. The newly introduced concept feeds (external feeds matching the concept of the given page), for example those associated with the concept page on Cells (in it's biological sense), demonstrate our dire need for semantically enabled search engines.

'Cell', as an English term, applies to a wide variety of concepts: 'cell' in the biological sense, 'cell' as in 'cell phone', 'cell' as in prison cell, 'cell' as in an aggregation of people, and many more including some combinatorial uses (e.g. a title for games, novels, etc). No search engine at the moment is capable of disambiguating between these different meanings and filter results accordingly. The books feed will display a novel by Stephen King, and a book about 9/11. The blog feed lists a police break-up of a Nazi-cell, many entries about cell phones and one about solar cells. The Digg news feed is again mainly about cell phones. Imagine if one of them offered the ability to filter results pertaining only to cell in the biological sense, you might imagine that becoming the next-gen search engine.
And that's exactly what ontologies do, provide a means for disambiguating syntactically equal but semantically different items. Ontologies tell you that there are in fact different concepts (owl classes), one being a designed artifact, another a part of an organism, yet another being a certain aggregation of people, etc etc which all share the same language term 'cell'. Knowing this is already half the work.

You could argue that dictionaries might point to you the different semantics as well, yet by browsing the ontology you have easy access along a variety of axes (horizontal & hierarchical) to a plethora of related concepts such as organisms and cell structures for cell in it's biological sense, telephony in the case of cell phones, social groups and people in the case of 'cell' as an aggregation of people.. you get the picture. When using an ontology as a backbone for indexing, you might be able to figure out which concept applies by examining the context in which it is found.

Tagging/Indexing with concepts, as opposed to language terms, might be a core requirement for future search engines.





Sunday, September 9, 2007

Concept Feed Widget, a new level of ontology interaction.

We are pretty excited about some new functionality we added to the Ontology Concept Information Pages. By selecting the appropriate tab button you can now retrieve a list of the most relevant Books, Blog entries and Digg news Items (of any) about the concept itself.
For a quick example: see Domain Ontology - Ontology Directory. This gives you some amazingly focused search results with only one handclick away.


The new Concept feed widget retrieving books about 'domain ontology'.

Monday, September 3, 2007

New OntologyOnline WebApp Version

A new version of the ontologyonline web application has been uploaded.

This marks the completion of the first phase of a major code overhaul. The most important result is that all ontologies now aggregate in one MySQl database.

The biggest change should be noted in the search results section. The search engine now mines all namespaces and the search output provides the ability to filter on both namespace and language (if the results contain terms from multiple languages). I'm hoping the transition went smooth, although a little hiccup here and there is not totally avoidable.


OntologyOnline Search Engine
Screenshot of the search engine in action.

About the search engine


The ontology online search engine differs quite dramatically from regular google/yahoo etc searches. Each ontologyonline web page is about one given unique ontology concept. In contrast to google/yahoo and similar search engines the search is not about retrieving relevant pages which contain the specified search string in text, but about retrieving exact concepts: As such our search engine attempts to match the search string against all names and synonyms (including different languages) of the concepts present in the knowledge warehouse.
If no exact match can be found, a list of partial matches (where the name or synonym contains part of your search string) will be displayed, in alphabetical order.

So if one for example wishes to search for neuroblast, the search string 'neuro' will yield partial matches for, amongst other, 'neuroblast'. Functionality of the engine is expected to increase/improve in the future.

Monday, July 16, 2007

Code overhaul

It's been quiet for some time on the ontology online newsfront, reason is that we are performing a major overhaul of the java code. Currently, each imported ontology for which the content should be preserved as is requires it's own database schema. This imposes some strong limitations, and we are therefore recoding to centralise ontologies to one unique MySQL database schema, this is done by implementing ontology-specific namespaces. It will open up a lot of exciting possibilities once finished (which may take some time). Some
results will be a greatly improved search engine, the possibility to offer a lot more content, etc..

Monday, June 25, 2007

A true semantic web application

OntologyOnline.org was launched in April 2007. It offers one of the first true semantic web applications (often referenced as web 3.0) by allowing users to interact with ontologies at runtime. Ontology Online's proper search engine crawls the available ontologies for exact phrases, but also synonyms and even word fragments, the querying ability is only limited by the content itself, not by the semantics.

As an example illustrating this, when searching organisms with the OntologyOnline search engine the search parameters 'velvet worm', 'spitting worm', 'onychophoran', or even the word fragment 'onyocho' will all lead to the same page describing the Onychophora(e.g. velvet worms) phylum.

The search engine is also accessible by means of a Google Gadget.