W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2004

RE: interpretation of instance and subclass

From: Burkett, Bill <WBurkett@modulant.com>
Date: Thu, 13 May 2004 12:48:13 -0400
Message-ID: <9B380E0FEF2D3149B5F02D7609352C36010AED63@ch1ex1.pdit.int>
To: "Benja Fallenstein" <b.fallenstein@gmx.de>
Cc: <www-rdf-interest@w3.org>

Hello, Benja:

Thank you very much for the reply and explanation.  Your response helped in one respect in that you pointed out that C is also a subclass of C and peers of M and m.  A class is a subclass of itself - and I'd forgotten this, so you are right. 

However, I still haven't found the clarity of understanding I would really like.  Perhaps this discussion has already taken place on different semantic web discussion threads and this is the reason I haven't received much feedback/input on this subject.  But I would like to press the matter a bit more because I still feel there's a fundamental paradox in considering a class as a member/instance of AND a subclass of a parent class.  And the paradox has to do with the transitivity.

"(-" = "member of"
"<" = "subclass of"

Using my example again: 
  m (- M
  M (- C
  M  < C

The problem I have is an apparent contradiction in the latter two statements with respect to m.  As a member of C, members of M are *not* also members of C.  As a subclass of C, members of M *are* also members of C.  Is this where we find the Incompleteness of our rdf/rdfs representational langauge?  Is this an inherent paradox/contradiction that we just have to live with?

You've stressed the importance of a "metaclass", Benja.  Is there some aspect of this term that I'm failing to understand in my understanding of this situation?

Bill



-----Original Message-----
From: Benja Fallenstein [mailto:b.fallenstein@gmx.de]
Sent: Saturday, May 08, 2004 2:48 AM
To: Burkett, Bill
Cc: www-rdf-interest@w3.org
Subject: Re: interpretation of instance and subclass


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1


I think the part from which all of this follows, and the one that you
really have to wrap your mind around for the rest to become obvious, is
that rdfs:Class is an instance of itself. (Of course, the whole thing is
already obvious to me, so maybe my explanation won't help...)

Let's look at a normal rdf:type triple:

~    prs:timbl   rdf:type   foaf:Person.

Obviously, we can infer from this triple that foaf:Person must be a class.

Or as a triple:

~    foaf:Person   rdf:type   rdfs:Class.

But if we apply the same rule again (the object of rdf:type is a class),
we find that:

~    rdfs:Class   rdf:type   rdfs:Class.

Which makes sense if we see rdfs:Class as 'the kind of thing that can
appear as the object of an rdf:type triple'...

So rdfs:Class is both an instance of itself, and a subclass of itself
(since every class is a subclass of itself). We can call rdfs:Class a
'metaclass,' since it is a class of classes.

With that definition, *any* metaclass must be both--

- - an instance of rdfs:Class

~  (because a 'class of classes' is by definition a class)

- - a subclass of rdfs:Class

~  (because if all members of C are classes, then all its members
~  are instances of rdfs:Class, and therefore C is a subclass
~  of rdfs:Class)

The examples you cite are both instances and subclasses of
rdfs:Class/owl:Class simply because they are metaclasses.

| Bill Burkett wrote:

|>A fundamental
|>problem I'm having is understanding the transtivity of membership.  If
m is an instance/member
|>of class M, and M is both an instance/member of and a subclass of
class C, then transitivity
|>would state that m is also an instance/member of C (because M is a
subclassOf C).

In other words, for the cases we have looked at:

~    If M is a metaclass, and m is an instance of M, then m is a class
~    (instance of rdfs:Class/owl:Class).

Sounds sensible.

|>This would
|>further imply that since M is also an instance of C, m and M are
somehow peers as instances of
|>C - which I find odd and hard to understand/reconcile.

More: In your examples, m, M, *and C* are peers as instances of C!

This is because all of m, M, and C are classes. M and C are a special
kind of class, a metaclass, but they're still classes. So yes, in that
sense they are 'peers.'

I find it all obvious ;) ;) ;)

Dunno if this helps,
- - Benja

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org

iD8DBQFAnKzIUvR5J6wSKPMRAk+xAKCLW9VeUTkRX55wzTJUfClKP1WqigCeJHHz
AWeMIjon2q0+CRirKGnwFUM=
=dHZm
-----END PGP SIGNATURE-----
Received on Thursday, 13 May 2004 12:49:05 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:52:07 GMT