Re: rdfs:subClassOf and metaclasses

>  > >3.  Introduce a rule into RDFS prohibiting the situation above:
>>  My take is that this going beyond what RDFS is trying to do.  Others may
>>  disagree.  Danbri, Guha?
>I am now convinced that this is a real problem in RDFS.  The rdfs:subClassOf
>property already restricts its domain and range to rdfs:Class, because
>subclassing only "makes sense" for classes.  But what happens when (for
>whatever reason) you have different kinds of classes, i.e. different
>subclasses of rdfs:Class?

Well, nothing 'happens'. The question to ask, it seems to me, is 
whether this situation can be modelled (described) in RDFS; and the 
answer is that it can to some extent. The obvious way would be to 
introduce subproperties of rdfs:subClassOf which have domain/ranges 
restricted to the classes (of classes) you are interested in, for 

What RDFS cannot do is to state your condition as a general rule, ie. 
that the domain and range of the subproperty must be from the same 
metaclass (without saying what that metaclass is.) But then RDFS has 
no way to state any general rules of this kind that involve a 
universal quantification.

>  I think subclassing only "makes sense" for
>classes instantiated from the same metaclass [1].  (This can be relaxed to
>"related metaclasses", with the relationship as explained below.)

Well, you are of course entitled to that view, but it is not one 
shared by a large sector of the potential user community, nor indeed 
by most mathematicians or users of description logics more generally, 
so I do not think it would be appropriate to build it into the basic 
semantic machinery of RDFS.

By the way, the term 'metaclass' has no exact meaning of which I am 
aware, but I take it that by this term you mean to refer to a certain 
kind of class of classes, is that correct? Ie, a subclass of 
rdfs:Class ?

>I think UML is generally a good guide for metamodeling [2], and it does have
>this restriction in the form of [5]:  "A GeneralizableElement may
>only be a child of GeneralizableElement of the same kind."  This essentially
>says that if A subclasses B, then A's metaclass must be a subclass of B's
>The problem now is to adapt this constraint to a metamodel that a) is
>unstratified and b) has multiple classification.  Actually (a) turns out not
>to be a problem.  For (b), I think we must take the rule above and expand it
>to all pairs of metaclasses.

Why only pairs?

>In terms of the RDF model theory, I propose the two extra closure rules
>below.  rdfs10 just makes rdfs:subClassOf reflexive. [3]  rdfs11 imposes the
>metaclass subclass restriction on rdfs:subClassOf.

I do not think that this would be generally acceptable as a global constraint.

>If E contains:
>   xxx [rdf:type] [rdfs:Class]
>then add:
>   xxx [rdfs:subClassOf] xxx

This is already a consequence of the current closure rules.

>If E contains:
>   www [rdfs:subClassOf] xxx
>   www [rdf:type] yyy
>   xxx [rdf:type] zzz
>then add:
>   yyy [rdfs:subClassOf] zzz

That is obviously invalid. For example, let www be the class of 
integers less than ten, xxx the class of all integers, yyy the class 
of all finite classes, and zzz the class of all infinite classes. The 
basic point is that classes may have 'intrinsic' properties (such as 
finitude), which arise from their nature as a class rather than from 
the nature of their members.

>Comments and criticisms are, of course, appreciated.
>         -- P.
>[1] I'm only using the word metaclass to indicate a resource that is a
>subclass of rdfs:Class.  Nothing to do with stratification.
>[2] Please don't let the mention of UML negatively prejudice my comment.
>The problem is inherent to all class-based systems that support subclassing,

I do not see that there is any problem here that needs to be solved. 
Set theory supports subclassing but does not have any 'metaclass' 

Pat Hayes

IHMC					(850)434 8903   home
40 South Alcaniz St.			(850)202 4416   office
Pensacola,  FL 32501			(850)202 4440   fax

Received on Monday, 8 July 2002 15:15:23 UTC