W3C home > Mailing lists > Public > w3c-rdfcore-wg@w3.org > August 2003

fwd: Can an owl:Class subclass an rdfs:Class?

From: Dan Brickley <danbri@w3.org>
Date: Fri, 1 Aug 2003 20:48:14 -0400
To: w3c-rdfcore-wg@w3.org
Message-ID: <20030802004814.GD26096@tux.w3.org>

An excellent question on RDF IG list. Can anyone here provide an 
authoritative answer? WebOnt WG members? 

Dan

----- Forwarded message from David Menendez <zednenem@psualum.com> -----

From: David Menendez <zednenem@psualum.com>
Date: Fri,  1 Aug 2003 15:43:18 -0400
To: www-rdf-interest@w3.org
Subject: Can an owl:Class subclass an rdfs:Class?
Message-ID: <r02000000-1026-E085EBD6C46111D78E90000393758032@[10.0.1.2]>
Resent-From: www-rdf-interest@w3.org
Resent-Date: Fri, 1 Aug 2003 16:49:33 -0400 (EDT)


I think I have a handle on the distinction between owl:Class and
rdfs:Class, but I'm uncertain about when or whether OWL Ontologies can
refer to rdfs:Classes.

For example, an ontology for describing entertainment figures might need
a class like ex:Actor and it might try to leverage the wide acceptance
of FOAF by declaring ex:Actor a subclass of foaf:Person. My question is,
can it?

Once all the imports statements are resolved we end up with something
like this:

  <rdfs:Class rdf:about="http://xmlns.com/foaf/0.1/Person">
    <rdfs:isDefinedBy rdf:resource="http://xmlns.com/foaf/0.1/"/>
  </rdfs:Class>
  
  <owl:Class rdf:about="http://example.com/ex/Actor">
    <rdfs:isDefinedBy rdf:resource="http://example.com/ex"/>
    <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
  </owl:Class>

This is allowed in OWL Full, but as far as I can tell, it isn't allowed
in OWL Lite or OWL DL. My question then is, why not? I understand that
OWL needs to keep classes, properties, and individuals distinct, but I
can't quite see what specific problem is raised here. In RDF-MT above
fragment is interpreted as "any instance of ex:Actor is also an instance
of foaf:Person". Even if foaf:Person had strange applications that made
it unsuitable to be expressed as an owl:Class, those wouldn't seem to
affect ex:Actor.

Assuming I understand this correctly, the effect is that vocabularies
defined OWL DL and OWL Lite can't build on existing terms in the web.

Naturally, similar questions exist for sub-properties, domains, and
ranges.


If it turns out that OWL Lite and OWL DL cannot reference RDFS
vocabularies (as I suspect they do), would something like this be
reasonable?

File 1
------
    <owl:Ontology rdf:about="http://example.com/ex/core">
      <rdfs:label>Entertainer Ontology (OWL Lite version)</rdfs:label>
      <rdfs:seeAlso rdf:resource="http://example.com/ex/full"/>
    </owl:Ontology>
    
    <owl:Class rdf:about="http://example.com/ex/Actor">
      <rdfs:isDefinedBy rdf:resource="http://example.com/ex/core"/>
    </owl:Class>

File 2
------
    <owl:Ontology rdf:about="http://example.com/ex/full">
      <rdfs:label>Entertainer Ontology (OWL Full version)</rdfs:label>
      <owl:imports rdf:resource="http://example.com/ex/core"/>
      <owl:imports rdf:resource="http://xmlns.com/foaf/0.1/"/>
    </owl:Ontology>
    
    <owl:Class rdf:about="Actor">
      <rdfs:subClassOf rdf:resource="http://xmlns.com/foaf/0.1/Person"/>
    </owl:Class>
-- 
David Menendez <zednenem@psualum.com> <http://www.eyrie.org/~zednenem/>

----- End forwarded message -----
Received on Friday, 1 August 2003 20:48:14 EDT

This archive was generated by hypermail pre-2.1.9 : Wednesday, 3 September 2003 09:59:32 EDT