Ontology itself is a formal representation of knowledge
widely used to aid electronic data processing. Common examples
include cyc [3], and those in biological and medical
areas like gene ontology [4] and foundational model
of anatomy [5]. Ontology uses a set of tuples to describe
some knowledge in a certain domain and these tuples are
easily processed by computers. With the help of recent
markup ontology languages like OWL/RDF, ontology has
become more friendly for human understanding than traditional
ones like CycL [6]. Meanwhile, as ontology defines
all necessary concepts (classes) and their relations in a knowledge domain as it subject-property-object tuples,
computer programs can easily “understand” the semantics
of the defined concepts without ambiguity. For example,
if we have John-isA-prof and prof-worksIn-univerisity, as
the ontology, a program committed to this ontology recieves
John-worksIn-uwo as input and understands “uwo is a university”
without having this piece of knowledge hardcoded
into its logic. No matter how many programs there will be,
as long as they are committed to the same ontology, these
programs all understand “uwo is a university” and act according
to this fact.