- From: Frank Manola <fmanola@mitre.org>
- Date: Wed, 29 Aug 2001 08:54:53 -0400
- To: pat hayes <phayes@ai.uwf.edu>
- CC: Brian McBride <bwm@hplb.hpl.hp.com>, w3c-rdfcore-wg@w3.org
As a data point here, an important reason why OO languages typically
disallow subclass loops is that "subclass" in many (not all) OO
languages defines a code inheritance relationship between classes, not a
"subset of" relationship between sets of instances ("class" in many OO
languages has a different meaning from its usage in DAML+OIL). If what
you're defining is (effectively) a dispatch path for invoking method
code, you don't want cycles in it. However, in DAML+OIL "subclassOf" is
really a logical assertion, and cycles, while they might indicate a
mistaken design, make sense in this context (since they might NOT
indicate a mistaken design). I'd be in favor of taking the DAML+OIL
approach myself, but it seems to me that the immediate and main issue is
deciding what we think RDFS "classes" ought to mean *for the intended
purposes of RDF*. I think that decision ought to be somewhat
independent from how easily the resulting semantics are implemented in
Java (or whatever), since I think what we mean ought to govern the code,
rather than the other way around.
--Frank
pat hayes wrote:
snip
>
> rdfs:subClassOf loops and consistency with DAML+OIL.
>
> At the F2F we discussed a number of pieces of feedback from the DAML+OIL
> JC. The only one that gave rise to any significant discussion was their
> recommendation that the M&S be modified to allow subclass loops, ie that
> combinations such as
>
> A rdfs:subclassof B
> B rdfs:subclassof A
>
> not be considered illegal, but be thought of as a way to assert that A
> and B are the same class. Two voices were raised against this proposed
> change. One was the opinion that disallowing subclass loops was
> accepted practice in the OO community, the other was that it would be
> incompatible with Java usage, and that if subclass loops were permitted
> then Java-based RDFS engines would need to perform expensive
> loop-detection checks to avoid syntax errors when mapping RDFS to Java.
> (I hope I have this more or less right, it is based on memory.)
snip
--
Frank Manola The MITRE Corporation
202 Burlington Road, MS A345 Bedford, MA 01730-1420
mailto:fmanola@mitre.org voice: 781-271-8147 FAX: 781-271-875
Received on Wednesday, 29 August 2001 08:56:16 UTC