Ontology

This article or chapter is incomplete and its contents need further attention. Some information may be missing or may be wrong, spelling and grammar may have to be improved, use your judgment!

## Contents

* 1 Definition
* 1.1 General definition
* 1.2 In philosophy
* 1.3 In AI
* 2 Why create ontologies ?
* 2.1 Limitations
* 3 Design principles
* 3.1 Criteria
* 3.2 How to
* 3.3 Types of ontologies
* 3.4 Types of structural representations
* 4 Ontology in education
* 5 Software
* 5.1 Ontology editors and tools
* 5.2 Semantic Web
* 5.3 Reasoning
* 6 Related links
* 7 References
* 7.1 Online
* 7.2 Bibliographic

## Definition[edit | edit source]

### General definition[edit | edit source]

from Merriam-Webster online:

Ontology

1. a branch of metaphysics concerned with the nature and relations of being
2. a particular theory about the nature of being or the kinds of things that have existence

### In philosophy[edit | edit source]

The art of ranking things in genera and species is of no small importance and very much assists our judgment as well as our memory. You know how much it matters in botany, not to mention animals and other substances, or again moral and notional entities as some call them. Order largely depends on it, and many good authors write in such a way that their whole account could be divided and subdivided according to a procedure related to genera and species. This helps one not merely to retain things, but also to find them. And those who have laid out all sorts of notions under certain headings or categories have done something very useful.

