RE: rdfs:class and rdfs:resource

When re-reading my last posting, I got the impression that one sentence was 
perhaps misleading:

>But the following is, as far as I can see, *not* true:
><rdfs:Resource> <rdfs:subClassOf> <rdfs:Class> .
>
>In other words: There may exist instances of rdfs:Resources which are not 
>instances of rdfs:Class.  Or again in other words: Not everything must be 
>a class.

The sentence
   "But the following is, as far as I can see, *not* true:"
should better read
   "But the following is, as far as I can see, contingent:"

The following explanation ("in other words ...") can remain 
unchanged.  What I was trying to say was that the statement

<rdfs:Resource> <rdfs:subClassOf> <rdfs:Class> .

does not necessarily follow from the axioms of [RDF Schema].  However, as 
far as I can see, this statement does not contradict the set of RDF Schema 
axioms. [RDF Schema] does not require that all Resources are Classes, but 
also does not state that there indeed exist Resources which are not Classes.

I also agree with Wolfram that "a (minimal) axiomatization might have a 
certain advantage over the current/previous versions of the RDF/RDFS 
specs", though my chain of reasons is different: Intuitively, I see no 
reason why

<rdfs:Resource> <rdfs:subClassOf> <rdfs:Class> .

should be excluded from RDF/RDFS.  RDF graphs are designed with 
extensibility in mind.  For example, consider the following graph which 
states that Fido is a dog and a dog is an animal:

<foo:Animal> <rdfs:type> <rdfs:Class> .
<foo:Dog> <rdfs:type> <rdfs:Class> .
<foo:Dog> <rdfs:subClassOf> <foo:Animal> .
<foo:Fido> <rdfs:type> <foo:Dog> .

At first glance it seems reasonable to say that Fido is, ontologically 
speaking, an individual, while Dog and Animal are obviously classes.  Now 
consider that we want to add information about the young Fido and the old 
Fido to the above graph.  One way to do so is to add the following statements:

<foo:Fido> <rdfs:type> <rdfs:Class> .
<foo:YoungFido> <rdfs:type> <foo:Fido> .
<foo:OldFido> <rdfs:type> <foo:Fido> .

and also perhaps:

<foo:Fido> <rdfs:subClassOf> <foo:Dog> .  (= every instance of foo:Fido is 
also an instance of foo:Dog)

So every Resource of a graph can be declared being a Class.  That suggests 
that the distinction between Resource and Class is for practical reasons a 
candidate for Okhams razor: The distinction between Resource and Class is 
superfluous and should be dropped in RDF/RDFS.

Dieter Köhler

Institute of Philosophy
University of Karlsruhe
Germany

Received on Friday, 9 May 2003 13:31:05 UTC