9. A method implemented on a computing device, the method comprising: in a graph database, generating a query vertex comprising a traversal clause that represents a query of the graph database, wherein the traversal clause identifies a vertex type; generating an edge from a user's vertex to the query vertex, wherein the generated edge defines the user's permission to access a set of vertices of the identified vertex type, wherein the set of vertices is specific to the user; identifying, from the graph database, the set of vertices that are specific to the user, by traversing the graph database to locate each vertex of the identified vertex type that is semantically related to the user's vertex; receiving a request to execute the query on behalf of the user; in response to the request, traversing only the identified set of vertices that are specific to the user to generate a report; and displaying the report to the user.
9. A method implemented on a computing device, the method comprising: in a graph database, generating a query vertex comprising a traversal clause that represents a query of the graph database, wherein the traversal clause identifies a vertex type; generating an edge from a user's vertex to the query vertex, wherein the generated edge defines the user's permission to access a set of vertices of the identified vertex type, wherein the set of vertices is specific to the user; identifying, from the graph database, the set of vertices that are specific to the user, by traversing the graph database to locate each vertex of the identified vertex type that is semantically related to the user's vertex; receiving a request to execute the query on behalf of the user; in response to the request, traversing only the identified set of vertices that are specific to the user to generate a report; and displaying the report to the user. 18. The method of claim 9 , further comprising: receiving, from the user, an indication that the query is to be shared with the second user, wherein the second user is represented in the graph database by a vertex; in response to the received indication, generating an edge from the second user's vertex to the query vertex, wherein the generated edge defines the second user's permission to access the set of vertices that are specific to the user; receiving a request to execute the query on behalf of the second user; and in response to the request to execute the query on behalf of the second user, traversing only the set of vertices that are specific to the user to generate a second report.