# Re: FAQ: stratified class hierarchies vs. RDFS

From: Tim Berners-Lee <timbl@w3.org>
Date: Fri, 21 Jun 2002 23:36:39 -0400
To: "R.V.Guha" <guha@guha.com>
Message-Id: <4329F562-8591-11D6-B693-000393914268@w3.org>
```
Guha,

Responding completely intuitively without a set of proofs to match,

It seems that the fundamental difference between classes and sets is
that in set theory (as PPS said in his recent tower of babel paper) that
one expects of course a well defined membership function for any set.
For any object and any set, the object is or is not in the set.  This is
a technique we can use so long as we restrict ourselves to talking about
people. We have avoid the self-reference.

In a web-like context, self-reference comes up all the time, as a direct
result of anything being able to refer to anything. (so for example any
formula being able to cite any other formula or itself).  We can't say
that every formula is or isn't true.

So we can't use set theory for the semantic web.  That is a shame, as
model theoretical analysis which some people feel defined eth meaning of
langauges  rather assumes set theory from the get-go.  Nevertheless,
people have tried it and guess what -- run up against paradox. But when
you think about it, its obvious.

The solution then is to remove the assumptions of set theory.
Remove the assumption that every class has a compliment, leaving the
fact that a B is a compliment of A being a statement, not an axiom.

This is equivalent in axioms to *not* using classical first order logic
with a classical NOT.
Which is why I like the axiom style of what you are doing, Guha but i
worry about the classical nature of it.

The solution to the webont mess seems to need real changes. The "not"
has to go. That means cardinality and complement have to go. Maybe more
stuff.

One can, of course, build up set theory in restricted areas.  For a huge
number of situations, there are limitations which allow it to work.
This I think of as being another form of closed world assumption.
Suppose we subclass classes to classes of individuals which cannot be
classes or properties. and we subclass properties to those which are not
properties of properties. Then, while we can't write the axioms for
DAML, we can write a lot about people and telephone numbers and orders
of mild steel.  So within those restricted environments, the folks with
set theory like first order systems can go use them.  These are the
stratified systems, and their kin.

But the general semantic web logic has to be more general, and so cannot
have 'not'.

DanC and i have been getting on quite well in practice using
log:notIncludes, something which checks whether a given formula contains
a given statement (or formula).  It is a form of not which is very
clean, formulae being finite things.  Doesn't lead the Peter Problem.

In fact there are a lot of things (like log:includes and
log:notIncludes) which are converses.The arithmetic operators like
greaterThan, for example.  Things typically defined with domains and
ranges which have some sort of finiteness.  So to a certain extent one
can do notty things with such statements.  So there seems to be
something to be said for declaring these things in schemas.  So the
question you ask about whether to talk of the class of people or the set
of people might be useful to be answered, where it can be , by using the
set. This allows more axioms to apply, allows different forms of
inference.

This is the way I feel it is going, but i don't have the experience to
write you down the axioms.

Mind you I might be able to guess which ones to remove from lbase.

Tim

PS: Union being something only with sets makes sense, as union axioms
have to have a not in them.

On Friday, June 21, 2002, at 02:31 PM, R.V.Guha wrote:

> Dan,
>
>  There is a rather fundamental difference in the intended meaning of
> rdfs:Class vs Sets. One comes from cognitive science and the other from
> Math.  rdfs:Class is intended to capture the concept of "category" or
> "kind" as that term is used in cog-sci and not the concept of Set. In
> Cyc, for example, we had different nodes corresponding to Class and
> Set. (Quine wrote a very nice essay on this topic [1]).
>
> Here are some examples that illustrate the difference. (V is the union
> operator).
> a) Both perspectives would include the concepts of Person and Table.
> The rdfs:Class perspective would not  include (Person V  Table). The
> Set perspective would.
> b) DanC is an instanceOf Person. In the set perspective, he would also
> be an instanceof (Person V SquareTriangle) and (Person V
> SuperNovasOnEarth) ...
>
> Saying that rdfs:Class is the rdfs:Class of all rdfs:Classes does not
> cause problems because we do not and cannot have a theory of
> rdfs:Classes such as ZF set theory.
>
> Both these concepts are very useful and we need them both. But it is
> important not to mix up the two. Both approaches are relatively common,
> with the rdfs:Class approach being more commonly used in large scruffy
> implementations and the set oriented approach being more common in
> formalizations such as DLs.
>
> The important question is, which one do we use to describe concepts
> like "Person"? My personal preference is for the cog-sci approach. It
> is more pliable and fairly immune to logical nastinesses like
> paradoxes. I would also argue that this robustness also makes it a
> better choice for the SW.
>
> Guha
>
> [1] Quine, W. V. O. (1969). Natural kinds. In Ontological relativity
> and other essays, pages 114--138. Columbia University Press, New York,
> NY.
>
>
>
```
Received on Friday, 21 June 2002 23:36:52 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Friday, 21 September 2012 14:16:30 GMT