Can DAML class also be an instance?

In the Cyc ontology we allow classes to be instances of other classes
which are meant to be types of classes.

An example is:

    <daml:Class rdf:ID="Doorway">
        <rdfs:label>doorways</rdfs:label>
        <rdfs:comment>A collection of portals.  Each element of
            #$Doorway is a portal in some instance of
            #$ShelterConstruction, suitable for people (and perhaps
            vehicles) to enter and exit.  For example, doorways to
            houses, office buildings, elevators, automobiles, airplanes,
            garages, etc.</rdfs:comment>
        <guid>bd58f914-9c29-11b1-9dad-c379636f7270</guid>
        <rdf:type rdf:resource="#ExistingObjectType"/>
        <rdfs:subClassOf rdf:resource="#Portal"/>
        <rdfs:subClassOf rdf:resource="#Artifact"/>
    </daml:Class>

Doorways are subclasses of Portals and Artifacts, and the class of
doorways is an instance of the class of types of existing objects.

Is it legal DAML+OIL to have both type and subClassOf statements
describing a class? 

I presently fail the DAML XML validator on this point.
-Steve


-- 
===========================================================
Stephen L. Reed                  phone:  512.342.4036
Cycorp, Suite 100                  fax:  512.342.4040
3721 Executive Center Drive      email:  reed@cyc.com
Austin, TX 78731                   web:  http://www.cyc.com
===========================================================

Received on Wednesday, 27 June 2001 11:33:16 UTC