- From: Tim Berners-Lee <timbl@w3.org>
- Date: Fri, 21 Jun 2002 23:36:39 -0400
- To: "R.V.Guha" <guha@guha.com>
- Cc: Dan Connolly <connolly@w3.org>, www-rdf-comments@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 UTC