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

Re: rdfs:subClassOf and metaclasses

From: Piotr Kaminski <piotr@ideanest.com>
Date: Tue, 02 Jul 2002 17:48:56 -0700
To: Brian McBride <bwm@hplb.hpl.hp.com>, www-rdf-comments@w3.org
Message-id: <006301c2222b$717757e0$ada15018@transfinity>

> >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?  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.)

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.

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.

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

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

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,
but UML happens to be a relatively well-specified one.

[3] I didn't follow all the discussions about proper subclasses and such,
but when searching the archive the trend seemed to be towards a non-proper
interpretation.  If this is wrong, rdfs11 will be a bit trickier to write.

  Piotr Kaminski <piotr@ideanest.com> http://www.ideanest.com
  It's the heart afraid of breaking that never learns to dance
Received on Tuesday, 2 July 2002 21:07:05 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:44:00 UTC