W3C home > Mailing lists > Public > www-rdf-comments@w3.org > April to June 2002

Re: FAQ: stratified class hierarchies vs. RDFS

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


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 

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 

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.


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 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:15:18 UTC