1. A computer-implemented method for synchronizing data between a mobile application and an enterprise data source, comprising: receiving a request for data from an application executing on a mobile device; receiving a document including the requested data from a data source, wherein the document represents a graph of data having a plurality of nodes; and providing a partial graph of data to the application, wherein the partial graph is derived from the received document and at least includes the requested data.