Misplaced Pages

Ontology (information science): Difference between revisions

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.
Browse history interactively← Previous editNext edit →Content deleted Content addedVisualWikitext
Revision as of 01:31, 25 March 2006 editDbtfz (talk | contribs)5,475 editsm See also: alphabetize links← Previous edit Revision as of 00:59, 26 March 2006 edit undoGwernol (talk | contribs)94,742 edits Relationships: Use imageNext edit →
(9 intermediate revisions by 2 users not shown)
Line 7: Line 7:
* '''relations''': models of how concepts and characteristics related to one another (also known as ''functions'') * '''relations''': models of how concepts and characteristics related to one another (also known as ''functions'')


Although the term "ontology" derives from its ] it has a separate and specific meaning in the field of computer science. Although the term "ontology" derives from its ] it has a separate and specific meaning in the field of computer science.


==Types of ontology== ==Types of ontology==
Line 28: Line 28:
Ontologies are commonly used in ] and ]. ]s can use an ontology for a variety of purposes including ], ], a variety of ] techniques, and to facilitate communication and sharing of information between different systems. Ontologies are commonly used in ] and ]. ]s can use an ontology for a variety of purposes including ], ], a variety of ] techniques, and to facilitate communication and sharing of information between different systems.


Ontologies are a major piece of the ] framework. The ontology's ability to both classify data, and store ] about the data allows a computer (in this situation referred to as a ]) to ] new knowledge from the knowledge stored. Ontologies are a major piece of the ] framework. The ontology's ability to both classify data, and store ] about the data allows a computer (in this situation referred to as a ]) to ] new knowledge from the knowledge stored.


] allow the computer to infer information from a larger domain of knowledge than usual. ] allow the computer to infer information from a larger domain of knowledge than usual.
Line 34: Line 34:
==Anatomy of an ontology== ==Anatomy of an ontology==


Contemporary ontologies share many structural similarities, regardless of which ontology language (and therefore syntax) is used. This section explains in simple, succinct terms many common features of ontologies. Contemporary ontologies share many structural similarities, regardless of which ontology language and therefore syntax is used.


Ontologies are knowledge stores, they do not nothing on their own. In practice an ontology is always closely associated with one or more software systems that process the knowledge it contains and produces useful results.
Ontologies 'do' nothing. The functionality of a computational system that utilises an ontology is dependent not only on the structure of and data within the ontology, but also on the software implementation. For example, an ontology can support the creation of concept partitions. This functionality may not however be easily accessible to the user if their software does not provide an interface to it.


===Concepts=== ===Concepts===


In the context of an ontology a concept is anything about which something can be said. It may be a real entity, or fictitious. It may be concrete or abstract, a task, a reasoning process, a function etc. ] are the basic objects stored in an ontology. Concepts can represent real or fictitious entities, tasks, reasoning processes, functions or anything else in the domain(s) being modeled. Concepts can be concrete or abstract:


* '''concrete objects''' (also known as ''leaf node'' objects) are the actual items from the domain. For example, in the domain of ] the ] is a concrete object - you can go out and buy a Ford Explorer.
''Read more:'' ]


* '''abstract objects''' (also known as ''classes'' or ''categories'') are sets of objects that share a common feature. For example "4-wheel drive" is the class of cars that have power to all four wheels. The Ford Explorer is a concrete object that is a member of this abstract class.
===Partition===


===Attributes===
A group of related concepts about which rules can be created and applied is called a ''partition''.


Concept are 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 object it is attached to. For example the Ford Explorer object has attributes such as:
For example...


* ''Name'': Ford Explorer
Vehicle
* ''Number-of-doors'': 4
|
* ''Engine'': {4.0L, 4.6L}
-----------------------
* ''Transmission'': 6-speed
| |
2-Wheel Drive 4-Wheel Drive


The value of an attribute can be a complex ]; in this example, the value of the attribute called ''Engine'' is a list of values, not just a single value.
The two sub-classes of 'Vehicle' could be partitioned and a rule applied to ensure that an instance of 'Car' cannot be an instance of both '2-wheel Drive' and '4-Wheel Drive'. this is called a '''Disjoint Partition'''.


