1. A computer-implemented method for synchronizing data between a mobile application and an enterprise data source, comprising: receiving a request for data from the mobile application executing on a mobile device; receiving a document including the requested data from the enterprise data source, wherein the document represents a graph of data having a plurality of nodes; providing a partial graph of data to the mobile application, wherein the partial graph is derived from the received document and includes the requested data; receiving a modified partial graph from the mobile application; determining one or more operations performed to create the modified partial graph based on a comparison of the received modified partial graph and the provided partial graph of data; modifying the document in a local cache based on the determined operations to create a new version of the document; and providing the new version of the document to the enterprise data source, wherein the new version includes one or more changes introduced by the modified partial graph.