- From: Benja Fallenstein <b.fallenstein@gmx.de>
- Date: Sat, 08 May 2004 12:47:53 +0300
- To: "Burkett, Bill" <WBurkett@modulant.com>
- Cc: www-rdf-interest@w3.org
-----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 Saturday, 8 May 2004 05:48:59 UTC