Article Preview
TopIntroduction
During the past years, ontologies have been used in information sources for numerous purposes, such as annotating resources for better information retrieval, integrating data from different sources and systems, and automatically coupling intelligent agents. In most of those fields, ontologies are used on the information source and the business logic layer, and thus hidden “under the hood”.
One of the most complete surveys of using ontologies in software engineering is probably given by Ruiz and Hilera (2006). The authors have analyzed more than 50 possibilities of employing ontologies in software engineering, only two of which target at user interfaces. Heitmann, Kinsella, Hayes, and Decker (2009) have presented a survey on applications using semantic web technology and, not much surprisingly, they found out that more than 90% of those applications come with a user interface. The survey, however, contains only little information about how the employment of semantic web ontologies influences the provided user interfaces.
In this article, we want to shed light at this area and take a closer look at the various possibilities of enhancing user interfaces with ontologies. We have reviewed various projects and identified a number of purposes for which ontologies can be used on the user interface layer, e.g., adapting UIs to a user’s needs, or providing input assistance. Each of those purposes poses particular requirements to the ontologies and their use in the application. So far, no structured review of those requirements and approaches has been performed. To summarize these approaches, we prefer the more general notion ontology-enhanced user interface instead of ontology-driven user interface, as sometimes used (e.g., Paton et al., 1999; Visser & Schuster, 2002), since ontologies may also be employed to provide one single functionality in a larger user interface (and thus enhance the user interface) without being the key element driving the user interface. We propose the following definition:
Defintion: An ontology-enhanced user interface is a user interface whose visualization capabilities, interaction possibilities, or development process are enabled or (at least) improved by the employment of one or more ontologies.
According to this definition, we have looked at projects where the development process and/or the usability of a user interface has been improved by employing ontologies. Applications such as pure ontology editors or viewers thus are out of scope here, since the ontologies do not improve the user interface in these cases – in these applications, ontology engineering itself is the purpose, not a means to enhance the user interface’s capabilities.
While this definition is quite broad, it does not encompass every application using an ontology. There are many applications that use ontologies internally – e.g., for integrating different information sources, or for enabling information exchange with other systems – where the fact that an ontology is used in a particular place does not have any effect on the application’s user interface. Furthermore, there are applications providing functionality which are implemented with ontologies, and the applications’ user interfaces grant access to that functionality – however, in these cases, the user interface as such is not directly influenced (let alone improved) by the employment of an ontology. In contrast, we concentrate on applications of ontologies that directly improve user interfaces or their development.