OntologySummit2007 FrameworksForConsideration

= OntologySummit2007: Frameworks For Consideration =

This is the working page to collect various frameworks we could employ in our endeavor to categorize or type different artifacts people might call "ontologies":

= Ontology Framework Draft =

''Release by the co-chairs of the OntologySummit2007_Framework_Session, as the strawman for further discussion (online or during the workshop). We are aiming toward arriving at a consensus "framework" through this community process by the conveners of OntologySummit2007. -- (posted by: LeoObrst & MichaelGruninger / 2007.04.19-18:18 EDT)''

Ontology Framework Draft Statement
TomGruber, MichaelGruninger, PatHayes, DeborahMcGuinness, LeoObrst 4/19/2007

Summary
This is a starting point for discussion at the Ontolog Summit 2007 (entitled "Ontology, Taxonomy, Folksonomy: Understanding the Distinctions") on a framework for characterizing the space of ontologies. The aim of the framework is to establish a conceptual grounding for the notion of ontology in our field and to identify distinctions and dimensions on which ontologies are alike and differ. The Summit process can use this as an organizing framework in which to place various examples of ontologies, taxonomies, folksonomies, etc., found in the wild.

Principles

 * 1. United we stand.  The approach in this framework draft is to clarify a broad yet coherent notion of ontology that encompasses most of what we see in the field under the label of ontology, instead of  saying there is no common concept and admit a family of incompatible definitions.  We can analyze different kinds of ontologies according to their properties or uses, but we should ground our discussion from a clear definition of terms.


 * 2. It's just a word. When we talk about what "ontology is" we are talking about ontology as a word (a technical term for computer science), and our aim is to clarify a technical word sense for that word, as opposed to making a claim about the nature of reality or language or any style of representation.


 * 3. Definition versus approach. The aim of this framework is to give an objective description of the word ontology as it is used in practice, so that the public and practitioners can know what is meant when we use the term in publication and speaking.  In our case, practice is research and application of computer science and information technologies.  Our aim is not to enshrine into a definition a particular theoretical perspective or technical approach.


 * 4. Diversity without divergence. Ontologies in computer science were originally proposed to enable sharable and reusable representations of knowledge. Nevertheless, the sheer range of current work in ontologies (including taxonomies, thesauri, topic maps, conceptual models, and formal ontologies specified in various logical languages) raises the possibility of ontologies being developed without a common understanding of their definition, implementation and applications. Our objective is to provide a framework that ensures that we can maintain sharability and reusability among the different approaches to ontologies.

Distinctions

 * 1. There are at least two important word senses for 'ontology': ontology as a field of study "ontology (philosophy)" and ontology as a technology for computer and information scientists. We are talking about the second sense of the word, "ontology (computer science)".


 * 2. Ontology could refer to either (1) a piece of information that can be talked about objectively, communicated in digital media, and shared without loss of information among a community; or (2) a set of ideas, concepts, abstractions, or other entities that are not the same as the representations or descriptions of them. We propose that we limit our discussions to the first sense: ontology as an objective form.  The other sense is called a conceptualization.


 * 3. In the context of computer and information sciences, an ontology is a specification of a conceptualization. That is, it specifies the concepts, ideas, relations, abstractions, and so forth in an objective form.  The intent is to clarify the meaning, enabling shared understanding.  This is the conventional sense of specification in computer science, analogous to the terms requirements specification, database specification, and program specification.  In the context of knowledge representation in particular, an ontology specifies the conceptual primitives for representing a domain, in the same way that a database schema specifies the relations used in a database, and a programming language provides the primitives used in an implemented algorithm.


 * 4. An ontology provides a specification of a conceptualization by defining a representational vocabulary -- a set of terms that can be used to represent the domain -- together with constraints on their meaningful use. The representational vocabulary may include concepts or categories, relations, properties, or other primitives for representing knowledge.  The "content" of this specification includes:
 * Identification of the fundamental categories in the domain
 * Identification of the ways in which members of the categories are related to each other
 * Constraints on the ways in which the relationships can be used


 * 5. Although an ontology defines vocabulary for representing a domain, it is not a specification of form.  That is, it does not prescribe the form in which knowledge is represented, stored, communicated, or reasoned about.  For example, it does not require that integers be stored in 16 bits, or that it allows for efficient computations. This is how an ontology differs from a data model, and is why ontology is not defined by its form but by its role: to enable sharing, reuse, and application of knowledge.


 * 6. It does not matter to this definition whether an ontology is formally equivalent to a logical theory, whether there is a formal difference between an ontology and a knowledge base, or whether an ontology is only definitional or also contains axiomatic constraints. In fact, it is not necessary that the ontology be represented in any kind of logical formalism. Many highly successful specifications (eg, the HTTP standard) are given only in natural language, yet can be enforced with machine-understandable tests and examples.  What matters is that its purpose is to specify a conceptualization, in what ever representational form is appropriate.

