The literature on artificial intelligence contains several definitions for the word « ontology »; some are conflicting.
An ontology defines a common vocabulary for researchers who need to share information in a given domain. It includes machine-readable definitions for basic concepts in this domain, and their relationships.
Here an ontology is understood to be an explicit formal description of the concepts, in a given domain (« classes », sometimes called « concepts »), properties that describe the characteristics and attributes of each concept (« attibutes » sometimes called roles » or « properties »), and restrictions on the attributes (« facets », sometimes also called « role restrictions »). An ontology, together with all of the individual instances of its classes, constitutes a knowledge base. The boundary between the notion of ontology and the notion of knowledge base is somewhat blurred.
Ontologies have become a significant component of many applications, and will play an important role in the development of the future « Semantic Web ».
An article by two researchers at the Stanford University addresses the issue, and proposes a method for developing ontologies, basing on declarative systems for knowledge representation. The authors describe their experience in ontology development and maintenance in a number of environments in which ontologies are used.
This method can be used to develop ontologies in any object-oriented system.
Ontology Development 101 : a guide to creating your first ontology / Natalya Fridman Noy, Deborah L. McGuinness. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05, Stanford Medical Informatics Technical Report SMI-2001-0880, March 2001.
Friday, May 14, 2010
SeeOntology Development 101: a guide to creating your first ontology / Natalya Fridman Noy, Deborah L. McGuinness. Stanford Knowledge Systems Laboratory Technical Report KSL-01-05, Stanford Medical Informatics Technical Report SMI-2001-0880, March 2001.