- 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
> >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 2.5.3.20 [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 metaclass. 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. rdfs10 If E contains: xxx [rdf:type] [rdfs:Class] then add: xxx [rdfs:subClassOf] xxx rdfs11 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