Wednesday, December 9, 2009

What is an Ontology?

A picture of the Rosetta Stone, in a high cont...Image via Wikipedia
In this post I ponder the definition of an ontology using the Semiotic Triangle as a guide. (Note that because business people do not understand what an ontology is, I prefer to call it a concept model.) I purposely gloss over the nitty gritty of taxonomy, generalization, specialization, dynamic classification, and so on, to focus on defining an ontology by what it provides to its consumers.

Before I talk about what it provides, I'd like to explain what goes into an ontology. An ontologist works with subject matter experts to develop and validate a conceptualization of the real world within a particular domain, such as finance, weather, or even music theory. The ontologist develops this conceptualization either by reusing existing concepts that other ontologists have defined, or by defining new concepts. The ontologist can generate structured English sentences to make it easier for the SMEs to understand and validate the ontology. Some examples of concepts might be Invoice, has line item, Wind, has speed, Chord, and has pitch. Regardless of who defines the concepts, the ontologist defines every concept using a predefined vocabulary of symbols, which is built on set theory and predicate calculus. These concepts are generally classes and properties, but can also included axioms expressed in a logic language.

So, why would an ontologist put that much effort into creating a conceptualization of the real world? There is a spectrum of reasons, ranging from the low end to the hard core. Here are some examples, ranked from the low end to the high end:
  • A database for a business to track real-world things needs to reflect the real world as much as possible to reduce rework in the database and the programs that manipulate it.
  • An enterprise architecture is a kind of an ontology about information, processes, roles, collaborations, and rules that allows business people to improve their business.
  • IT systems with different databases and interfaces need a Rosetta Stone to communicate. This is called semantic interoperability.
  • An expert system aids in the decision making of human professionals, such as doctors or pharmacists.
  • An artificial intelligence learns by itself, simulates human reasoning, and answers questions.
All of these things require some kind of an ontology. My experiential sweet spot is in enterprise architecture and semantic interoperability, so I'll expound on them a bit more.

Many ontology consumers use an ontology about the enterprise to reason about their business so they can bring more value to their customers than their competitors. Being able to see how the business works in terms of a controlled vocabulary allows business people to optimize how they meet the needs of their customers.

Other ontology consumers augment the ontology about the enterprise with a Rosetta Stone for aligning disparate systems. How does that work? An ontology allows its consumer to understand the ontologist's conceptualization of the real world, link a data element in a system to an ontology concept to declare its real-world meaning, and follow a link from a data element to an ontology concept to determine its real-world meaning. Having this Rosetta Stone allows computers to automatically map information elements between systems, and it provides a well-thought-out, overarching structure for all information in an enterprise or a community.




Reblog this post [with Zemanta]

6 comments:

Robert Arp said...

The word ‘ontology’ can refer to a branch of Western philosophy that has origins in ancient Greek philosophy and is concerned with the study of reality. From this philosophical perspective, ontology seeks to provide a definitive and exhaustive classification of entities in all spheres or domains of being. Ontology derives from the Greek words ontos (meaning “existence” or “being”) and logos (meaning “rational account” or “knowledge”), so it makes sense that Nathan Bailey’s 1721 Oxford English Dictionary defined ontology as “an Account of being in the Abstract” while, today, the Random House College Dictionary (2007) defines ontology as “the branch of metaphysics that studies the nature of existence.”

Related to this philosophical sense, since the emergence of the information age ‘ontology’ also has come to be understood as a structured, taxonomical representation of the entities and relations existing within a particular domain of reality such as geography, ecology, law, biology, medicine, or philosophy. Domain ontologies, thus, are contrasted with ontology in the philosophical sense, which has all of reality as its subject matter. Ideally, a domain ontology is a taxonomy that provides a controlled, structured vocabulary and framework to annotate data within a particular domain, in order to make the data more easily searchable by human beings and processable by computers.

