<?xml version='1.0'?>

<!-- Statement Indication - a property node can not be a subPropertyOf an object or datatype property -->

<rdf:RDF
  xmlns:rdf ="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
  xmlns:xsd ="http://www.w3.org/2000/10/XMLSchema#"
  xmlns:daml="http://www.daml.org/2001/03/daml+oil#"
  xmlns:ont1="http://www.daml.org/validator/examples/ont1.daml#"
  xmlns     ="http://www.daml.org/validator/examples/pv10.daml#"
>

<daml:Property rdf:ID="hasResource"/>
<daml:ObjectProperty rdf:ID="hasObject"/>
<daml:DatatypeProperty rdf:ID="hasDatatype"/>

<daml:Class rdf:ID="Car"/>
<Car rdf:ID="beetle"/>

<!-- OK -->
<daml:Property rdf:ID="prop1">
  <daml:subPropertyOf rdf:resource="#hasResource"/>
</daml:Property>

<!-- hasDatatype is a DatatypeProperty -->
<daml:Property rdf:ID="prop2">
  <daml:subPropertyOf rdf:resource="#hasDatatype"/>
</daml:Property>

<!-- hasObject is an ObjectProperty -->
<daml:Property rdf:ID="prop3">
  <daml:subPropertyOf rdf:resource="#hasObject"/>
</daml:Property>

<!-- it also can not be a subPropertyOf a non-property. These are caught during statement validation. -->
<daml:Property rdf:ID="prop4">
  <daml:subPropertyOf rdf:resource="http://www.daml.org/validator/examples/dt1.xsd#clothingsize"/>
</daml:Property>

<daml:Property rdf:ID="prop5">
  <daml:subPropertyOf>12</daml:subPropertyOf>
</daml:Property>

<daml:Property rdf:ID="prop6">
  <daml:subPropertyOf><xsd:integer rdf:value="30"/></daml:subPropertyOf>
</daml:Property>

<daml:Property rdf:ID="prop7">
  <daml:subPropertyOf rdf:resource="#Car"/>
</daml:Property>

<daml:Property rdf:ID="prop8">
  <daml:subPropertyOf rdf:resource="#beetle"/>
</daml:Property>

</rdf:RDF>
