IBM®
Skip to main content
    United States change      Terms of use
 
 
Select a scope:    
     Home      Products      Services & industry solutions      Support & downloads      My account     
alphaWorks   >  Research topics    >  Semantics  >  

What is ontology? Frequently asked questions


Related content
Download Ontology Management System
Download IBM Integrated Ontology Development Toolkit
Download Ontology-based Web Services for Business Integration
Introduction to semantics
W3C Semantic Web recommendations
Return to Semantics emerging topic

1. General

1. What is an ontology, in the context of computing?
2. More precisely, what are components of an ontology?
3. Why is ontology important in computing?
4. Why would someone want to develop an ontology?
5. How do developers start to work with ontologies?
6. What is a knowledge engineering methodology for developing an ontology?
7. What can ontologies be used for?
8. What are ontologies not good for? What are limitations of ontology?
9. How is ontology different from expert systems and other AI technologies?
10. How is ontology different from database?
11. How is ontology different from object-oriented modeling?
12. Are there any ontology standards?
13. What else is going on for ontology standards?

2. Ontology Specification Languages

1. How is OWL different from earlier ontology languages?
2. Who is implementing OWL tools and applications?
3. Are there OWL ontologies available already?
4. What does OWL add that RDF Schema doesn’t?
5. What is the difference between RDF and XML Schema?

3. Ontology Management Systems

1. Are there any tools for ontology design and management?
2. What is an ontology management system?
3. What is in the Snobase Ontology Management System?
4. What is the JOBC API and what does it do?
5. What does the Ontology Directory do?
6. What does the Inference Engine do?
7. What does the Query Optimizer do?
8. What does the Ontology Source Connector do?

4. Ontology Query Languages

1. What query languages does the Snobase Ontology Management System support?
2. What is RDQL (RDF Data Query Language)?

1. General

1. What is an ontology, in the context of computing?
Although the concept of ontology has been around for a long time in philosophy, in recent years it has become known in the computer world as a machine-readable vocabulary that is specified with enough precision to allow differing terms to be precisely related. More precisely, the operational definition of an ontology from the OWL Requirements Document is as follows: "An ontology defines the terms used to describe and represent an area of knowledge." Ontologies are used by people, databases, and applications that need to share domain information (a domain is merely a specific subject area or area of knowledge, such as petroleum, medicine, tool manufacturing, real estate, automobile repair, financial management, etc.). Ontologies include computer-usable definitions of basic concepts in the domain and the relationships among them. They encode knowledge in a domain and also knowledge that spans domains. In this way, they make that knowledge reusable.

2. More precisely, what are components of an ontology?
An ontology comprises a formal explicit description of concepts (often called classes) in a domain of discourse, properties (sometimes called slots) of each concept describing various features and attributes of the concept, and restrictions on properties (sometimes called facets). An ontology together with a set of individual instances of classes constitutes a knowledge base. In reality, there is a fine line between where the ontology ends and the knowledge base begins, and a fine line between a class and an instance. Classes are the focus of most ontologies. Classes describe concepts in the domain. For example, a class of wines represents all wines. Specific wines are instances of this class. The Bordeaux wine in the glass is an instance of the class of Bordeaux wines. A class can have subclasses that represent concepts that are more specific than the superclass. For example, we can divide the class of all wines into red, white, and rosé wines. Alternatively, we can divide a class of all wines into sparkling and non-sparkling wines.

3. Why is ontology important in computing?
Ontology shows enormous potential in making software more efficient, adaptive, and intelligent. It is recognized as one of the areas which will bring the next breakthrough in software development. The idea of ontology has been welcomed by visionaries and early adopters. For example, ontology has been used in medical informatics studies, and the community produced popular tools such as Protégé ontology editor. However, it has failed to appeal to the majority users of the mainstream, at least until recently. It is said that the idea was too arcane for ordinary folks to understand. There is no standard way to do things with ontology, but so many different proprietary ways. There were not enough tools for programming ontologies and managing various aspects of the life cycle of ontologies. Recently, however, the semantic Web initiative lead by W3C has changed the ontology landscape completely. Through the initiative, researchers and developers join forces to provide standard semantics markup languages based on XML, ontology management systems, and other useful tools. Also, the Web provides interesting applications of ontology critical to daily life such as search and navigation. In addition, people rediscover the value of ontology in other important applications such as information and process integration. Ontology is now poised to cross the technology chasm and fight its way into the mainstream.

