1. A computer-implemented method comprising: providing a database organized according to a relational model; providing a database engine in communication with the database utilizing a language describing the relational model; providing an application comprising an entity-relationship model (ERM) including a first entity, a second entity, and a relationship between the first entity and the second entity, and elements; causing a query engine of the application to communicate a query to the database engine utilizing an annotation language, the language annotation language comprising a typed structure of metadata related to the first entity, the second entity and the elements; and causing the database engine to return a query result to the query engine based upon the annotation language.