According to D16.1, the keyword 'implies' is allowed in rule bodies and integrity constraints for wsml-rule (not wsml-flight).
e.g.
axiom b1 definedBy
!- ?x memberOf Branch
implies
exists {?y2,?y1}
( ?y1[hasTarget hasValue ?x] memberOf GraphConnector )
and ?y2[hasTarget hasValue ?x] memberOf GraphConnector
and ?y1 = ?y2
and exists {?y2,?y1}
( ?y1[hasSource hasValue ?x] memberOf GraphConnector )
and ?y2[hasSource hasValue ?x] memberOf GraphConnector
and ?y1 != ?y2.
Currently, wsml2reasoner only allows a single implication in a rule or integrity constraint.
It fails with this exception:
org.wsml.reasoner.DatalogException: More than one implication in the given WSML rule detected!
To be exact, WSML-Flight allows implies, impliedBy and equaivalent in the heads of rules.
WSML-Rule further allows these keywords in rule bodies.