4. Why would someone want to develop an ontology?
An ontology helps make software more efficient, adaptive, and intelligent because it allows:

  • Sharing of common understanding of the structure of information among people or software
  • Separation of domain knowledge from the operational knowledge
  • Making domain assumptions explicit
  • Reuse of domain knowledge
  • Analysis of domain knowledge.

5. How do developers start to work with ontologies?
There are two aspects to start with: the technology aspect and the business aspect. Developers should take care of the business aspect first. They should work with business users to understand their problems and think about how semantics can help solve the problems and how it can bring in value. There are a number of problems ontology solves particularly well, such as problems with information integration, model transformation, translation, data cleansing, search, navigation, text understanding, document preparation, speech understanding, “active” menus and forms, question-and-answer issues, etc. Additionally, developers should consider whether there are other innovative ways of using ontology for solving their problems. Once developers are comfortable with the value ontology brings in, they can go ahead and populate the ontology for the solution. There are standard semantic markup languages recommended by W3C, such as RDF (Resource Description Framework) and OWL (Web Ontology Language). There are also a number of tools based on the languages available for ontology population, integration, reasoning, and management. In addition, there are APIs and ontology management systems such as IBM’s Snobase; these help in easily incorporating ontology into the current development efforts.

6. What is a knowledge engineering methodology for developing an ontology?
First, there are some fundamental rules in ontology design. These rules may seem rather dogmatic. However, these rules can often help in making design decisions:

  • There is no one correct way to model a domain – there are always viable alternatives. The best solution almost always depends on the application that you have in mind and the extensions that you anticipate.
  • Ontology development is necessarily an iterative process.
  • Concepts in the ontology should be close to objects (physical or logical) and relationships in your domain of interest. These are most likely to be nouns (objects) or verbs (relationships) in sentences that describe your domain.

Deciding what we are going to use the ontology for, and how detailed or general the ontology is going to be, will guide many of the modeling decisions down the road. Among several viable alternatives, we will need to determine which one would work better for the projected task and which one would be more intuitive, more extensible, and more maintainable. We must also remember that an ontology is a model of reality and the concepts in the ontology must reflect reality. After we define an initial version of the ontology, we can evaluate and debug it by using it in applications or problem-solving methods or by discussing it with experts in the field, or both. As a result, we will almost certainly need to revise the initial ontology. This process of iterative design will likely continue through the entire lifecycle of the ontology.

In practical terms, developing an ontology includes the following:

  1. Defining classes in the ontology
  2. Arranging the classes in a taxonomic (subclass–superclass) hierarchy
  3. Defining properties and describing allowed values for these properties
  4. Filling in the values for properties for instances
  5. Creating a knowledge base by defining individual instances of these classes, filling in specific property value information and additional property restrictions.

7. What can ontologies be used for?
The Web Ontology Working Group at W3C identified major use cases of ontologies [16]. Also, a survey of implemented applications was made with about 25 deployed systems identified. The Working Group identified the following ontology application categories:

  • Controlled vocabu lary
  • Web site or document organization and navigation support
  • Browsing support
  • Search support (semantic search)
  • Generalization or specialization of search
  • Sense "disambiguation" support
  • Consistency checking (use of restrictions)
  • Auto-completion
  • Interoperability support (information/process integration)
  • Support validation and verification testing
  • Configuration support
  • Support for structured, comparative, and customized search

8. What are ontologies not good for? What are the limitations of ontology?
One theoretical foundation of ontology is logic, more specifically, Description Logic for OWL (Web Ontology Language). That is, the ontology technology belongs to symbolic computation, as opposed to procedural computation, and that’s where it brings value to solving problems with automated reasoning and inference. It is not meant to replace various software technologies in the procedural computation category, such as Java, SQL, data mining, statistics, etc. Instead, ontology brings most value when it is used in combination with such procedural technologies. For example, ontology cannot replace data-mining algorithms based on pattern matching or statistical techniques. However, it can help make data-mining procedures more efficient, adaptive, and smart by externalizing and organizing domain knowledge the data-mining algorithms use in ontological models. For another example, ontology cannot replace software-engineering technology using object-oriented analysis and modeling. However, it can help software-engineering tools validate the generated models by externalizing and organizing metadata of the models in ontological models. For yet another example, ontology is not meant to replace database technology for storing large-scale data sets. However, it can be used with databases to provide a conceptual view of various data sources scattered in a number of databases with an ontological model, and virtually integrate (federate) the data sources without replicating data instances.