Definition
For the purposes of the framework, therefore, we define what we mean by the term "ontology (computer science)". Incorporating the distinctions introduced above, we have adapted the definition of ontology given in a widely cited article in our literature, to this:


 * An ontology, for computer and information sciences, is a specification of a conceptualization, which is the set of ideas, concepts, relationships, or other abstractions that comprise a domain of modeling or discourse. An ontology defines a representational vocabulary for the conceptualization, and specifies constraints on the meaningful use of this vocabulary, so that facts about the domain can be shared, communicated, and reasoned about.

Kinds of Ontologies
Ontologies can vary on several important dimensions. We propose a set of dimensions that can be used to distinguish among different approaches. There are two kinds of dimensions:


 * Semantic - how an ontology specifies the meaning of its representational vocabulary


 * Pragmatic - the purpose and context in which the ontology is designed and used

Semantic Dimensions:

 * 1. Level of structure: This is akin to the notion of structured and unstructured data in computer science. An ontology that specifies formally defined concepts such as mathematical abstractions is high in structure, while an ontology that specifies very general concepts such as document and hyperlink is low in structure. Many ontologies are semistructured, containing a mix of formal and informal definitions of concepts and relationships.  For example, a bibliographic ontology for data about books may contain the concept of date, with formal constraints on the notion of time envisioned (high structure), and the concept of book title, which is only known as a string of text (low structure).  Another way to think of level of structure is the degree to which the vocabulary in an ontology is constrained and can support computation: structured data such as relational database of numbers has strong constraints and supports powerful computation; raw text documents with hyperlinks have few constraints on what can be said or inferred from the data.  (Level of structure goes hand in hand with whether the concepts are formally defined; so one could also call this dimension level of formality.  We use the word structure because formal has so many other word senses that are important in ontology work.)


 * 2. Expressiveness of the language or framework used: Although an ontology is not a definition of form (e.g., the syntax of a language), an ontology defines its vocabulary in some representational form. Ontologies differ in the expressive power of the language used in the specification. Some conceptualizations require a highly expressive language to define the concepts, where others can be specified with a less expressive language.   This is related to the level of structure dimension. A highly structured and formal ontology might require a language capable of stating logical or mathematical constraints, whereas an informal ontology may be expressed only as a list of terms and definitions in a natural language such as English.  Furthermore, the language used for stating logical or mathematical constraints can vary in expressivity.  For example, individuals or instances cannot be expressed in propositional logic, while predicate calculus can express properties of individuals.


 * 3. Representational granularity: While expressiveness is a characteristic of the language in which an ontology is given, granularity is a property of the content of ontology itself. A course granularity ontology is specified using only very general representational primitives, such as concepts and subsumption in a taxonomy, where a fine granularity ontology specifies much more detail about the properties of concepts and how they can relate to each other.

Pragmatic Dimensions:

 * 1. Intended use: The intended use may be to share knowledge bases, to enable communication among software agents, to help integrate disparate data sets, to represent a natural language vocabulary, to help provide knowledge-enhanced search, to provide a starting-point for building knowledge systems, to provide a conceptual framework for indexing content, etc. The intended use often means that there is some application that is envisioned for which the ontology is being developed. For example, one might want to situate documents within a framing topic taxonomy that roughly characterizes the primary content of the document: this is categorization and helps one semantically loosely organize document collections. Or one might want to use a thesaurus and especially its synonyms and narrower-than terms to enhance a search engine that can employ query term expansion, expanding the users text search terms to include synonyms or more specific terms and thus increasing the recall (i.e., total set of relevant items) of retrieved documents.


 * 2. Role of automated reasoning: Automated reasoning can range from simple to complex. Simple automated reasoning can mean machine semantic interpretability of the content, which only requires that the language that the content is modeled in is a logic or that a special interpreter/inference engine has been constructed that knows how to interpret the content. The former approach (a logic) is a principled or standards-based approach; the latter (construction of a special interpreter/inference engine) is an ad hoc and often proprietary approach. In the simple automated reasoning case, the machine may be able to make inferences such as that the subclass relation means that properties defined at the parent class should be inherited down to the children classes; this is the property of transitivity. More complex automated reasoning is usually expressed as deductive rules, i.e., inference rules or expressions that combine information from across the ontology that characterize dependencies much like if-then-else statements in programming languages or business rules that try to characterize things that have to hold in an enterprise but which cant typically be expressed in relational databases or object models. Complex automated reasoning requires that the content be modeled in a logic based language simply because notions like validly concludes or X is consistent with Y are not expressible generally in ad hoc implementations.


 * 3. Descriptive vs. prescriptive: Does the content describe, i.e., characterize the entities and relations among the entities, as a user or an expert might characterize those objects? Or does the content prescribe, i.e., mandate the way that those entities and their relationships are characterized? Descriptive often takes a looser notion of characterization, perhaps allowing arbitrary objects into the model, which might not exist in the real world but which are significant conceptual items for the given user community. Prescriptive often takes a stricter notion of characterization, stating that only objects which actually exist or that represent natural kinds or types of things in the real world should be represented in the content of the engineering model.


 * 4. Design methodology: Was there a methodology employed in the construction of the ontology? Possible ranges of methodology include: bottom-up, top-down. A bottom-up (sometimes called empirical) methodology places strong emphasis on A) Either solely analyzing the data sources so that the resulting ontology covers their semantics, or B) Enabling arbitrary persons to characterize their content as they personally see fit, using terminology or metadata and whatever structuring relations (or not) that they desire to use, with perhaps an auxiliary notion or assumption that in by doing so, patterns of characterizations may emerge or be preferred by a large group or community of persons.

