19. A method implemented on a computing device, the method comprising: in a graph database, generating a first query vertex comprising a first traversal clause that represents a first query of the graph database, wherein the first traversal clause identifies a vertex type; generating a first edge from a user's vertex to the first query vertex, wherein the generated first edge defines the user's permission to access a first set of vertices of the vertex type; in the graph database, generating a second query vertex comprising a second traversal clause that represents a second query of the graph database, wherein the second traversal clause identifies the vertex type; generating a second edge from the user's vertex to the second query vertex, wherein the generated second edge defines the user's permission to access a second set of vertices of the vertex type; traversing the graph database to locate each vertex of the first set of vertices that is semantically related to the user's vertex; traversing the graph database to locate each vertex of the second set of vertices that is semantically related to the user's vertex, wherein the second set of vertices and the first set of vertices share at least one common vertex; for the at least one common vertex, comparing the permission defined by the first edge and the permission defined by the second edge; and based on a result of the comparison, granting, to the user, either the permission defined by the first edge or the permission defined by the second edge to access to the at least one common vertex.
19. A method implemented on a computing device, the method comprising: in a graph database, generating a first query vertex comprising a first traversal clause that represents a first query of the graph database, wherein the first traversal clause identifies a vertex type; generating a first edge from a user's vertex to the first query vertex, wherein the generated first edge defines the user's permission to access a first set of vertices of the vertex type; in the graph database, generating a second query vertex comprising a second traversal clause that represents a second query of the graph database, wherein the second traversal clause identifies the vertex type; generating a second edge from the user's vertex to the second query vertex, wherein the generated second edge defines the user's permission to access a second set of vertices of the vertex type; traversing the graph database to locate each vertex of the first set of vertices that is semantically related to the user's vertex; traversing the graph database to locate each vertex of the second set of vertices that is semantically related to the user's vertex, wherein the second set of vertices and the first set of vertices share at least one common vertex; for the at least one common vertex, comparing the permission defined by the first edge and the permission defined by the second edge; and based on a result of the comparison, granting, to the user, either the permission defined by the first edge or the permission defined by the second edge to access to the at least one common vertex. 21. The method of claim 19 , further comprising: granting, to the user, the permission defined by the first edge to access the remaining data in the first set of vertices; and granting, to the user, the permission defined by the second edge to access the remaining data in the second set of vertices.