9. How is ontology different from expert systems and other AI technologies?
For the semantic web and modern ontology technology to function, computers must have access to structured collections of information and sets of inference rules that they can use to conduct automated reasoning. Artificial Intelligence researchers have studied such systems since long before the Web was developed. Knowledge representation, as this technology is often called, is currently in a state comparable to that of hypertext before the advent of the Web: it is clearly a good idea, and some very nice demonstrations exist, but it has not yet changed the world. It contains the seeds of important applications, but to realize its full potential it must be linked into a single global system. The OWL language is a major step towards developing that potential.

10. How is ontology different from database?
An ontology is different from a relational database in several ways. First, an ontology represents a data model, not a data repository. A desirable way to use an ontology is to describe an interface with it through which data may be accessed, while managing actual data instances in databases. Another difference is query; while most queries in databases retrieve the same data as stored previously, queries against ontologies infer or reason about the asserted facts and retrieve new facts implied by the known facts. Also, rules can be expressed regarding relationships between classes (entities) and subsequently these rules are applied to query processing, which generates all results matching the query according to the specified relationships.

11. How is ontology different from object-oriented modeling?
An ontology is different from object-oriented modeling (represented in UML) in several ways. First, the most profound difference is that the ontology technology is theoretically found on logic. While ontology allows automated reasoning or infer ence, object-oriented modeling does not. Another difference is the treatment of properties; while the ontology technology treats properties as the first-class citizen, the object-oriented modeling does not. That is, while the ontology technology allows inheritance of properties, the object-oriented modeling does not. While the ontology technology allows arbitrary user-defined relationships among classes (a type property), the object-oriented modeling limits the relationship types to the subclass-superclass hierarchical relationship. While the ontology technology allows adding properties to relationships such as symmetry, transitivity, and inversion so that they are used in reasoning, the object-oriented modeling does not. While the ontology technology allows multiple inheritances among classes and also among properties, the object-oriented modeling allows only single inheritances. Despite theses differences, object-oriented modeling and UML are accepted as a practical ontology specification, mostly because of their wide-spread use in industry and the multitude of existing models in UML. There is an on-going effort to add logic capability to object-oriented modeling, represented by OCL (Object Constraint Language).

12. Are there any ontology standards?
bar graph of W3C recommendations Yes. Most notably, W3C recommends a number of semantic markup language standards as part of the semantic Web stack. Specifically, XML (eXtensible Markup Language) provides a surface syntax for structured documents but imposes no semantic constraints on the meaning of these documents. XML Schema is a language for restricting the structure of XML documents. RDF (Resource Description Framework) is a language for creating a data model for objects (or “resources”) and relations among them, providing a simple semantics for the data model. The data models are represented in an XML syntax. RDF Schema is a vocabulary for describing properties and classes of RDF resources, with semantics for generalization hierarchies of such properties and classes. Finally, OWL (Web Ontology Language) adds more vocabulary for describing properties and classes. Among others, relations among classes, cardinality, equality, richer typing of properties and enumerated classes. OWL succeeds the preceding effort of DAML+OIL in this area. In summary, OWL adds facilities for expressing meaning and semantics to XML, RDF, and RDF Schema, and thus it goes beyond these languages in its ability to represent machine-readable content. This figure shows the semantic Web stack of W3C.

13. What else is going on with ontology standards?
UML (Unified Modeling Language) is also viewed as a language for designing ontology. Software engineers can design an ontology by organizing object classes in a class hierarchy and creating relationships among them. However, UML has some limitations. For example, UML does not support the notion of conceptual equivalence. Also, UML has insufficient means for describing restrictions and constraints. Software engineers can use the Object Constraint Language (OCL), but it may be difficult to understand for business analysts. In short, an ontology language provides richer semantics than UML. OMG (Object Management Group) issued a Request for Proposal for an Ontology Definition Meta-model in March 2003. The request is for an MOF (Meta Object Facility) meta-model for ontology development with a mapping to UML and a binding to OWL. This meta-model will provide a translation from UML to OWL, and the use of UML tools in ontology definition.

