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. 9. The method of claim 1 , wherein the method further comprises: defining a compound relationship in the graph using the primitives; and generating a compound key to identify the compound relationship.