next up previous
Next: rdfs:Class, rdf:type and rdfs:subClassOf Up: Schema definition concepts Previous: Schema definition concepts

rdfs:subPropertyOf

Any property denotes a relation between resources (the set of resource couples linked by an arc labeled with the property). rdfs:subPropertyOf applies to properties and must be interpreted as the subset relation between the relations they denote. Thus the following rule stands:

\begin{displaymath}\forall s,p_1,o,p_2 \;\; \mathcal{T}(s,\:p_1,\:o) \wedge
\mat...
...\!:\!subPropertyOf},\:p_2) \Rightarrow
\mathcal{T}(s,\:p_2,\:o)\end{displaymath}

For example, if ``mother'' is a sub-property of ``parent'', any triple having ``mother'' as predicate must also be considered as having ``parent'' as predicate. This property is very important in schema definitions for interoperability between RDF agents. In the example above, an agent not knowing the semantics of ``mother'' could at least treat it as ``parent'' (assuming it knows the semantics of ``parent'').

Since rdfs:subPropertyOf denotes a subset relation, the transitivity rule also stands:

\begin{eqnarray*}
&\forall p_1,p_2,p_3 \\
&\mathcal{T}(p_1,\:\mathtt{rdfs\!:\!s...
...ghtarrow \mathcal{T}(p_1,\:\mathtt{rdf\!:\!subPropertyOf},\:p_3)
\end{eqnarray*}



Note that it is considered invalid by [2] to have cycles in rdfs:subPropertyOf, though it doesn't define a way to express this constraint in RDF4. Anyway, the corresponding logical rule is the following (since any cycle would result, with transitivity, in a property being its own sub-property):

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



Note also that there is no standard URI for the universal property (super-property of any property).


next up previous
Next: rdfs:Class, rdf:type and rdfs:subClassOf Up: Schema definition concepts Previous: Schema definition concepts
Pierre-Antoine CHAMPIN 2001-04-05