W3C home > Mailing lists > Public > www-rdf-interest@w3.org > May 2003

Re: rdfs:class and rdfs:resource

From: Richard H. McCullough <rhm@cdepot.net>
Date: Wed, 7 May 2003 10:39:51 -0700
Message-ID: <001301c314bf$d1318b60$bd7ba8c0@rhm8200>
To: "Jon Hanna" <jon@spin.ie>, "Www-Rdf-Interest" <www-rdf-interest@w3.org>

Jon
1. You say
    <rdfs:Class> <rdf:type> <rdfs:Class> .
which is true.  But it also implies that
    <rdfs:Class> <owl:sameAs> <rdfs:Class> .
which is really more important.  In other words
    "every Class is identical to itself"
is more important and relevant than
    "every Class is a subClass of itself".

2. You did not consider whether
    <#jonsCar> <rdf:type> <rdfs:Class> .
Of course, it is not, because <#jonsCar> is not a Class.
That is what makes rdfs:Class different from all other classes.
All other classes are groups which have members/instances
which are individual existents/resources.
But rdfs:Class has members/instances are classes,
and in this context the classes are considered to be individual
existents/resources instead of groups.

There are two ways to resolve this "paradox".
(I agree with Francesco that it is a "paradox").
1. Just recognize that there are two separate contexts involved,
and separate the two contexts.  In the "vocabulary" context,
a class is an individual, and is a member/instance of rdfs:Class.
In the "Resource hierarchy" context, a class is not an individual
but a (mental) group of similar individuals.

2. Integrate rdfs:Class into the "Resource hierarchy" context,
by identifying rdfs:Class as a "set", not a "class".  A "Set" is a
class (group) with certain properties.  rdfs:Class is a set,
an individual member of the class Set.  In this context, the
set of all Classes is more appropriately thought of as the set of
all Class names, which retains the flavor of the "vocabulary"
context.

It is worth noting that
the resolution of this "paradox" is "not possible" in RDF,
because RDF does not "know" what a Set is,
and RDF does not "know" what a context is.
============
Dick McCullough
knowledge := man do identify od existent done;
knowledge haspart proposition list;
----- Original Message ----- 
From: "Jon Hanna" <jon@spin.ie>
To: "Www-Rdf-Interest" <www-rdf-interest@w3.org>
Sent: Wednesday, May 07, 2003 9:30 AM
Subject: RE: rdfs:class and rdfs:resource


>
> > Hello all,
> >
> > I have been working in the RDF schema specification and I have trouble
> > with the concepts of:
> > rdfs:Class and rdfs:Resource
> > rdfs:Resource is the most general class and rdfs:class is the concept
> > of class.
> > Thus,I donīt understand the meaning of that rdfs:Resource is an
> > instance of rdfs:class and that every class is a rdfs:subClassOf
> > rdfs:Resource.
> > I hope someone can give an help on this.
> > Kindly regards,
> > Teresa
>
> It's a bit circular. It's one of those things that can seem confusing at
> first, and then after a moment of Satori it becomes so obvious that it's
> hard to explain. I'll have a stab at it anyway.
>
> Everything is a resource. We say "resource" rather than "thing" or
"entity"
> because this is the web, and "resource" is the web term.
>
> A hypothetical resource is #jonsCar (particularly hypothetical since I
don't
> drive).
>
> Classes define types of resource. A hypothetical class is #Car.
>
> To say that #jonsCar is a #Car we use:
>
> <#jonsCar> <rdf:type> <#Car> .
>
> or in RDF/XML:
>
> <Car rdf:ID="jonsCar" />
>
> Now not only does RDF allow us to say things about #jonsCar, but it also
> allows us to say things about #Car. In particular we would benefit from
> doing so in schemata.
>
> And just as #jonsCar is a type of #Car, so #Car is a type of rdfs:Class.
We
> can express this as:
>
> <#Car> <rdf:type> <rdfs:Class> .
>
> or in RDF/XML:
>
> <rdfs:Class rdf:ID="Car" /> .
>
> rdfs:Class is itself of type rdfs:Class:
>
> <rdfs:Class> <rdf:type> <rdfs:Class> .
>
> And we can also have a class to which everything belongs; rdfs:Resource.
>
> <#jonsCar> <rdf:type> <rdfs:Resource> .
> <#Car> <rdf:type> <rdfs:Resource> .
> <rdfs:Class> <rdf:type> <rdfs:Resource> .
> <#anythingAtAll> <rdf:type> <rdfs:Resource> .
>
> Now because rdfs:Resource is the object of these rdf:type statements it is
> clearly a Class, hence <rdfs:Resource> <rdf:type> <rdfs:Class>.
>
> And because everything is an instance of rdfs:Resource, then all classes
are
> subclasses of rdfs:Resource (#jonsCar cannot be a #Car unless it is also a
> thing, and everything is an rdfs:Resource).
>
> In practice you will likely use rdfs:Class more than rdfs:Resource, simply
> because it's more often worth stating that something is a class.
>
Received on Wednesday, 7 May 2003 13:40:59 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 7 December 2009 10:51:59 GMT