title: SWRL rule on n-ary relation in OWL
body: <p>I want to use OWL (in Protege) to encode the ternary relation ancestorOf(x, y, p); saying that y is the ancestor of x with probability p. Because object properties only support binary relations, my relation has to be represented as a Relation class and a relation individual, with relations to x, y and p (like in <a href="https://www.w3.org/TR/swbp-n-aryRelations/#useCase1" rel="nofollow noreferrer">this</a> design pattern).</p>
  
  <p>I really do not know how to write an SWRL rule to infer a transitive relation. I.e. that </p>
  
  <pre><code>ancestorOf(x, y, p1) ^ ancestorOf(y, z, p2) -&gt; ancestorOf(x, z, p1 * p2)
  </code></pre>
  
  <p>I would be thankful is somebody could point me in the correct direction.</p>
  
  <p>Thanks in advance!</p>