- From: Frank Manola <fmanola@acm.org>
- Date: Wed, 06 Apr 2005 11:07:53 -0400
- To: Ivan Herman <ivan@w3.org>
- CC: Hans Teijgeler <hans.teijgeler@quicknet.nl>, 'Jeremy Wong' <50263336@student.cityu.edu.hk>, semantic-web@w3.org
A couple of additional comments on this discussion: 1. The RDF Primer notes, in the discussion of the Vehicle class hierarchy example: "To simplify the figure, the rdf:type properties relating each of the classes to rdfs:Class are omitted in Figure 18. In fact, RDF Schema defines both the subjects and objects of statements that use the rdfs:subClassOf property to be resources of type rdfs:Class, so this information could be inferred. However, in actually writing schemas, it is good practice to explicitly provide this information." So, technically, you could simply write ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle . without writing *either* of the triples ex:MotorVehicle rdf:type rdfs:Class . ex:PassengerVehicle rdf:type rdfs:Class . and the RDFS semantics would entail both of the latter triples. However, as noted, it is good practice to explicitly provide these statements. 2. As Ivan notes, RDF environments don't necessarily have to understand RDFS as well (RDFS is a semantic extension to RDF). However, you have to be careful about the kind of "safety" you expect to get in those environments by providing all the triples explicitly. A non-RDFS environment would not only *not* provide the RDFS entailments we've been discussing, but it would not associate any special semantics with rdfs:Class or rdfs:subClassOf, since these resources are defined in RDFS. As far as RDF per se is concerned, ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle . is simply a statement that the first resource has some property whose value is some other resource. Similarly, the statement ex:MotorVehicle rdf:type rdfs:Class . has minimal semantics as far as RDF (as opposed to RDFS) is concerned because, strictly speaking, classes (rdfs:Class) are defined in RDFS, not in RDF. --Frank Ivan Herman wrote: > > > Hans Teijgeler wrote: > >> Jeremy, >> >> Thanks for the quick response! I still have to get used to your RDF >> lingo, >> so in order to make sure I'll say it in my own lingo: The typing with >> rdfs:Class of the subclass ex:PassengerVehicle is not required in case >> the >> recording of the fact that it is a subclass of ex:MotorVehicle is >> guaranteed. If OK:closed, and thanks again. >> > > > That is true. > > To be very practical: not all RDF environments implement the RDFS > entailing rules. If you *know* that the RDF data will be processed by a > RDFS aware environment then, by virtue of the entailing rules, the > (ex:PassengerVehicle,rdf:type,rdfs:Class) triplet will be 'added' to the > triple store (whether 'added' means physically or virtually is besides > the point). If you want to be on the safe side, you can add the explicit > statement, as Jeremy said. > > Ivan > >> Regards, >> Hans >> >> _____ >> From: semantic-web-request@w3.org [mailto:semantic-web-request@w3.org] On >> Behalf Of Jeremy Wong >> Sent: woensdag 6 april 2005 8:32 >> To: Hans Teijgeler; semantic-web@w3.org >> Subject: Re: RDF Schema - question on implied typing with rdfs:Class >> >> >> ex:PassengerVehicle rdf:type rdfs:Class is an explicit assertion of what >> you're describing. Your rdfs:subClassOf triple entails >> ex:PassengerVehicle >> rdf:type rdfs:Class. However, if the assertion ex:PassengerVehicle >> rdfs:subClassOf ex:MotorVehicle is removed and you do not assert >> ex:PassengerVehicle be an instance of rdfs:Class, then >> ex:PassengerVehicle >> is no more an instance of rdfs:Class unless you retain the explicit >> assertion. >> >> >> Jeremy >> >> ----- Original Message ----- From: Hans Teijgeler >> <mailto:hans.teijgeler@quicknet.nl> To: semantic-web@w3.org Sent: >> Wednesday, April 06, 2005 2:09 PM >> Subject: RDF Schema - question on implied typing with rdfs:Class >> >> Hi, >> >> I am new in the RDF scene, and I have read most of the related W3C >> Recommendations and the Primer. >> >> I have a simple question about RDF Schema, with probably a simple answer: >> In the Primer I read that ALL classes need to be typed with >> rfds:Class. So >> for example: >> ex:MotorVehicle rdf:type rdfs:Class . >> ex:PassengerVehicle rdf:type rdfs:Class . >> ex:PassengerVehicle rdfs:subClassOf ex:MotorVehicle . >> >> Is there a reason why the subclass ex:PassengerVehicle doesn't inherit >> being >> an rdfs:Class from the superclass ex:MotorVehicle? >> >> Regards, >> Hans >> >> ____________________________ >> Hans Teijgeler >> co-author of ISO 15926-2 <http://www.infowebml.ws/ECM4.5/ECM4.5.html> >> author of ISO 15926-7 >> website www.InfowebML.ws <http://www.infowebml.ws/> e-mail >> hans.teijgeler@quicknet.nl >> phone +31-72-509 2005 >> >> >
Received on Wednesday, 6 April 2005 14:58:35 UTC