If you did not define attributes for the concepts you would have either a ] (if concept relationships are described) or a '''Controlled Vocabulary'''. These are useful, but are not considered true ontologies.
Another common use of a partition is to state that an instance of a concept must be an instance of one of the partitioned sub-concepts. This is an '''Exhaustive Partition'''.


===Attributes=== ===Partition===


A '''partition''' is a set of related classes and associated rules that allow objects to be placed into the appropriate class. For example, this partial diagram of an ontology has a partition of the Car class into the classes 2-Wheel Drive and 4-Wheel Drive:
Every concept within an ontology can be described by assigning attributes. Attributes allow more complex relations to be modelled using the ontology.
Consider an ontology that does not define attributes for its concepts; this would simply be a ] (if concept relationships are described) or a '''Controlled Vocabulary'''. These are useful, but might not be considered true ontologies.


]
*Instance Attributes -
*Class Attributes -
*Local Attributes -
*Global Attributes -


The partition rule determines if a particular car is placed in the 2-Wheel Drive or the 4-Wheel Drive class.
==Relationships in ontologies==


If the partition rule(s) guarantee that a single Car object 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'''.
Although the term 'ontology' has been used very loosely to label almost any conceptual classification scheme, among practising computational ontologists, a true ontology should, in addition to the ] relation ('']'', ''is subtype of'' or ''is subclass of'', ''has ]''), also describe entities by other '] relations' that specify how one concept is related to another.


===Relationships===
The most common of the semantic relations other than subsumption is the ]. In one formal notation, one might see a relation such as (isPartOf Spine Vertebrate), meaning that a ']' (in that specific sense) is part of a ]. The ontologies are organized by concepts, not words, so that the concept 'spine' referring to the spine of a book would have to be labeled by a different term, such as 'BookSpine'.


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 ], the Ford Bronco object might have the following attribute:
Good ontologies are a necessary prerequisite for establishing the Semantic Web.
Read more: ]


* ''Successor'': Ford Explorer
==Taxonomies and the 'directed acyclic graph'==


This tells us that the Explorer is the model that replaced the Bronco. Much of the power of ontologies comes from the ability to describe these relations. Together, the set of relations describes the ] of the domain.
Once conceptual entities have been described, the result is more accurately described as a 'controlled vocabulary' or even a ']'. It is obviously necessary to convey the relationships between entities if we are to accurately 'conceptualise' our domain of interest.


The most important type of relation is the ] relation (written as '']'', ''is-subtype-of'' or ''is-subclass-of''). 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 two most common relationships ('is a' & 'part of') are described below.


]
The addition of 'is a' relationships creates a 'linear' ]; a tree-like structure that clearly depicts how entities relate to one another. In such a structure, each entity is the 'child' of a 'parent class.' (Some languages restrict the is-a relationship to one parent for all nodes, but many do not.)


The addition of the is-a relationships has created a hierarchical ]; a tree-like structure that clearly depicts how objects relate to one another. 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)
Class A
|
-------------------------------------------
| |
Sub-Class B Sub-Class C
| |
---------------------- -----------------------
| | | |
Sub-Sub-Class D Sub-Sub-Class E Sub-Sub-Class F Sub-Sub-Class G


Another common type of relations is the ] relation (written as ''part-of'') that represents how objects combine together to form composite objects. 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 'part of' 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 ] (DAG). If we introduce part-of 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 ] (DAG).


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.
== Ontology languages ==


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'' ]. The ontology may also know that Louisville is-in ] and Kentucky is-a state of the ]. Software using this ontology could now answer a question like "which cars are made in America?"
To be useful, ontologies must be expressed in a concrete notation. An '''ontology language''' is a ] by which an ontology is built.

== Ontology languages ==


There have been a number of data languages for ontologies, both proprietary and standards-based: An '''ontology language''' is a ] used to encode the ontology. There are a number of such languages for ontologies, both proprietary and standards-based:


* The ] project has its own ontology language called ], based on ] with some higher-order extensions. * The ] project has its own ontology language called ], based on ] with some higher-order extensions.
Line 122: Line 110:


== See also == == See also ==
* ]
* ] * ]
* ] * ]

Revision as of 00:59, 26 March 2006

In computer science an ontology is a data model that represents a domain and is used to reason about the objects in that domain and the relations between them.

Ontologies are used in computer science, artificial intelligence, the semantic web, and software engineering as a form of knowledge representation about the world or some part of it. Ontologies are generally made up of:

  • concepts: objects and sets of objects (also known as classes or categories)
  • characteristics: the attributes of objects (also known as slots, roles, or properties)
  • relations: models of how concepts and characteristics related to one another (also known as functions)

Although the term "ontology" derives from its philosophical origin it has a separate and specific meaning in the field of computer science.

Types of ontology

Domain ontologies and foundation ontologies

A domain ontology (also known as a 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; an ontology about the domain of computer hardware would model the "punch card" and "video card" meanings.

A foundation ontology (also known as an upper ontology) is a model of the common objects that are generally applicable across a wide range of domain ontologies. It contains a core glossary in whose terms objects in a set of domains can be described. There are several standardized foundation ontologies available for use, the best known being the Dublin Core which is expressed in SGML.

Strong versus weak ontologies

Ontologies are described as stronger or weaker depending on the ability of a computer to process them. A paragraph of written text could technically be defined as a weak ontology as it contains knowledge about the world, however it is challenging for a computer to extract and process that data. An ontology defined in a formal ontology language such as OWL is a strong ontology, as a computer can understand the complete meaning (or semantics) of the ontology. A strong ontology is completely machine-readable.

Merging domain ontologies

Because each domain ontology represents a specific meanings of its set of terms, they are inherently incompatible with other domain ontologies. 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 engineer. Different ontologies in the same domain can also be due to different perceptions of the domain due to cultural background, education, ideology, or because a different representation language was chosen.

Merging ontologies is currently 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 (computer science) although these are still in a largely theoretical state.

Uses for ontologies

Ontologies are commonly used in artificial intelligence and expert systems. Computer programs can use an ontology for a variety of purposes including inductive reasoning, classification, a variety of problem solving techniques, and to facilitate communication and sharing of information between different systems.

Ontologies are a major piece of the Semantic Web framework. The ontology's ability to both classify data, and store reasoning rules about the data allows a computer (in this situation referred to as a user agent) to infer new knowledge from the knowledge stored.

Upper ontologies allow the computer to infer information from a larger domain of knowledge than usual.

Anatomy of an ontology

Contemporary ontologies share many structural similarities, regardless of which ontology language and therefore syntax is used.

Ontologies are knowledge stores, they do not nothing on their own. In practice an ontology is always closely associated with one or more software systems that process the knowledge it contains and produces useful results.

Concepts

Concepts are the basic objects stored in an ontology. Concepts can represent real or fictitious entities, tasks, reasoning processes, functions or anything else in the domain(s) being modeled. Concepts can be concrete or abstract:

  • concrete objects (also known as leaf node objects) are the actual items from the domain. For example, in the domain of automobiles the Ford Explorer is a concrete object - you can go out and buy a Ford Explorer.
  • abstract objects (also known as classes or categories) are sets of objects that share a common feature. For example "4-wheel drive" is the class of cars that have power to all four wheels. The Ford Explorer is a concrete object that is a member of this abstract class.

Attributes

Concept are 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 object it is attached to. For example the Ford Explorer object has attributes such as:

  • Name: Ford Explorer
  • Number-of-doors: 4
  • Engine: {4.0L, 4.6L}
  • Transmission: 6-speed

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.

If you did not define attributes for the concepts you would have either a taxonomy (if concept relationships are described) or a Controlled Vocabulary. These are useful, but are not considered true ontologies.

Partition

A partition is a set of related classes and associated rules that allow objects to be placed into the appropriate class. For example, this partial diagram of an ontology 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 object 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.

Relationships

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:

  • Successor: Ford Explorer

This tells us that the Explorer is the model that replaced the Bronco. 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.

The most important type of relation is the subsumption relation (written as is-a, is-subtype-of or is-subclass-of). 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 that clearly depicts how objects relate to one another. 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. 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 part-of 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).

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. Software using this ontology could now answer a question like "which cars are made in America?"

Ontology languages

An ontology language is a formal language used to encode the ontology. There are a number of such languages for ontologies, both proprietary and standards-based:

Examples of ontologies

See also : A list of ontology languages

See also

External links

Categories: