Re: rdfs:Class vs. daml:Class ?

On March 15, David Martin writes:
> I think some clarification of this question would be helpful to others of us as
> well.  I was eager to read the Pan and Horrocks paper mentioned below, but the URL
> is broken:
> 
> Not Found
> The requested URL /jpan/Zhilin/download/Paper/Pan-Horrocks-rdfsfa-2001.pdf was not
> found on this server.
> Apache/1.3.9 Server at imgcs.cs.man.ac.uk Port 80
> 
> Can someone please post a working URL for this paper?

Sorry, but they just moved to a new server and everything is still a
bit wobbly. You can get the paper from my site on different server:

http://www.cs.man.ac.uk/~horrocks/Publications/download/2001/rdfsfa.pdf

I suppose that while writing I should try to answer Steven's question:

> 
> Thanks,
> 
> David
> 
> Steven Gollery wrote:
> 
> > Please excuse another naive newby question....
> >
> > In the DAML language definition, it looks like rdfs and rdf are being
> > used as the metamodel: daml:Class, for example, is an instance of
> > rdfs:Class. But if that is the case, I would expect that the Class
> > definitions in a DAML ontology would be instances of daml:Class.
> > Instead, the sample ontologies that I've seen use rdfs:Class either
> > exclusively or (as far as I can tell) interchangeably with daml:Class.

You are right that in many cases rdf is being used as the "metamodel"
(i.e., to describe the DAML+OIL language itself), but things are a
little confused as some parts of rdf are used directly in DAML+OIL,
e.g., range and domain, subClassOf.

> >
> > I understand from the Pan and Horrocks paper at
> > http://img.cs.man.ac.uk/jpan/Zhilin/download/Paper/Pan-Horrocks-rdfsfa-2001.pdf
> > that there is a layering problem in the RDF/RDF(S) definition that
> > prevents a clean division between successive metamodel levels. Is the
> > relationship between rdfs:Class and daml:Class somehow connected to
> > this?

More or less. The extension of a DAML+OIL class should be a set of
individuals (well, strictly a set of objects that are denoted by
individual names) and not, say, a set of properties, as could be the
case for an rdfs:Class. Because of the lack of layering in the rdf
architecture there is no way to enforce this, so daml:Class is just a
label given to the subset of rdfs:Classes that have the property we
want. Note that in the daml+oil-ex.daml file, daml:Class is used
extensively. Also note that many of the "meta" properties in the daml
language definition have daml:Class as a range/domain so that classes
used in daml ontology will often be implicitly of type daml:Class.

> >
> > I suppose all I'm really asking is: when would I use rdfs:Class and when
> > would I use daml:Class? And if it doesn't matter, why are there two of
> > them?

Always use daml:Class. I hope I explained why there are two.

Ian


> >
> > Thanks for your patience,
> >
> > Steven Gollery

Received on Friday, 15 March 2002 17:03:13 UTC