title: How to define composition properties on Protege?
body: <p>I develop an ontology with compositions as hasPart and partOf.
  I must use these properties for severals classes. 
  So, I created theses properties without domain nor range and I use them by owl restrictions on classes. It is right ?
  Moreover, I read that partOf was transitive. 
  Should I add transitive for hasPart too ?</p>
  
  <p>Then, I defined hasPart as inverse of partOf.
  Should I define the inverse in hasPart too ? </p>
  
  <p>Example :</p>
  
  <pre class="lang-xml prettyprint-override"><code>    &lt;owl:ObjectProperty rdf:about="&amp;myontology;hasPart"&gt;
         &lt;rdfs:label xml:lang="en"&gt;hasPart&lt;/rdfs:label&gt;
         &lt;rdfs:label xml:lang="fr"&gt;aCommePartie&lt;/rdfs:label&gt;
       &lt;/owl:ObjectProperty&gt;
  
      &lt;owl:ObjectProperty rdf:about="&amp;myontology;partOf"&gt;
         &lt;rdf:type rdf:resource="&amp;owl;TransitiveProperty"/&gt;
         &lt;rdfs:label xml:lang="en"&gt;partOf&lt;/rdfs:label&gt;
         &lt;rdfs:label xml:lang="fr"&gt;estPartieDe&lt;/rdfs:label&gt;
         &lt;owl:inverseOf rdf:resource="&amp;excelfile;hasPart"/&gt;
      &lt;/owl:ObjectProperty&gt;
  
      &lt;owl:Class rdf:about="&amp;myontology;A"&gt;
         &lt;rdfs:subClassOf&gt;
             &lt;owl:Restriction&gt;
                 &lt;owl:onProperty rdf:resource="&amp;myontology;hasPart"/&gt;
                 &lt;owl:someValuesFrom rdf:resource="&amp;myontology;B"/&gt;
             &lt;/owl:Restriction&gt;
         &lt;/rdfs:subClassOf&gt;
      &lt;/owl:Class&gt;
  
      &lt;owl:Class rdf:about="&amp;myontology;B"&gt;
         &lt;rdfs:subClassOf&gt;
             &lt;owl:Restriction&gt;
                 &lt;owl:onProperty rdf:resource="&amp;myontology;partOf"/&gt;
                 &lt;owl:someValuesFrom rdf:resource="&amp;myontology;A"/&gt;
             &lt;/owl:Restriction&gt;
         &lt;/rdfs:subClassOf&gt;
      &lt;/owl:Class&gt;
  </code></pre>