Natural language admits a great deal of variation. This means that patterns must be stated for not only the basic active form of clauses, but also passives, relative clauses, nominalizations, and so on. But these are for the most part predictable variations. Hence, we have implemented ``compile-time transformations'' that take basic Subject-Verb-Object patterns and transform them into linguistic variants. Thus, by specifying a pattern for
Protein inhibits Reaction
we automatically add patterns as well for
Reaction is inhibited by Protein
Protein which inhibits Reaction
Protein is inhibitor of Reaction
and so on.
When this was first implemented, it reduced the time required for specifying the patterns for a domain from weeks to less than a day.