[sc34wg3] FYI: Contexts (was Classes vs. Instances)
Mason, James David (MXM)
masonjd at y12.doe.gov
Fri Apr 21 15:44:39 EDT 2006
From: standard-upper-ontology at ieee.org
[mailto:standard-upper-ontology at ieee.org] On Behalf Of John F. Sowa
Sent: Friday, April 21, 2006 2:59 PM
To: standard-upper-ontology at listserv.ieee.org; cg at cs.uah.edu
Cc: Nigam Shah; 'Paul Prueitt'; 'Alan Ruttenberg'; 'Paul J. Werbos';
bniemann at cox.net
Subject: Re: Contexts (was Classes vs. Instances)
This discussion about the problems of adding context information and other
features to OWL illustrates some fundamental principles:
1. A notation that is deliberately restricted in order to
facilitate one kind of algorithm is not likely to be
particularly good for purposes other than the one that
the notation was specifically designed to handle.
2. OWL and other DLs are optimized for one kind of inference
engine. Prolog, SQL queries, and some rule-based systems
are optimized for backward-chaining inference engines.
CLIPS, SQL triggers, and other kinds of rule-based systems
are optimized for forward-chaining inference engines. Still
other notations are optimized for other kinds of inference
engines, statistical methods, learning methods, etc.
3. Although I have often been critical of some of the design
choices underlying Cyc, I do support their idea of letting
the knowledge engineers focus on representing knowledge in
the most natural way for the application domain, and not
forcing them to suboptimize their representation for some
4. The differences between different versions of logic, such
as propositional logic, Aristotle's syllogisms, binary
relations vs. n-ary relations, description logics, Horn-clause
logic, first-order logic, higher-order logic, modal logics,
metalevel logics, context logics, etc., can be recognized
very quickly and efficiently by a simple syntactic analyzer.
5. There's no need to force users who don't know logic very well
to anticipate what inference engine should be used for their
problems and to shoe-horn their thinking into some predefined
pigeon holes. Instead, let them use the form of expression
that is the most natural for them. Then let the computer
analyze those expressions and select whatever subset of logic
and whatever inference engine is suitable for the problem at
hand. In fact, it's possible to have a dialog in which the
users and the system negotiate and modify the representation
through a cooperative design collaboration.
6. That is roughly what Cyc does: provide a very general notation
that is supported by a variety of different inference engines.
Given any particular problem, they let the system determine
which subset of logic to use and what inference engine(s) to
apply. My criticisms of Cyc are not that they should restrict
their notation, but rather that they should be even more general
and more flexible in the options they support. Among other
things, I would put more emphasis on induction, abduction,
and analogy. (I wouldn't discard deduction, but I'd treat
it as just one of many methods of reasoning.)
7. And by the way, Cyc does support a version of contexts and the
option of having multiple contexts with different subsets of
the knowledge base available in each. It also supports metalevel
reasoning about the contexts and what knowledge is available
or should be added to any of them.
Although I have been critical of Cyc, I am even more critical of the Semantic
Web because that has gone in the *opposite* direction.
Instead of learning from Cyc and doing something better, they have gone back
to the pre-1984 technology that was the starting point when the Cyc project
Cyc isn't the only thing that the SemWebbers ignored. They also ignored the
lessons of SQL and UML -- two widely used technologies that are not as good
as they should have been. Those two systems have not been improved, partly
because the available tools have been constrained by the requirement for
But the SemWeb broke compatibility without making any advances.
The SemWebbers try to excuse themselves by saying that they are trying to do
something less ambitious than Cyc in expressive power, but more ambitious
than Cyc in the amount of data they process.
But that sounds like Bush trying to explain the Iraq War.
In fact, no design study for the SemWeb or Iraq examined all the options in
order to determine what should be done or how to coexist with and
interoperate with other systems. The *only* design document that was used
for the SemWeb was Tim B-L's layer cake, which proposed Unicode, URIs, and
XML at the bottom and expressed the hope that magic would somehow occur at
Unfortunately, there's no magic in either Iraq or the SemWeb.
There's a lot more that could be said, and following are some pointers to
The following slides discuss the continuum between informal and formal
knowledge representations and some of the issues of mapping one to the other:
An analysis of the problems of knowledge representation in general and some
of the limitations of current approaches:
A paper on contexts, metalevel reasoning, and modal logic:
More information about the sc34wg3