Ontology
Definition
General definition
from Merriam-Webster online:
- Ontology
- a branch of metaphysics concerned with the nature and relations of being
- a particular theory about the nature of being or the kinds of things that have existence
In philosophy
Gottfried Wilhelm Leibniz, New Essays on Human Understanding (taken from John F. Sowa's homepage)
See also: controlled vocabulary
In AI
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:
(Gruber, 1993, p. 3)
Why create ontologies ?
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
[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
Criteria
- Clarity: terms should be explicitly defined and objective.
- Coherence: inferences made from the ontology should be in accordance with definitions and logically consistent.
- Extendibility: the ontology should be useful in multiple contexts and tasks and should be able to incorporated new terms.
- Minimal encoding bias: choices of representation should be based on the knowledge represented by the entity, not on the needs of implementation.
- 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
KSL at Stanford University that offers an online ontology editor for registered and anonymous users presents some guidelines for designing ontologies.
- 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.
- Make a list of what you would like to state in your ontology.
- Make a list of the concepts that you think should be included in your ontology.
- Look for ontologies in the library of ontologies that may contain terms which you can use to develop your ontology.
- 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
- Determine the domain and scope of the ontology - domain, purpose, questions answered, stakeholders (users, experts)
- Reuse existing technologies (e.g.: DAML Ontology Library)
- List important terms and concepts
- Define hierarchy of classes
- Define their properties
- Define the possible value types of properties
- Create instances (populate)
For detailed instructions see Ontology Development 101
Types of ontologies
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:
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
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
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
- ontoworld.org's Semantic Web overview article has a list of ontology-related tools
Ontology editors and tools
- 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
- 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
- OpenCyc. Open source version of the world's largest and most complete general knowledge base and commonsense reasoning engine
Related links
- 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
Online
- 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
- 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