title: What type of reasoning does Grakn support?
body: <p>I attended a webinar and learned Grakn supports reasoning through rule based and type based reasoning:</p>
  
  <pre><code>person sub entity; 
  man sub person; 
  
  when {
    $r1 (located: $x, locating: $y) isa locates;  
    $r2 (located: $y, locating: $z) isa locates;  
  },
  then {
    (located: $x, locating: $z) isa locates;
  };
  </code></pre>
  
  <p>How does backward reasoning differ from forward chaining in this context? </p>