Classes are resources denoting a set of resources, by the mean of the property rdf:type (instances have property rdf:type valued by the class). Since all sets of resources presented in this section are resources (they have a URI), they have by definition the property rdf:type valued by rdfs:Class. On the other hand, all properties (defined in W3C recommendation or in any schema) have rdf:type valued by rdf:Property.
Classes are structured the same way as properties, in a subset hierarchy denoted by the property rdfs:subClassOf. As for rdfs:subPropertyOf, cycles must not exist though it could be used to express equivalence, but contrary to the property hierarchy, the class hierarchy has a maximum element: it is of course rdf:Resource (so any class implicitly has rdfs:subClassOf valued by rdf:Resource). The following rules, similar to the rules related to rdfs:subPropertyOf, stand: