I built a simple ontology to test how SWRL rules infer new relations between individuals in an ontology, but it didn't work. My rule is:
(hasFather(?x, ?y) ∧ hasMother(?x, ?z) → spouseOf(?y, ?z)
and may be read as
x has a father y, x has mother z → y is spouse of z).
There are three individuals in my ontology: Husband, Wife, and Son. I set child has mother is Wife, has father is Husband. And then my rule is employed in order to set Husband is spouseOf Wife. I used the Jess plugin to test my rule but no result. Why doesn't the rule isn't work? Is there something wrong with my rule, or something wrong with Jess on Protege 3.3?