13. The apparatus of claim 8 , wherein the edge query is compatible with a query language that is declarative so that it expresses computational logic without expressing an associated control flow and is complete so that an arbitrary computation is represented by the query language.
8. An apparatus, comprising: one or more processors; memory; and a program module, wherein the program module is stored in the memory and, during operation of the apparatus, is executed by the one or more processors to translate a first query into an edge query, the program module including: instructions for receiving the first query that is associated with a first type of database; instructions for translating, using primitives, the first query into the edge query that is associated with a graph database storing a graph, wherein: the first type of database has a different data model than the graph database; the graph comprises nodes, edges between the nodes, and predicates to represent and store data with index-free adjacency; and 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 in the graph corresponding to a table in the first type of database; instructions for 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 in the graph; and instructions for receiving a result in response to the edge query, wherein the result includes a subset of the graph.