In both computer science and information science, an ontology is a formal representation of a set of concepts within a domain and the relationships between those concepts. Computer science (or computing science) is the study and the Science of the theoretical foundations of Information and Computation and their Information science is an interdisciplinary science primarily concerned with the collection classification, manipulation storage retrieval and dissemination The domain of discourse, sometimes called the universe of discourse, logical discourse, or simply discourse, is an analytic tool used in Deductive It is used to reason about the properties of that domain, and may be used to define the domain. Reasoning is the cognitive process of looking for Reasons for beliefs conclusions actions or feelings
Ontologies are used in artificial intelligence, the Semantic Web, software engineering, biomedical informatics, library science, and information architecture as a form of knowledge representation about the world or some part of it. The Semantic Web is an evolving extension of the World Wide Web in which the Semantics of information and services on the web is defined making it possible for the Software engineering is the application of a systematic disciplined quantifiable approach to the development operation and maintenance of Software. Biomedical informatics is the broad discipline concerned with the study and application of Computer science, Information science, Informatics, Cognitive Library science is an Interdisciplinary Science incorporating the Humanities, Law and Applied science to study topics related to Information architecture ( IA) is the art of expressing a Model or Concept of Information used in activities that require explicit details Knowledge representation is an area in Artificial intelligence that is concerned with how to formally "think" that is how to use a symbol system to represent Common components of ontologies include:
Ontologies are commonly encoded using ontology languages. In Philosophy, events are objects in Time or instantiations of properties in objects In Computer science and Artificial intelligence, ontology languages are Formal languages used to construct ontologies.
Contemporary ontologies share many structural similarities, regardless of the language in which they are expressed. As mentioned above, most ontologies describe individuals (instances), classes (concepts), attributes, and relations. In this section each of these components is discussed in turn.
Individuals (instances) are the basic, "ground level" components of an ontology. The individuals in an ontology may include concrete objects such as people, animals, tables, automobiles, molecules, and planets, as well as abstract individuals such as numbers and words. Strictly speaking, an ontology need not include any individuals, but one of the general purposes of an ontology is to provide a means of classifying individuals, even if those individuals are not explicitly part of the ontology.
Classes – concepts that are also called type, sort, category, and kind – are abstract groups, sets, or collections of objects. They may contain individuals, other classes, or a combination of both. Some examples of classes:
Ontologies vary on whether classes can contain other classes, whether a class can belong to itself, whether there is a universal class (that is, a class containing everything), etc. Sometimes restrictions along these lines are made in order to avoid certain well-known paradoxes. A paradox is a true statement or group of statements that leads to a Contradiction or a situation which defies intuition; or inversely
The classes of an ontology may be extensional or intensional in nature. In Philosophy of language, a context in which a sub-sentential expression e appears is called extensional if and only if e can be replaced by an expression with the A class is extensional if and only if it is characterized solely by its membership. More precisely, a class C is extensional if and only if for any class C', if C' has exactly the same members as C, then C and C' are identical. If a class does not satisfy this condition, then it is intensional. While extensional classes are more well-behaved and well-understood mathematically, as well as less problematic philosophically, they do not permit the fine grained distinctions that ontologies often need to make. For example, an ontology may want to distinguish between the class of all creatures with a kidney and the class of all creatures with a heart, even if these classes happen to have exactly the same members. In the upper ontologies mentioned above, the classes are defined intensionally. Intensionally defined classes usually have necessary conditions associated with membership in each class. Some classes may also have sufficient conditions, and in those cases the combination of necessary and sufficient conditions make that class a fully defined class.
Importantly, a class can subsume or be subsumed by other classes; a class subsumed by another is called a subclass of the subsuming class. For example, Vehicle subsumes Car, since (necessarily) anything that is a member of the latter class is a member of the former. The subsumption relation is used to create a hierarchy of classes, typically with a maximally general class like Thing at the top, and very specific classes like 2002 Ford Explorer at the bottom. The critically important consequence of the subsumption relation is the inheritance of properties from the parent (subsuming) class to the child (subsumed) class. Thus, anything that is necessarily true of a parent class is also necessarily true of all of its subsumed child classes. In some ontologies, a class is only allowed to have one parent (single inheritance), but in most ontologies, classes are allowed to have any number of parents (multiple inheritance), and in the latter case all necessary properties of each parent are inherited by the subsumed child class. Thus a particular class of animal (HouseCat) may be a child of the class Cat and also a child of the class Pet.
A partition is a set of related classes and associated rules that allow objects to be placed into the appropriate class. For example, to the right is the partial diagram of an ontology that has a partition of the Car class into the classes 2-Wheel Drive and 4-Wheel Drive. The partition rule determines if a particular car is placed in the 2-Wheel Drive or the 4-Wheel Drive class.
If the partition rule(s) guarantee that a single Car cannot be in both classes, then the partition is called a disjoint partition. If the partition rules ensure that every concrete object in the super-class is an instance of at least one of the partition classes, then the partition is called an exhaustive partition.
Objects in the ontology can be described by assigning attributes to them. Each attribute has at least a name and a value, and is used to store information that is specific to the object it is attached to. For example the Ford Explorer object has attributes such as:
The value of an attribute can be a complex data type; in this example, the value of the attribute called Engine is a list of values, not just a single value. A data type in Programming languages is an attribute of a datum which tells the computer (and the programmer something about the kind of datum it is
If you did not define attributes for the concepts you would have either a taxonomy (if hyponym relationships exist between concepts) or a controlled vocabulary. Taxonomy is the practice and science of classification The word comes from the Greek, taxis (meaning 'order' 'arrangement' and, nomos In Linguistics, a hyponym is a Word or Phrase whose semantic range is included within that of another word These are useful, but are not considered true ontologies.
An important use of attributes is to describe the relationships (also known as relations) between objects in the ontology. Typically a relation is an attribute whose value is another object in the ontology. For example in the ontology that contains the Ford Explorer and the Ford Bronco, the Ford Bronco object might have the following attribute:
This tells us that the Explorer is the model that replaced the Bronco. The Ford Bronco was a Sport-utility vehicle produced from 1966 through 1996 with five distinct generations Much of the power of ontologies comes from the ability to describe these relations. Together, the set of relations describes the semantics of the domain. Semantics is the study of meaning in communication The word derives from Greek σημαντικός ( semantikos) "significant" from
The most important type of relation is the subsumption relation (is-superclass-of, the converse of is-a, is-subtype-of or is-subclass-of). In Knowledge representation and Object-oriented programming and design, is-a is a relationship where one class D is a Subclass This defines which objects are members of classes of objects. For example we have already seen that the Ford Explorer is-a 4-wheel drive, which in turn is-a Car:
The addition of the is-a relationships has created a hierarchical taxonomy; a tree-like structure (or, more generally, a partially ordered set) that clearly depicts how objects relate to one another. Taxonomy is the practice and science of classification The word comes from the Greek, taxis (meaning 'order' 'arrangement' and, nomos In Mathematics, especially Order theory, a partially ordered set (or poset) formalizes the intuitive concept of an ordering sequencing or arrangement In such a structure, each object is the 'child' of a 'parent class' (Some languages restrict the is-a relationship to one parent for all nodes, but many do not).
Another common type of relations is the meronymy relation, written as part-of, that represents how objects combine together to form composite objects. Meronymy (from the Greek words meros = part and onoma = name is a semantic relation used in Linguistics. For example, if we extended our example ontology to include objects like Steering Wheel, we would say that "Steering Wheel is-part-of Ford Explorer" since a steering wheel is one of the components of a Ford Explorer. If we introduce meronymy relationships to our ontology, we find that this simple and elegant tree structure quickly becomes complex and significantly more difficult to interpret manually. It is not difficult to understand why; an entity that is described as 'part of' another entity might also be 'part of' a third entity. Consequently, entities may have more than one parent. The structure that emerges is known as a directed acyclic graph (DAG). In Computer science and Mathematics, a directed acyclic graph, also called a DAG, is a with no; that is for any vertex v, there
As well as the standard is-a and part-of relations, ontologies often include additional types of relation that further refine the semantics they model. These relations are often domain-specific and are used to answer particular types of question.
For example in the domain of automobiles, we might define a made-in relationship which tells us where each car is built. So the Ford Explorer is made-in Louisville. The ontology may also know that Louisville is-in Kentucky and Kentucky is-a state of the USA. The Commonwealth of Kentucky ( is a state located in the East Central United States of America. The United States of America —commonly referred to as the Software using this ontology could now answer a question like "which cars are made in America?"
A domain ontology (or domain-specific ontology) models a specific domain, or part of the world. It represents the particular meanings of terms as they apply to that domain. For example the word card has many different meanings. An ontology about the domain of poker would model the "playing card" meaning of the word, while an ontology about the domain of computer hardware would model the "punch card" and "video card" meanings. Poker is a type of Card game in which players bet on the value of the card combination (" hand " in their possession by placing a bet into A playing card is a piece of specially prepared heavy paper thin card or thin plastic figured with distinguishing motifs and used as one of a set for playing Card games Typical PC hardware A typical Personal computer consists of a case or chassis in a tower shape (desktop and the following parts Motherboard A video card, also known as a graphics accelerator card, display adapter, or graphics card, is a hardware component whose function is to
An upper ontology (or foundation ontology) is a model of the common objects that are generally applicable across a wide range of domain ontologies. In Information science, an upper ontology ( top-level ontology, or foundation ontology) is an attempt to create an ontology which describes very It contains a core glossary in whose terms objects in a set of domains can be described. See also List of glossaries A glossary is a list of terms in a particular domain of knowledge with the definitions for those terms There are several standardized upper ontologies available for use, including Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO, and DOLCEl. The Dublin Core Metadata element set is a standard for cross-domain information resource description The General Formal Ontology (GFO is an upper ontology integrating processes and objects Cyc is an artificial intelligence project that attempts to assemble a comprehensive ontology and Database of everyday Common sense knowledge, Cyc is an artificial intelligence project that attempts to assemble a comprehensive ontology and Database of everyday Common sense knowledge, The Suggested Upper Merged Ontology or SUMO is an upper ontology intended as a foundation ontology for a variety of computer information processing systems WordNet, while considered an upper ontology by some, is not an ontology: it is a unique combination of a taxonomy and a controlled vocabulary (see above, under Attributes). WordNet is a Semantic lexicon for the English language. It groups English words into sets of synonyms called Synsets, provides short general Taxonomy is the practice and science of classification The word comes from the Greek, taxis (meaning 'order' 'arrangement' and, nomos
The Gellish ontology is an example of a combination of an upper and a domain ontology. Gellish is a Controlled natural language in which information and knowledge can be expressed so that it is computer interpretable but still system independent
Since domain ontologies represent concepts in very specific and often eclectic ways, they are often incompatible. As systems that rely on domain ontologies expand, they often need to merge domain ontologies into a more general representation. This presents a challenge to the ontology designer. Different ontologies in the same domain can also arise due to different perceptions of the domain based on cultural background, education, ideology, or because a different representation language was chosen.
At present, merging ontologies is a largely manual process and therefore time-consuming and expensive. Using a foundation ontology to provide a common definition of core terms can make this process manageable. There are studies on generalized techniques for merging ontologies, but this area of research is still largely theoretical.
An ontology language is a formal language used to encode the ontology. In Computer science and Artificial intelligence, ontology languages are Formal languages used to construct ontologies. A formal language is a set of words, ie finite strings of letters, or symbols. There are a number of such languages for ontologies, both proprietary and standards-based:
The term ontology has its origin in philosophy, where it is the name of one fundamental branch of metaphysics, concerned with analyzing various types or modes of existence, often with special attention to the relations between particulars and universals, between intrinsic and extrinsic properties, and between essence and existence. In Philosophy, ontology (from the Greek, genitive: of being (part Metaphysics is the branch of Philosophy investigating principles of reality transcending those of any particular science According to Tom Gruber at Stanford University, the meaning of ontology in the context of computer science is “a description of the concepts and relationships that can exist for an agent or a community of agents. Leland Stanford Junior University, commonly known as Stanford University or simply Stanford, is a private Research university located in In Computer science, a software agent is a piece of software that acts for a user or other program in a relationship of agency. ” He goes on to specify that an ontology is generally written, “as a set of definitions of formal vocabulary. ” 
What ontology has in common in both computer science and philosophy is the representation of entities, ideas, and events, along with their properties and relations, according to a system of categories. In both fields, one finds considerable work on problems of ontological relativity (e. g. Quine and Kripke in philosophy, Sowa and Guarino in computer science (Top-level ontological categories. Saul Aaron Kripke (born on November 13, 1940 in Bay Shore New York) is an American philosopher and Logician now Emeritus John Florian Sowa is the Computer scientist who invented Conceptual graphs a graphic notation for logic and natural language based on the structures in Semantic Nicola Guarino is a researcher in the area of Formal Ontology for Information Systems and the head of the Laboratory for Applied Ontology (LOA part of the Italian National Research Council By: Sowa, John F. In International Journal of Human-Computer Studies, v. 43 (November/December 1995) p. 669-85. ), and debates concerning whether a normative ontology is viable (e. g. debates over foundationalism in philosophy, debates over the Cyc project in AI). Foundationalism is any theory in Epistemology (typically theories of justification, but also of Knowledge) that holds that beliefs are justified (known Cyc is an artificial intelligence project that attempts to assemble a comprehensive ontology and Database of everyday Common sense knowledge,
Differences between the two are largely matters of focus. Philosophers are less concerned with establishing fixed, controlled vocabularies than are researchers in computer science, while computer scientists are less involved in discussions of first principles (such as debating whether there are such things as fixed essences, or whether entities must be ontologically more primary than processes). During the second half of the 20th century, philosophers extensively debated the possible methods or approaches to building ontologies, without actually building any very elaborate ontologies themselves. By contrast, computer scientists were building some large and robust ontologies (such as WordNet and Cyc) with comparatively little debate over how they were built. WordNet is a Semantic lexicon for the English language. It groups English words into sets of synonyms called Synsets, provides short general Cyc is an artificial intelligence project that attempts to assemble a comprehensive ontology and Database of everyday Common sense knowledge,
In the early years of the 21st century, the interdisciplinary project of cognitive science has been bringing the two circles of scholars closer together. Cognitive science may be broadly defined as the multidisciplinary study of mind and behavior For example, there is talk of a "computational turn in philosophy" which includes philosophers analyzing the formal ontologies of computer science (sometimes even working directly with the software), while researchers in computer science have been making more references to those philosophers who work on ontology (sometimes with direct consequences for their methods). Still, many scholars in both fields are uninvolved in this trend of cognitive science, and continue to work independently of one another, pursuing separately their different concerns.
The development of ontologies for the Web has led to the apparition of services providing lists or directories of ontologies with search facility. Such directories have been called ontology libraries.
The following are static libraries of human-selected ontologies.
The following are both directories and search engines. They include crawlers searching the Web for well-formed ontologies.