Gottfried Wilhelm Leibniz, New Essays on Human Understanding (taken from John F. Sowa's homepage)

See also: controlled vocabulary

### In  AI[edit | edit source]

From the KS, AI Lab at Stanford University referring to ontology in  AI: "An ontology is an explicit specification of some topic. For our purposes, it is a formal and declarative representation which includes the vocabulary (or names) for referring to the terms in that subject area and the logical statements that describe what the terms are, how they are related to each other, and how they can or cannot be related to each other. Ontologies therefore provide a vocabulary for representing and communicating knowledge about some topic and a set of relationships that hold among the terms in that vocabulary."

Tom Gruber's short answer: "An ontology is an explicit specification of a conceptualization."

Gruber's long answer:

For AI systems, what “exists” is that which can be represented. When the knowledge of a domain is represented in a declarative formalism, the set of objects that can berepresented is called the universe of discourse. This set of objects, and the describable relationships among them, are reflected in the representational vocabulary with which a knowledge-based program represents knowledge. Thus, in the context of AI, we can describe the ontology of a program by defining a set of representational terms. In such an ontology, definitions associate the names of entities in the universe of discourse (e.g., classes, relations, functions, or other objects) with human-readable text describing what the names mean, and formal axioms that constrain the interpretation and well-formed use of these terms.

(Gruber, 1993, p. 3)

## Why create ontologies ?[edit | edit source]

From notes for Ontology Development 101 at Stanford:

* To share common understanding of the structure of information among people or software agents
* To enable reuse of domain knowledge
* To make domain assumptions explicit
* To separate domain knowledge from the operational knowledge
* To analyze domain knowledge

The Knowledge Systems, AI Laboratory (KSL) at Stanford University defines some simple needs ontologies can serve.

* To enable a machine to use the knowledge in some application.
* To enable multiple machines to share their knowledge.
* To help yourself understand some area of knowledge better.
* To help other people understand some area of knowledge.
* To help people reach a consensus in their understanding of some area of knowledge.

Ontologies have become increasingly important with the move towards a Semantic Web where they have become a means of representing knowledge available on the Web and making it available to a multitude of machines. OWL

### Limitations[edit | edit source]

[Information architecture] is the attempt to give structure to an ontology that will best describe entities and their relations, but ontologies have inherent biases derived from their respective domains, cultures, purposes and the environment in which their entities exist. An ontology used to describe books in a library thematically will be influenced by the fact that they must exist in a physical space and can only be in one place at a time. An ontology of the same books but not leading to a physical location, for example [e-book]s available online would be different as the same book can exist under several categories.

For more on limitations of ontologies see Clay Shirky on Ontolology is overrated

They appear most effective when the semantic distinctions that humans take for granted are crucial to the application's purpose. This may mean handling the common sense lurking in natural language excerpts or the expertise embedded in domain-specific explications and working repositories. - O'reilly

## Design principles[edit | edit source]

### Criteria[edit | edit source]

1. Clarity: terms should be explicitly defined and objective.
2. Coherence: inferences made from the ontology should be in accordance with definitions and logically consistent.
3. Extendibility: the ontology should be useful in multiple contexts and tasks and should be able to incorporated new terms.
4. Minimal encoding bias: choices of representation should be based on the knowledge represented by the entity, not on the needs of implementation.
5. Minimal ontological commitment: the use of the vocabulary in the ontology should be consistent enough so that knowledge sharing activities can be supported across multiple contexts but not so rigid as to exclude specialized use.

Dave Shirky [1] presents a list of characteristics where an ontology can be effectively applied.

effective | ineffective

|

domain | AND | participants | domain | AND/OR | participants
Small corpus | Expert cataloguers | A large corpus | Uncoordinated users
Formal categories | Authoritative source of judgment | No formal categories | Amateur users
Stable entities | Coordinated users | Unstable entities | Naive catalogers
Restricted entities | Expert users | Unrestricted entities | No authority
Clear edges |  | No clear edges |
e.g: classifying bibliographical data. | e.g.: the Web

### How to[edit | edit source]

KSL at Stanford University that offers an online ontology editor for registered and anonymous users presents some guidelines for designing ontologies.

1. Write a few sentences describing your ontology. You should include the general subject area that you intend to cover with your ontology. You should also include any simplifying assumptions you are making.
2. Make a list of what you would like to state in your ontology.
3. Make a list of the concepts that you think should be included in your ontology.
4. Look for ontologies in the library of ontologies that may contain terms which you can use to develop your ontology.
5. Review and make modifications to your lists as needed throughout these steps.

Creating an ontology to represent a particular knowledge base within a domain involves creating classes (concepts), subclasses and instances of them and properties that describe the relations between them.

This involves the processes of:

* defining classes in the ontology
* arranging the classes in a taxonomic (subclass–superclass) hierarchy
* defining properties and describing allowed values for them
* filling in the values for properties for instances. (Foy & McGuiness)

This is best accomplished by using nouns for the classes (objects) and verbs for the relationships (properties) in simple language to describe the domain (Foy & McGuiness).

Possible steps

1. Determine the domain and scope of the ontology - domain, purpose, questions answered, stakeholders (users, experts)
2. Reuse existing technologies (e.g.: DAML Ontology Library)
3. List important terms and concepts
4. Define hierarchy of classes
5. Define their properties
6. Define the possible value types of properties
7. Create instances (populate)

For detailed instructions see Ontology Development 101

### Types of ontologies[edit | edit source]

Wong, Lieu and Bennamouns (2012) distinguish a spectrum of ontology kinds that range from simple list of terms (e.g. folksonomies or controlled vocabularies to logic-based formal heavy-weight ontologies:

The spectrum of ontology kinds. Wong et al. 2012, Click on the picture for copyright information.

Ontologies can differ in:

Level of description: levels of hierarchy and the variation in the relationships between concepts

Conceptual scope: scope and purpose, whether domain specific or describing types of concepts and relations possible in any domain (i.e. specification languages).

Domain-specific examples

* FOAF \- vocabulary specification for the Friend of a Friend (FOAF) project"creating a Web of machine-readable pages describing people, the links between them and the things they create and do".
* MOTPlus \- editor for creating lessons based on the MISA instructional design method using an ontology for knowledge representation within a learning event for various domains.
* User Model Ontology \- for describing user characteristics and behaviours

There are many others covering domains from molecular biology to beer. See the DAML Ontology Library for an idea of what is possible.

Specification language examples

* Web Ontology Language (OWL) developed to represent knowledge that needs to be shared and processed by applications (not restricted to particular domains, though domain-specific ontologies can use OWL as their base)
* KIF \- "a computer-oriented language designed for use in the interchange of knowledge among disparate computer systems"
* RDF \- for representing information about resources on the World Wide Web
* UML \- object modeling and specification language used in software engineering

Instantiation: the characteristics as defined by the structure of the ontology that will determine that an entity be considered as an individual instance rather than a concept.

Specification language: languages have evolved specifically to support ontology building that in turn become the base for other ontologies.

### Types of structural representations[edit | edit source]

Ontologies can be structured effectively by domain experts and expert users, but when there are many domains and many individual users ontologies by the act of grouping entities and groups contributes to signal loss: the distinction between similar labels, e.g. eating out and dining out.

Hierarchical architectures present an authoritative structuring of categories that may not correspond to users' categorization of the same information.

Social bookmarking on the other hand allows for user cataloguing of information where over time an ontology may develop from the label (tagging) that users give to their shared bookmarks (entities).

A hypertext as a semantic network of entities, has even less structure

Related topics Information architecture, Artificial intelligence and education

## Ontology in education[edit | edit source]

From a dead link:

To make domain assumptions explicit

* To separate domain knowledge from the operational knowledge
* To analyze domain knowledge
* To help yourself understand some area of knowledge better.
* To help other people understand some area of knowledge.
* To help people reach a consensus in their understanding of some area of knowledge.

Ontologies can be part of the instructional design process. E.g. in the MISA model, the Design of Content axis refers to knowledge and skill representation, i.e. what is done with ontologies

## Software[edit | edit source]

* ontoworld.org's Semantic Web overview article has a list of ontology-related tools

### Ontology editors and tools[edit | edit source]

* MOT™ / MOT Plus™ \- editors for building [representations of knowledge] in diversified domains, using graphical forms to represent types of knowledge units: concepts, procedures, principles and facts, and different kind of links between them to show their relations within a learning event.
* Ontolingua Ontology Editor at Stanford KSL Network Services \- online frame editor building frame-based, OKBC with a list of ontologies that can be modified, or new ones added.
* Chimaera \- software system that supports users in creating and maintaining and merging distributed ontologies on the web.
* Protégé \- an open source java-based platfrom for building ontologies, "Protégé implements a rich set of knowledge-modeling structures and actions that support the creation, visualization, and manipulation of ontologies in various representation formats".
* Protégé-Frames editor \- for building frame-based, OKBC compliant ontologies.
* Protégé-OWL editor  for building semantic web OWL-based ontologies
* http://www.geovista.psu.edu/ConceptVISTA/ ConceptVISTA]. Free editor and visualizer (Penn State).

### Semantic Web[edit | edit source]

* pOWL \- "pOWL is web-based (PHP/MySQL) knowledge base editing and management solution for the Semantic Web. It supports collaborative browsing, querying and editing of RDFS/OWL Ontologies and exposes an extensive API for PHP programmers".
* ontoware.org \- supports a broad range of freely available Semantic web related software projects
* SWOOP \- "A Hypermedia-based Featherweight OWL Ontology Editor"
* OntologyOnline.org Online browsing - visualisation of Ontologies.

### Reasoning[edit | edit source]

* OpenCyc. Open source version of the world's largest and most complete general knowledge base and commonsense reasoning engine

## Related links[edit | edit source]

* Department of Philosophy at University of New York at Buffalo - historical and contemporary uses, resources, lists of ontologies
* John F. Sowa's site on ontology and knowledge representation, including history, glossary and tutorials
* A survey of ontology editing tools at O'Reilly's xml.com
* Ontology Development 101: A Guide to Creating Your First Ontology
* DAML Ontology Library \- extensive list of ontologies
* XML.com put together an exhaustive survey of ontology editors in 2002 with a follow-up in 2004.
* Ontology at Semantic Web Wiki

## References[edit | edit source]

### Online[edit | edit source]

* Shirky, C. Clay Shirky's Writings About the Internet Economics & Culture, Media & Community, [[2]]
* Stanford KSL Network Services [3]
* N. Fridman Noy and D. McGuinness (2001) A Guide to building ontologies: Ontology Development 101: A Guide to Creating Your First Ontology
* Denny, M. Ontology Building: A Survey of Editing Tool

### Bibliographic[edit | edit source]

* Gruber, T.R. (1993). Toward Principles for the Design of Ontologies Used for Knowledge Sharing. Technical Report KSL 93-04, Knowledge Systems Laboratory, Stanford University
* Gruber. T, "Toward Principles for the Design of Ontologies Used for Knowledge Sharing," Int’l J. Human-Computer Studies, vol. 43, nos. 5-6, 1995, pp. 907-928.
* Jepsen, T.C., "Just What Is an Ontology, Anyway?," IT Professional , vol.11, no.5, pp.22-27, Sept.-Oct. 2009. Abstract (Access restricted).

Abstract: This tutorial article describes some definitions of "ontology" as it relates to computer applications and gives an overview of some common ontology-based applications.

* Wilson, W., Liu, W., and Bennamoun, M. 2012. Ontology learning from text: A look back and into the future. ACM Comput. Surv. 44, 4, Article 20 (August 2012), 36, DOI = 10.1145/2333112.2333115
* Mark Gahegan, Ritesh Agrawal, Tawan Banchuen and David DiBiase. "Building rich, semantic descriptions of learning activities to facilitate reuse in digital libraries." International Journal on Digital Libraries, Vol. 7, Nos. 1-2, October 2007, pp. 81-97. PDF reprint