Re: Classes and predicates as first class objects

Here are some additional comments on this topic --

It is very useful and not unheard of for representation systems to
include classes and predicates as first class objects.  Prominent
examples of which I am familiar include the versions of the Knowledge
Interchange Format (KIF) that included set theory (e.g., version 3.0,
http://www-ksl.stanford.edu/knowledge-sharing/kif/) and the OKBC
knowledge model (http://www.ai.sri.com/~okbc/).  In those versions of
KIF, a predicate is a set of lists, all finite lists of objects in the
domain of discourse are in the domain of discourse, and all sets of
objects in the domain of discourse are in the domain of discourse.  In
the OKBC knowledge model, all classes (which are unary predicates), all
slots (which are binary predicates), and all facets (which are ternary
predicates) are in the domain of discourse.

Including predicates and classes in the domain of discourse provides
very important expressive power for many domains and applications.  For
example, it enables one to define classes of classes (e.g., the class of
"year-months" whose instances are the classes "January", "February",
etc., each of whose instances is a month of a particular year), to
assert property values for classes (e.g., their cardinality), and to
assert properties of predicates (such as being transitive or symmetric).

I would think that many uses of the Semantic Web will require the
expressive power provided by treating classes and predicates as first
class objects.

Richard

Received on Friday, 16 August 2002 01:25:52 UTC