A computer readable storage medium containing a program which, when executed, performs an operation, comprising:receiving an abstract rule having a conditional statement and a consequential statement; wherein the consequential statement defines a particular recommendation that is returned when the conditional statement is satisfied;wherein the conditional statement and the consequential statement are defined using logical field definitions defined in an abstraction model that models underlying physical data in a manner making a schema of the physical data transparent to a user of the abstraction model;determining that the abstract rule is semantically incompatible with the data abstraction model; andtranslating semantic attributes of the abstract rule to make the abstract rule compatible with the data abstraction model, wherein the translating is done using a predefined ontology mapping.