5. 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; receiving, from a first user, an indication that the query is to be shared with a second user, wherein the first user is represented in the graph database by a vertex and 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 vertices located as a result of the query; receiving a request to execute the query on behalf of the second user; in response to the request, traversing the graph database to locate each vertex of the identified vertex type that is semantically related to the first user's vertex; and displaying, to the second user, a set of results based on the located vertices, wherein the located vertices include at least one vertex in the graph database that was not accessible to the second user before the edge was generated in response to the received indication.
5. 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; receiving, from a first user, an indication that the query is to be shared with a second user, wherein the first user is represented in the graph database by a vertex and 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 vertices located as a result of the query; receiving a request to execute the query on behalf of the second user; in response to the request, traversing the graph database to locate each vertex of the identified vertex type that is semantically related to the first user's vertex; and displaying, to the second user, a set of results based on the located vertices, wherein the located vertices include at least one vertex in the graph database that was not accessible to the second user before the edge was generated in response to the received indication. 8. The method of claim 5 , further comprising: generating an edge from the first user's vertex to the query vertex, wherein the generated edge defines the first user's permission to access the vertices located as a result of the query, wherein the first user's permission is a first type of permission and the second user's permission is a second type of permission, and the first type of permission is different from the second type of permission.