- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Sun, 09 Mar 2003 12:44:20 -0500 (EST)
- To: costello@mitre.org
- Cc: www-rdf-logic@w3.org
From: "Roger L. Costello" <costello@mitre.org> Subject: Treating a class as both an individual and a class? Date: Sun, 09 Mar 2003 09:10:26 -0500 > > Hi Folks, > > I am not clear on the mechanism of using a class as both an individual > and as a class. Consider this example: > > Suppose that River is a subclass of Stream. Here's the definition of > the River class: > > <rdfs:Class rdf:ID="River"> > <rdfs:subClassOf rdf:resource="#Stream"/> > </rdfs:Class> > > Suppose that I want to use this River class as an individual, as shown > here: > > <Country rdf:ID="China"> > <hasFeature rdf:resource="http://geodesy.org#River"/> > </Country> > > Note that the property "hasFeature" has as its value the class River. > Thus, the River class is being treated as an "individual". (Correct?) Hmm. I don't think that this is correct modelling. You are *not* saying anything related to whether China has a river in it. Nevertheless, I'll assume that you do have some valid use for this, and continue. > What confuses me is how the property hasFeature would be declared. > More specifically, what would be the value of its rdfs:range? > > <rdf:Property rdf:ID="hasFeature"> > <rdfs:domain rdf:resource="#Country"/> > <rdfs:range rdf:resource="???"/> > </rdf:Property> > > Could somebody please tell me how to define rdfs:range above? Thanks! I believe that (part of) the answer is in your message > Note that the property "hasFeature" has as its value the class River. ^^^^^ so one of the RDFS/OWL classes that have classes as their instances would be appropriate. Depending on what you want (in OWL Full, of course) you might use rdfs:Resource (equivalently owl:Thing (in OWL Full only, of course)), rdfs:Class (equivalently owl:Class (in OWL Full only, of course)), or a subclass of these classes. I expect that you probably only want classes here so, > <rdfs:range rdf:resource="owl:Class"/> is most appropriate. However, you do need to remember that metaclasses may not give you all that you might think that they are giving you. > /Roger Peter F. Patel-Schneider
Received on Sunday, 9 March 2003 12:44:38 UTC