OWL Class and Subclass Property Inheritance
<p>I have a confusion about OWL class and subclass property inheritance. Some posts are saying there is no inheritance in OWL (<a href="https://stackoverflow.com/questions/37141784/owl-how-to-get-inheritance-of-property-relations-between-two-classes-from-those">OWL: How to get inheritance of property relations between two classes from those of superclasses?</a>, <a href="https://web.archive.org/web/20130831164956/http://answers.semanticweb.com/questions/619/rdfs-owl-inheritance-with-josekipellet" rel="noreferrer">http://answers.semanticweb.com/questions/619/rdfs-owl-inheritance-with-josekipellet</a>). However, I have found some opposite discussion as well. For example "A Semantic Web Primer for Object-Oriented Software Developers" page (<a href="https://www.w3.org/TR/sw-oosd-primer/" rel="noreferrer">https://www.w3.org/TR/sw-oosd-primer/</a>) mentioned that for both object-oriented language, OWL &amp; RDF:  "Classes can be arranged in a subclass hierarchy with inheritance" (section 3.3). <a href="https://www.w3.org/TR/rdf-schema/#ch_subclassof" rel="noreferrer">https://www.w3.org/TR/rdf-schema/#ch_subclassof</a> mentioned that "The property rdfs:subClassOf is an instance of rdf:Property that is used to state that all the instances of one class are instances of another." Hence, it is confusing to me. Now I have following questions:</p>

<ul>
<li><strong>Like object-oriented language, is rdfs:subclassOf inherits property from super class?</strong></li>
<li><p><strong>If not then</strong> </p>

<ul>
<li><strong>What is the meaning of inheritance in RDF/OWL?</strong></li>
<li><strong>Is it possible to construct object-oriented language type class-subclass inheritance with OWL/RDF?</strong></li>
<li><p><strong>Consider following example.  Are all the properties of "Lecturer" and "Student" will be available to "Person" class?</strong></p>

<pre><code>Example:
--------
   ### Classes ###
 :CSModule rdf:type owl:Class ;
      rdfs:subClassOf :Module .

 :Lecturer rdf:type owl:Class ;
     rdfs:subClassOf :Person .

 :Student rdf:type owl:Class ;
    rdfs:subClassOf :Person .

 :Module rdf:type owl:Class .

 :Person rdf:type owl:Class .

### Object Properties ###

:studies rdf:type owl:ObjectProperty ;

   rdfs:domain :Student ;
   rdfs:range :Module .

:teaches rdf:type owl:ObjectProperty ;

   rdfs:domain :Lecturer ;
   rdfs:range :Module .

### Data properties ###

:name rdf:type owl:DatatypeProperty ;
  rdfs:domain :Person ;
  rdfs:range xsd:string .

:staffID rdf:type owl:DatatypeProperty ;
  rdfs:domain :Lecturer ;
  rdfs:range xsd:integer .

:studentID rdf:type owl:DatatypeProperty ;
  rdfs:domain :Student ;
  rdfs:range xsd:integer .

### Individuals ###

:CS101 rdf:type owl:NamedIndividual ,
 :CSModule .

:Lecturer1 rdf:type owl:NamedIndividual ,
 :Lecturer ;
 :teaches :CS101 ;
 :name "Dr.John" ;
 :staffID 7777 .

:Student1 rdf:type owl:NamedIndividual ,
 :Student ;
 :studies :CS101 ;
 :name "James" ;
 :studentID 1234 .
</code></pre></li>
</ul></li>
</ul>

<p>If someone provide me an answer with a good example that will be very helpful. Thank you in advance.</p>