How to represent inference rules (SWRL) in Cypher

I'm involved in a research project featuring Neo4j. I migrated a drug ontology to Neo4j and the thing is that I need to run the equivalent to the SWRL inference rules in the ontology. These rules are pretty much like the following:

activates(?a, ?b), is_activated_by(?b, ?c), DifferentFrom(?a, ?c) -> may_interact_with(?a, ?c)

The three atoms (activates, is_activated_by, may_interact_with) are relationships between nodes in my domain, whereas Different from could be easily handled in Cypher. I have two questions regarding these inference rules:

1 - Is Cypher powerful enough to allow the representation of an equivalent query? According to what I've read, it probably doesn't, but I've got no confirmation and the information I found might be outdated.
2 - If I couldn't use Cypher queries, what would the workarounds be? I've come across a software called GraphScale but, as of now, it is not publicly available. Therefore, should I use any alternatives such as connecting my graph to a Jess inference engine?

Thanks for your advice.