Examples of more fully-developed domain ontologies utilized by researchers all around the world include:
• the Gene Ontology, the Foundational Model of Anatomy, the Cell Ontology, the Disease Ontology, and many more biomedical ontologies (available at: http://obo foundry.org/);
• LKIF-Core, a domain ontology for legal concepts (http://www.estrella project.org/lkif-core/);
• there is even a domain ontology devoted to the philosophical disciplines.

To remedy problems of conceptualization, reasoning, coding, mining, and querying pertaining to domain ontologies that have contributed to the silo effect, a third kind of ontology—a formal ontology—has emerged. In fact, this is where philosophers have made important contributions to informatics by pointing out the myriad pitfalls of poor reasoning that hamper information accessibility and dissemination. Insofar as it concerns informatics, the ultimate goal of formal ontology is the calibration of all domain ontologies into one single, organized, interconnected, and interoperable computer repository, accessible in real time to anyone anywhere in the world.

Many people use the word ‘formal’ as interchangeable with ‘upper-level,’ ‘top-level,’ or ‘higher-level’ and, indeed, this is appropriate since ‘formal ontology’ refers to a discipline which assists in making communication between and among domain ontologies (envisioned as bottom or lower-level ontologies) possible by providing a common formal framework or ontological “backbone”. Stated simply: interoperability of domain ontologies is more likely to occur, because researchers are all using the exact same upper-level ontological categories and relations.

Some examples of extant, upper-level or formal ontologies include:
• Standard Upper Merged Ontology (SUMO, http://suo.ieee.org/) of the Institute of Electrical and Electronics Engineers,
• Descriptive Ontology for Linguistic and Cognitive Engineering (DOLCE, http://www.loa -cnr.it/DOLCE.html), and
• Basic Formal Ontology (BFO, http://www.ifomis.org/bfo).

Posted by Rob Arp, Wednesday, December 9, 2009

Jim Logan said...

Rob, thanks for the comment!

Why do you say that just a taxonomy is ideal as an ontology?

Jim Logan said...

Also, why do you say that only an upper ontology is formal? It seems to me that anything using strong semantics or axioms would be formal.

Robert Arp said...

(1) Why do you say that just a taxonomy is ideal as an ontology? Sorry. Let me fill in more of the puzzle: An ontology is more than a taxonomy. I should have said that an ontology is a representational, artifactual (human-made) graph consisting of a backbone taxonomic tree whose nodes represent types of entities in reality. These nodes of the backbone are connected to the tree by edges representing the 'is_a' (= subtype) relation. Other edges of the graph relate the nodes to each other through relations such as 'part_of' (is part of), 'preceded_by' (is preceded by), 'has_participant’ (has as a participant), 'inheres_in' (inheres in), and/or any number of other relations to be discovered in the domain of interest. In addition, the ontology can be supplemented with axioms and definitions that enable reasoning on the basis of these relationships—for example, axioms to the effect that is_a and part_of are transitive (as in: If A=B and B=C, then A=C, or “If X, then Y, and if Y, then Z; therefore, if X, then Z”). In this way, the ontology can be used to infer new information about the underlying instances that comprise the domain of study-for example, a finger can be inferred as part of the body based on the following ontological relationships: “hand part_of body” and “finger part_of hand,” thus “finger part_of body”.

Robert Arp said...

(2) Also, why do you say that only an upper ontology is formal? It seems to me that anything using strong semantics or axioms would be formal. I'm using 'formal' in a bit of a different way (but your point about axioms probably is consistent with this way). The term ‘formal ontology’ was coined by Edmund Husserl (1859-1938) in his Logical Investigations and was further developed by Roman Ingarden (1893-1970) in the middle of the 20th century. Here, ‘formal’ means something like "applicable to all domains of objects whatsoever, independent of the peculiarities of any given field of knowledge,” and that's the way in which I am using the term here. So, 'thing' is clearly an example of an entity that lives squarely in the realm of a formal ontology because it applies to any and all domains of reality, and any and all entities that exist in domains of reality can be classified as sub-types of 'thing'. The classes of Barry Smith's Basic Formal Ontology (BFO) are supposed to all be examples of formal classes since they can apply to a number of domains. For example, in BFO there are classes called 'quality', 'role', 'function', and 'disposition' (there are more) complete with common sense definitions that most everyone can see and agree with. Now think of the number of domains that have their own entities which ultimately can be classified as sub-types of q, r, f, or d. You can see, then, how q, r, f, and d are all formal classes in the way Husserl is (and I am) talking about.

Jim Logan said...

Thanks, Rob!