本体的推理规则库是有一条条规则组成的。每条规则由主体(body)和头(head)组成,一条规则可以有一个主体和一个头,例如规则:[rule1:(?a fa:hasHusband ?b)(?a fa:isMotherOf ?c)->(?b fa:isFatherOf ?c)],其中规则的主体为:?a @hasHusband ?b,?a @isMotherOf ?c,头为:?b @isFatherOf ?c,也就是说有所有的主体可以推出头。?a @hasHusband ?b,?a @isMotherOf ?c,?b @isFatherOf ?c三者有一个称谓:ClauseEntry。例如方法Rule类中getbody()方法返回是一个ClauseEntry集合。他有2个元素?a @hasHusband ?b,?a @isMotherOf ?c。下面有个规则库:
下面代码是根据这个规则库查个规则的例子