Additional requirements:
A transform is 'applied' to a molecule or set of molecules. The result is a set of reactions, each of which has the given molecules as reactants and the molecules which result from the reaction as products. (Note that a transform can be applied in either direction).
Can be stored in databases (replace every SMARTS node expression by '*' to get a valid reaction).
In theory, transforms can be abstracted from sets of specific reaction instances (generalization).