2. Ontology Specification Languages

1. How is OWL different from earlier ontology languages?
OWL is a Web Ontology language [29]. Where earlier languages have been used to develop tools and ontologies for specific user communities (particularly in the sciences and in company-specific e-commerce applications), they were not defined to be compatible with the ar chitecture of the World Wide Web in general and the Semantic Web in particular.

OWL rectifies this situation by providing a language that uses the linking provided by RDF to add the following capabilities to ontologies:

  • Ability to be distributed across many systems
  • Scalability to Web needs
  • Compatibility with Web standards for accessibility and internationalization
  • Openness and extensibility.

2. Who is implementing OWL tools and applications?
A large number of organizations have been exploring the use of OWL, with the many tools currently available. The W3C Web Ontology Working Group is maintaining a list of implementations and demonstrations. In addition, both the US government (via DARPA and NSF) and the European Union (via the fifth- and sixth-generation frameworks of the IST program) have invested in Web ontology language development. Most of the systems currently using DAML, OIL, and DAML+OIL (the predecessor languages on which OWL was based) are now migrating to OWL. In addition, a number of ontology language tools, such as the widely used Protégé system, now provide OWL support.

3. Are there OWL ontologies available already?
There are many ontologies available on the Web in OWL. There is an ontology library at DAML ontology library, which contains about 250 examples written in OWL or DAML+OIL (a converter from DAML+OIL to OWL is available on the Web). In addition, several large ontologies have been released in OWL. These include a cancer ontology in OWL developed by the U.S. National Cancer Institute’s Center for Bio-informatics, which contains about 17,000 cancer-related terms and their definitions, and an OWL version of the well-known GALEN medical ontology, developed at the University of Manchester.

4. What does OWL add that RDF Schema doesn’t?
OWL extends RDFS to allow for the expression of complex relationships between different RDFS classes and of more precise constraints on specific classes and properties. Examples are as follows:

  • The means of limiting the properties of classes with respect to number and type
  • The means of inferring that items with various properties are members of a particular class
  • The means of determining if all members of a class will have a particular property, or if only some of them might
  • The means of distinguishing one-to-one from many-to-one or one-to-many relationships, allowing the “foreign keys” of a database to be represented in an ontology
  • The means of expressing relationships between classes defined in different documents across the Web
  • The means of constructing new classes out of the unions, intersections, and complements of other classes
  • The means of constraining range and domain to specific class or property combinations.

5. What is the difference between RDF and XML Schema?
XML (eXtensible Markup Language) provides a surface syntax for structured documents, but imposes no semantic constraints on the meaning of these documents. XML Schema is a language for restricting the structure of XML documents. RDF (Resource Description Framework) is a language for creating a data model for objects (or “resources”) and relations among them, providing a simple semantics for the data model. The data models are represented in an XML syntax. RDF Schema is a vocabulary for describing properties and classes of RDF resources, with semantics for generalization hierarchies of such properties and classes. Finally, OWL (Web Ontology Language) adds more vocabulary for describing properties and classes, including relations among classes, cardinality, equality, richer typing of properties, and enumerated classes.

3. Ontology Management Systems

1. Are there any tools for ontology design and management?
Today, there are more than 90 tools available from both non-commercial organizations and commercial software vendors. Most of them are tools for designing and editing ontology files. Some of them may pro vide certain capabilities for analyzing, modifying, and maintaining ontologies over time, in addition to the editing capabilities. One of the more popular editing tools is Protégé, developed by the Stanford University School of Medicine. Other tools are SemTalk, OilEd, Unicorn, Jena, and Snobase, to name a few.

2. What is an ontology management system?
An ontology management system for ontology is equivalent to a database management system (DBMS) for data. A DBMS allows an application to externalize the storing and processing of data, via a standard interface, and relieves the program from the burden of deciding how to store the data in files, how to index the data, how to optimized queries, how to retrieve query results, etc. In a similar way, an ontology management system allows an application to manipulate and query ontology without one having to worry about how the ontology is stored and accessed, how queries are processed, how query results are retrieved, etc., by providing a programming interface. Ontology editing capabilities are not viewed as the critical component of an ontology management system. An ontology management system may or may not provide the ontology editing and designing capabilities. In case it does not, an ontology management system can be used in connection with an ontology editor such as Protégé, if necessary.

