title: Backward chaining Jena reasoner
body: <p>I have been reading through the Jena documentation in order to try and create a simple pure backward chaining reasoner. I have a simple backward chaining rule that I am applying to a small ontology.
  I was wondering if there was anyway to do backward chaining on a per query basis, so that not all of the entailments are computed when I get my InfModel with:</p>
  
  <pre class="lang-java prettyprint-override"><code>Modelfactory.createInfModel(reasoner,model) 
  </code></pre>
  
  <p>but rather only when they are requested. So, for the rule below:</p>
  
  <pre class="lang-none prettyprint-override"><code>[rule2: (?x rdfs:type ?z)&lt;-(?x ?rdf:type ?y),(?y rdfs:subClassOf ?z)]
  </code></pre>
  
  <p>could I register a query asking to find all types of a particular class, which would then fire the above rule?</p>