RE: Abstract Classes

You cannot restrict that, but maybe you can refine your definition by
stating explicitly that the class Feature is equivalent to the union of the
classes Secondary_Structure_Feature and Active_Site_Feature.
Furthermore, if both Secondary_Structure_Feature and Active_Site_Feature
cannot share instances, you could add that they are disjoint to each other.

Maybe this could be enough for your purpose.

Hope this helps,

Oscar Corcho
Ontological Engineering Group (UPM)
http://delicias.dia.fi.upm.es/miembros/OscarCorcho/index.html


-----Mensaje original-----
De: www-rdf-logic-request@w3.org [mailto:www-rdf-logic-request@w3.org]En
nombre de Eric Jain
Enviado el: jueves, 12 de febrero de 2004 16:53
Para: Thomas B. Passin
CC: rdf-logic
Asunto: Re: Abstract Classes



> Maybe  you could explain what you are actually trying
> to accomplish here

Given the following class hierarchy:

  <owl:Class rdf:ID="Feature"/>

  <owl:Class rdf:ID="Secondary_Structure_Feature">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Feature"/>
    </rdfs:subClassOf>
  </owl:Class>

  <owl:Class rdf:ID="Active_Site_Feature">
    <rdfs:subClassOf>
      <owl:Class rdf:about="#Feature"/>
    </rdfs:subClassOf>
  </owl:Class>

I would like to state that there are no instances that are Features but
not also instances of a subclass of a Feature, ever. In OOP this can be
accomplished simply by declaring the base class abstract. Quite possible
that I'm too much caught up in the OOP mindset to see why such a
restriction doesn't make sense from a logical point of view.

Received on Thursday, 12 February 2004 11:11:50 UTC