LOGO: Logics for Ontologies
LOGO is an EPSRC funded Senior Fellowship.
Ontologies help both humans and computer applications to communicate by providing a vocabulary of terms together with formal and computer-processable descriptions of their meanings and the relationships between them. They play a major role in the next-generation World Wide Web (known as the Semantic Web), where they are used to describe the content of Web resources, with the aim of both improving search for human users and making it easier for computer programs to exploit the vast range of information that is available on the Web. Ontologies are also widely used to define specialised vocabularies for use in medicine, biology and other scientific disciplines.
Ontologies are usually developed by human experts, but even for experts the job of defining all the relevant terms is a difficult and time consuming one. It is therefore important to provide "intelligent" tools that support ontology designers. For this reason, many ontology languages, including OWL (the standard language used for Semantic Web ontologies), are based on logics. This provides a formal specification of the meaning of the language and allows tools to use automated reasoning systems, e.g., to check that interactions between descriptions do not lead to logical contradictions. Reasoning systems are also useful when ontologies are deployed in applications, where they could be used, e.g., to determine which Web pages match a search request that uses terms defined in an ontology.
The central role of ontologies in the above mentioned applications brings with it, however, requirements for expressive power and reasoning support which are beyond the capabilities of existing ontology languages and reasoning systems. For example, OWL cannot express the fact that the brother of a persons father is also their uncle, and even for OWL, no practical reasoning system is yet available. Moreover, existing reasoning systems often have difficulties dealing with the very large ontologies that are needed in many realistic applications. The research being carried out in this project aims at bridging this gulf between requirements and capabilities; its ultimate goal is the development of logics and reasoning techniques that that will form the foundations of the next generation of ontology languages and reasoning systems.
The research programme is made up of three complementary strands. The first strand focuses on existing ontology languages, and the logics on which they are based. The aim is to devise principaled extensions of these ontology languages that meet expressive requirements that have been identified in application areas such as medicine and the Semantic Web.
The second strand focuses on implementation techniques for existing ontology languages and for extended languages developed in the first strand. The aim is to develop scalable reasoning systems to support both the design and deployment of ontologies in large scale applications.
The third strand focuses on very expressive ontology languages. These languages are based on logics where it is known to be impossible to build a reasoning system that can solve any problem, e.g., one that is guaranteed to detect all possible contradictions. The aim is to develop reasoning systems that will still be able to efficiently solve the vast majority of problems derived from the use of ontologies in applications.
Finally, in order to ensure that the logics, algorithms and reasoning systems being developed really do meet application requirements, they will be tested and evaluated in cooperation with ontology designers and developers of ontology based applications.