Can an owl:Class subclass an rdfs:Class?

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/>

Received on Friday, 1 August 2003 16:49:32 UTC