1. A computer-implemented method of decoupling an application from a knowledge base being accessed by the application, the computer-implemented method comprising: receiving a user query to access a database; using the user query to identify the application comprising a program code to be executed, wherein the application is written without having to know specifics of the database; identifying one or more application programming interface (API) tags in the program code, wherein the API tags provide a link between the knowledge base and the application; identifying at least one node from among a plurality of nodes comprising a graph; for each identified API tag, resolving the identified API tag with a resolved data object by accessing the knowledge base, wherein resolving the identified API tag includes: using the identified API tag to identify an attribute in the identified node; and generating a reference to data that is associated with the identified attribute to produce a resolved data object; and accessing the database by executing the program code, wherein resolved data objects are referenced during execution of the program code instead of the one or more API tags.