Overview

The Conroy Ontology is an ontology that I've been working on for some time. Although far from complete, I am making it available here. It currently has about 15,000 items, which makes it about 15% finished in my estimation.

What is an ontology? An ontology is a hierarchical representation of knowledge. A taxonomy of insects, for instance, is a form of ontology. This ontology is a text file defining the relationships of things, which is an aspect of representing knowledge. It is plain text, which is easy to read and to edit, but could be easily converted into some other format, such as XML.

The ontology is organized into sections, each of which begins with "DEFINE". The first, and main, section is "DEFINE CLASSES". The next is "DEFINE PREFIXES" where word prefixes are defined. Next is "DEFINE SYNONYMS" which defines synonyms (usually acronyms). I place things in this section to keep the main section cleaner. "DEFINE CONDITIONALS" maps words to definitions. "DEFINE VARIANTS" defines words which represent a sub-class of other words. For instance, an Acrtress is a female actor. "DEFINE CONVERSIONS" is a section defining unit conversions.

Note that I haven't run a validation of the data in awhile, so there may be some errors in the form of typos or some items being defined before their "parent type" is defined. It should also be noted that I sometimes include relationships which are not technically correct, but match common usage. For instance "Whale = Fish". Sadly, even in our educated society, there are many who make this kind of error. Finally, I follow certain rules in the definitions that constrain the scope of the project. The main rule is that I do not include adjectival sub-classes (for instance, "Brown Bird" or "Wooden Peg"), as the combinatorial explosion that would result would make the task of completing the ontology impossible. However, if there is a valid sub-class of item whose name includes an adjective (such as "Black Bird", a species of bird) then that entry is included. Another rule is that I do not include proper names. THe final rule is that I avoid going down to the species-level on life forms, although I occasionally break this rule.

Syntax

DEFINE CLASS syntax:
The basic syntax is one line per definition. White space (blank lines and indentation) are simply there to help me in maintaining the file, but have no inherent meaning. Comments begin with "@" and terminate at the end of the line. Each definition has the form:
child = parent
where "child" is the item being defined in terms of "parent", which is a more general form of the item. For instance, "beetle = insect" indicates that a Beetle is a type of insect. "Insect" must have been previously defined, for instance "Insect = Arachnid". And so on. The parent class must have been previously defined. There are two "super classes" whose definition is implicit: "tangible" and "intangible". All definitions must fit into one of these. Tangible classes are things that can be touched (persons, places, things such as "butterfly"), and Intangible classes are things that are conceptual (ideas, such as "theory").

Some items have "multiple inheritance" - they can be considered as sub-types of more than one class of item. For instance, an "Air check valve" can be considered both a type of "air valve" as well as a type of "check valve". This is indicated with multiple parent classes, separated by commas. For instance: "air check valve = air valve, check valve".

Synonyms, usually alternate spellings, are indicated with double equals. I usually include acronyms in the "DEFINE SYNONYMS" section, and alternate spellings in the "DEFINE CLASSES" section. For instance, the surgical operation known as a Tracheotomy is also called a Laryngotomy. In this case, the synonym definition would be "Laryngotomy == Tracheotomy".

Access the Ontology