1. A computer-system-implemented method for translating a first query into an edge query, the method comprising: receiving the first query, at a computer, wherein the first query is associated with a first type of database; translating the first query, at the computer using primitives, into the edge query, wherein: the edge query is associated with a graph database storing a graph; and the graph comprises nodes, edges between the nodes, and predicates to represent data with index-free adjacency; executing the edge query against the graph database, wherein the edge query identifies an edge associated with a predicate that specifies one or more of the nodes of the graph; and receiving a result in response to the edge query.
1. A computer-system-implemented method for translating a first query into an edge query, the method comprising: receiving the first query, at a computer, wherein the first query is associated with a first type of database; translating the first query, at the computer using primitives, into the edge query, wherein: the edge query is associated with a graph database storing a graph; and the graph comprises nodes, edges between the nodes, and predicates to represent data with index-free adjacency; executing the edge query against the graph database, wherein the edge query identifies an edge associated with a predicate that specifies one or more of the nodes of the graph; and receiving a result in response to the edge query. 5. The method of claim 1 , wherein the primitives include: 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 the nodes, the edges and the predicates of the graph corresponding to a table in the first type of database.