- From: Frank Manola <fmanola@mitre.org>
- Date: Tue, 20 Aug 2002 09:50:14 -0400
- To: graham wideman <graham@wideman-one.com>
- CC: Brian McBride <bwm@hplb.hpl.hp.com>, www-rdf-comments@w3.org
Graham, Brian-- Thanks for the comments. Actually, I think the situation is both less complicated and more complicated than you've described it, as I'll try to explain below. graham wideman wrote: > Brian: > > Heh heh heh, your writing is helpful in tone, though I'm not sure whether I'm getting clearer or muddier :-) > > 1. You are right that *part* of what's confusing is the phrase "(or some subclass of rdfs:Class)". Absent that phrase, I would believe that if a resource Description has a property > > rdf:type...Class > > then that resource is a Class, and otherwise it's not. (If we can't delete that phrase, then I have no idea how to distinguish a Class from a non-Class.) > I'm grateful for Brian's confidence in my infallibility, but I've also received a comment from Peter Patel-Schneider on this, and on looking at it carefully, I've decided that the inclusion of the phrase "(or some subclass of rdfs:Class)" is wrong (or at least unnecessarily confusing), and the current Primer Editor's Draft (which has not yet been made public) doesn't include it. The phrase was included originally because it was copied from the original RDFS Schema specification (the March 2000 Candidate Rec). However, there is nothing in that document that actually illustrates that particular usage (all the subclass examples are declared with rdfs:type...Class, and none of the diagrams show it). There's nothing in the current Schema draft that says anything about this either. Moreover, nowhere do we explain the ramifications of declaring a new class by using an rdf:type property to point to a subclass of rdfs:Class. Mind you, I think Brian's example works, at least up to the point where we can't say anything about the class hierarchy of bwm:AClass, and at that point it seems a little counterintuitive (and I think we'd need to look carefully at that, were we to continue to want to talk about classes being defined by having their types be subclasses, but I'm hesitant to have the Primer continue to use that phrase without that investigation). However, see my response to the next point: > Or maybe the escape hatch is that it's possible to write: > > rdf:type...SomethingThatsNotAClass > > Is that legit? If it is (and I'm now thinking it is) then the earlier sentence in the primer: > > "The RDF Schema *type* system allows resources to be defined as *instances* of one or more *classes*." > > ... is kind of misleading, since apparently the type system (ie: the system using the keyword "type") can define resources to be of something other than classes as well. > This is where things may appear a little complicated. In the first place (at least as far as I know), rdf:type doesn't require that its object (the thing it points to) be a Class, nor does it require that an application that uses rdf:type even use RDFS (note the "rdf:" namespace on rdf:type). The intent is that it be used for "type-like" things, but it doesn't specifically require RDFS classes; so users could "roll their own" type systems if they wanted (or point to classes or types from DAML, OWL, or some other language that defines "type-like" things). So "the RDFS type system" allows instances to be declared as Classes, but RDF doesn't require that only RDFS classes be used (nor does it require that an application even think that there *are* such things as RDFS classes). This is a point of interaction between RDF and RDFS that may require a little more explanation. Having said that, (and assuming we've removed the "offending" phrase), do things make better sense? What additional explanations would you suggest? Thanks. --Frank -- 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 Tuesday, 20 August 2002 09:39:57 UTC