Positive examples - things that can be ontologies

 * Formal specifications of vocabulary used to represent units and measures in engineering equations, with axioms that define their meaning and well-formed use
 * Definitions of abstract classes, their properties, and their relationships -- when used to specify a conceptualization independent of a particular program or data structure formalism
 * Database conceptual schemas describing abstract relations -- not specifying ways of storing information in digital form
 * Object models that specify classes and their properties, and relations among classes, instances, etc.
 * Biological taxonomies, when specified explicitly with information used to classify organisms
 * Upper ontologies - CYC Upper Model, DOLCE, SUMO, BFO
 * Thesauri, that by definition focus on natural language term (word, phrase) semantic relationships usually characterized by broader_than, narrower_than, and synonymy: WordNet, where synonym sets (synsets) are loosely identified as concepts.

Near Misses - what might be confused with an ontology

 * Ordinary databases of ground facts
 * Sets of tag assertions in Social Web applications
 * Dictionaries of human language with no machine-readable semantics beyond text strings
 * Children's picture books of animals of various sorts

Examples to discuss

 * Internet standards documents
 * Box and arrow diagrams on a whiteboard
 * Specifying a conceptualization via demonstrations, unit tests, other exemplars
 * A thesaurus for a natural language

- end of draft statement -

''Except for the authors (and designated maintainer of this post), please do not modify the draft above statement. ''

Your comments on the above statement and further suggestions for the 'Framework' are invited. Please post below.


 * if you are referring to a particular portion of the document above (or other documented snippet of the ongoing discourse), please cite its PurpleNumber or the specific section.
 * kindly include your name and date-time stamp of your comment for follow-up purposes.
 * you can post your comment to the [ontology-summit] listserv too - mailto:ontology-summit@ontolog.cim3.net

Comments to the above draft

 * This is an example. I think the cited example are great. They are extremely helpful to clarify things.
 * ref: http://ontolog.cim3.net/cgi-bin/wiki.pl?OntologySummit2007_FrameworksForConsideration#nid10DO
 * by PeterYim / 2007.04.19-17:18PDT


 * The draft above looks like a good start, but there's been some great framework work available that we can leverage. Some folks here are already familiar with the Information Flow Framework. For those who are not, IFF is a descriptive category meta theory that uses category theory, information flow and formal concept analysis. Highlights include Goguen's Theory of Institutions as well as Sowa's Lattice of Theories. See below for reference to the ongoing work on IFF.
 * ref: http://suo.ieee.org/IFF/
 * by Rick Murphy / 2007.04.24-9:25EDT


 * I agree this is a good start. I mildly regret that we still seem to be hung up on the word "ontology", and then get caught in a debate as to what is "in" and what is "out". I would rather see an inclusive framework for all knowledge structures. "Ontologies" will occupy some range within that framework, and other things will be situated elsewhere in the framework. Such a framework would help anyone who is trying to better understand anyone else's "knowledge work", whether or not it is an ontology.
 * Steve Ray / 2007.07.10

(Please insert your comments below)



Other Input received over the OntologySummit2007 discourse:

 * OntologySummit2007_FrameworksForConsideration/DimensionsMap
 * OntologySummit2007_FrameworksForConsideration/DimensionsAspects
 * OntologySummit2007_FrameworksForConsideration/MaturityModel
 * OntologySummit2007_FrameworksForConsideration/UnifiedFrameworkOntology (UFO)
 * OntologySummit2007_FrameworksForConsideration/TheDaoOfOntology
 * OntologySummit2007_FrameworksForConsideration/AssessmentCriteria
 * ...(insert content here)