3. What is in the Snobase Ontology Management System?
Snobase Ontology Management System provides mechanisms for loading ontologies from files and via the Internet, and for locally creating, modifying, and storing ontologies. It also provides a mechanism for querying ontologies, as well as an easy-to-use programming interface so that applications can interact in standard ontology specification languages such as RDF, DAML+OIL, and OWL. Internally, the system uses an inference engine, an ontology persistent store, an ontology directory, and ontology source connectors. Applications can query against the created ontology models and the inference engine deduces the answers and returns results sets similar to JDBC (Java Data Base Connectivity) result sets.

4. What is the JOBC API and what does it do?
JOBC (Java Ontology Base Connectivity) is an application programming interface that provides applications with a high-level access to ontological resources stored in the IBM Ontology Management System. The JOBC API follows the design patterns of JDBC, with several alterations. Like JDBC, JOBC provides a connection-based API for interacting with data sources. Unlike JDBC, however, JOBC allows connections to be made without reference to a particular base ontology. Such connections would be connections to a default ontology that would include the top-level definitions of XML-based ontology languages such as OWL, DAML+OIL, RDF, RDF Schema, XML, and XML Schema. These definitions are required in order to process any ontological information.

The API is implemented using the abstract factory class. The DriverManager class provides a method that is used to construct a connection based on the URI used to initiate the connection. There is a mechanism in the DriverManager that uses the given ontology type to identify and load the correct driver. This driver is then used to create a connection of the appropriate type. The connection then acts as a factory to produce objects, such as statements. The objects created implement interfaces defined in the JOBC API, but they have implementations that are provided by the driver that is loaded. The JOBC driver is an IBM driver for the JOBC interface and consists of Java classes that will provide an implementation of the JOBC API.

5. What does the Ontology Directory do?
The Ontology Directory provides the meta-level information about which ontologies are available to the JOBC driver. By default, the ontology directory must contain the references to the top-level definitions of the supported XML-based ontology languages. For each ontology source, the directory will need to store the URI, but it may additionally store information about the contents of the ontology source in order to aid in query optimization. In addition, the Ontology Directory may contain deployment information that gives additional sources of ontology information.

6. What does the Inference Engine do?
The Inference Engine provides a mechanism for interpreting the semantics of constructs of an ontology language, represented as a set of language-specific rules. The rules are used to answer queries when the requested fact is not immediately available but must be inferred from available facts. The Inference Engine of the IBM Ontology Management System was built by using IBM ABLE (Agent Building and Learning Environment) technology.

7. What does the Query Optimizer do?
The Query Optimizer allows applications to query large knowledge bases, whose entire set cannot be loaded into the working memory, by querying the ontology source for appropriate pieces, as they are needed. In addition, the task of the Query Optimizer is to not only optimize the retrieval of information from ontology sources, but also coordinate queries that span multiple sources. This component is still under construction and will be added to future editions of IBM Ontology Management System.

8. What does the Ontology Source Connector do?
The Ontology Source Connectors provide a mechanism for reading and writing ontology information to persistent storage. The simplest connector is the file connector that is used to store ontologies to the local file system. In addition, there will be connectors for storing ontological information in remote servers. Also, the connectors are used to implement caching of remote information to improve performance and reliability.

4. Ontology Query Languages

1. What query languages does the Snobase Ontology Management System support?
Currently, Snobase support a variant of OWL Query Language (OWL-QL) as an ontological equivalent of SQL (Structured Query Language) for our ontology management system. OWL-QL is a language and protocol supporting agent-to-agent query-answering dialogues using knowledge represented in OWL. It precisely specifies the semantic relationships among a query, a query answer, and the ontology base(s) used to produce the answer. It also supports query-answering dialogues in which the answering agent may use automated reasoning methods to derive answers to queries.

2. What is RDQL (RDF Data Query Language)?
RDQL is an implementation of an SQL-like query language for RDF, developed by HP and submitted to W3C for possible recommendation. It treats RDF as data and provides query with triple patterns and constraints over a single RDF model. The target usage is for scripting. The purpose of RDQL is to be used as a model-level access mechanism that is higher-level than an RDF API. Query provides one way in which the programmer can write a more declarative statement of what is wanted and have the system retrieve it. The Snobase team is working to support RDQL as an alternative query language, and its support will be available in its future versions.


    About IBM Privacy Contact