next up previous
Next: rdfs:domain and rdfs:range Up: Schema definition concepts Previous: rdfs:subPropertyOf

rdfs:Class, rdf:type and rdfs:subClassOf

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:

\begin{eqnarray*}
&\forall i,c_1,c_2 \;\; \mathcal{T}(i,\:\mathtt{rdf\!:\!type},...
...2) \\
&\Rightarrow \mathcal{T}(i,\:\mathtt{rdf\!:\!type},\:c_2)
\end{eqnarray*}



\begin{eqnarray*}
&\forall c_1,c_2,c_3 \;\,
\mathcal{T}(c_1,\:\mathtt{rdfs\!:\!...
...\Rightarrow \mathcal{T}(c_1,\:\mathtt{rdf\!:\!subClassOf},\:c_3)
\end{eqnarray*}



\begin{eqnarray*}
&\forall c \;\; \neg \mathcal{T}(c,\:\mathtt{rdfs\!:\!subClassOf},\:c)
\end{eqnarray*}





Pierre-Antoine CHAMPIN 2001-04-05