NOTE: These are abstractions of terms I think should be added, not absolutes. The details of these implementations, especially naming, are definitely up for debate, please give feedback!
Reaction -> isBalanced -> (true,false)^^xsd:boolean
Reaction -> reactionDirection (<Left>, <Right>, <Bidirectional>)^^Specifier
These two new predicates would simply make it possible to describe a reaction with even more detail.