1. A computer-system-implemented method for requesting desired information from a graph database storing a graph, the method comprising: receiving an initial query that is compatible with a first type of database that is different from the graph database; converting the initial query into a query using primitives, wherein the primitives comprise: a rule, based on edges in the graph, that expresses a relational schema in the first type of database, and information associated with a compound key that specifies a relationship between nodes, edges and predicates in the graph corresponding to a table in the first type of database; executing the query against the graph database, wherein: the graph comprises nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency; and the query identifies a first edge associated with a predicate that specifies one or more of the nodes in the graph; and receiving a result in response to the query, wherein the result includes a subset of the graph.