[Top] [All Lists]

Re: [ontolog-forum] Ontologies, knowledge model, knowledge base

To: ontolog-forum@xxxxxxxxxxxxxxxx
From: John F Sowa <sowa@xxxxxxxxxxx>
Date: Thu, 09 Aug 2012 09:03:45 -0400
Message-id: <5023B531.2050301@xxxxxxxxxxx>
Dear Juan,    (01)

> I have encountered some difficulties concerning the meaning
> of these terms and how they are related each other.    (02)

Those are closely related terms, and nobody has ever stated
precise definitions that could distinguish them.    (03)

The oldest of the three is 'knowledge base'.  It became popular
in the late 1970s and early '80s to distinguish AI systems,
especially expert systems, from the more familiar databases.    (04)

Another term that was popular around the same time was
'deductive database'.  It was used for systems that added
rules or axioms plus an inference engine to a database.
The idea is that the rules or axioms were the knowledge base,
and the data stored in the DB specified the facts (or ground-
level clauses, as they're called in logic).    (05)

In philosophy, the word 'ontology' means the study of existence.
A specific ontology is a theory about what exists.  I used that
word my 1984 book, _Conceptual Structures_, but always in the
philosophical sense.    (06)

In the late 1980s, Doug Lenat coined the term 'ontology engineering'
as a variation of 'knowledge engineering', and he advertised for
*ontology engineers* for the Cyc project.  At that time, the term
was mildly humorous or mildly startling.  But in the 1990s, it
became more popular.    (07)

The basic idea is that an ontology goes beyond a taxonomy
of everything that exists (or can exist) in some domain.
The crucial addition is a *theory* about what exists.
That theory determines the critical axioms and definitions
that distinguish a knowledge base from a database.    (08)

But that definition leaves the distinction between an
ontology and a knowledge base very unclear.  Are all the
axioms and definitions of a knowledge base part of the
ontology?  Or only some of them?  Where do you draw the
line to distinguish them?    (09)

This question has been hotly debated, and nobody has a clear
answer.  Some people claim that only the most important or
fundamental axioms and definitions belong in the ontology,
and the less important ones should be in that part of
the knowledge base that is outside the ontology.    (010)

Other people argue that the ontology should use a very simple
version of logic, such as Aristotle's syllogisms, to define
the ontology.  The Description Logics are a minor extension
of Aristotle's logic that are widely used for ontology.
A popular example is OWL.    (011)

But that raises another issue: where do you draw the line between
the logic used to define the terms, and the logic used for the more
detailed reasoning.  That is a controversial issue.  Anybody who
answers it uses their favorite technology to make the distinction.    (012)

Finally, 'knowledge model' is a term that is related to the term
'data model', which developed in the database field.  In DBs,
the distinction was about the storage method:  in tables for the
relational model, networks for the network model, or trees with
cross references for the hierarchical model.  Each of those three
models has exactly the same expressive power, since anything stated
in one can be translated to the others.    (013)

For knowledge bases, it's not clear how to distinguish a knowledge
model from an ontology.  And since the distinction between an
ontology and a knowledge base is unclear, it's even harder to say
what a knowledge model could be.    (014)

For more about these issues, see the slides I presented in June
for a tutorial at the Semantic Technology Conference:    (015)

    Knowledge Design Patterns    (016)

John Sowa    (017)

Message Archives: http://ontolog.cim3.net/forum/ontolog-forum/  
Config Subscr: http://ontolog.cim3.net/mailman/listinfo/ontolog-forum/  
Unsubscribe: mailto:ontolog-forum-leave@xxxxxxxxxxxxxxxx
Shared Files: http://ontolog.cim3.net/file/
Community Wiki: http://ontolog.cim3.net/wiki/ 
To join: http://ontolog.cim3.net/cgi-bin/wiki.pl?WikiHomePage#nid1J    (018)

<Prev in Thread] Current Thread [Next in Thread>