24. The computing system of claim 18 , wherein the query includes both partition-bounded primitives and partition-unbounded primitives, and the graph includes multiple edge partitions, and wherein the computer-readable storage medium stores additional instructions that, when executed, cause the computer to perform additional steps comprising: determining whether a primitive is partition-bounded or partition-unbounded; upon determining that the primitive is partition-bounded, assigning each processor to a range of vertices ∈[v p min-src , v p max-src ], where v p min-src and v p max-src are a minimum integer identifier and a maximum integer identifier of source vertices in a graph partition p; and upon determining that the primitive is partition-unbounded, for each partition, assigning vertices to processors according to an equation └(ID(v)−v min-src /n┘==p, wherein ID(v) is an identifier value for vertex v, v min-src is a minimum identifier value of a set of source vertices, n is average number of vertices assigned to each processor, and p is an identifier value for a processor.
18. A computing system for generating a product recommendation, the system comprising: one or more processors, a computer-readable medium coupled to the one or more processors having instructions stored thereon that, when executed by the one or more processors, cause the one or more processors to perform operations comprising: receiving graph data indicating vertices and edges of the graph, wherein the vertices represent customers and products and the edges represent purchases; receiving a query of the graph to determine a product recommendation; generating a finite-state machine (FSM) based on the query; executing the query; determining whether a current state of the FSM is a traversal state; in response to the current state being a traversal state, generating a traversal FSM; searching the traversal FSM for a nearest future traversal state; generating a bitmask for the future traversal state; and utilizing the generated bitmask when executing the future traversal state to generate the product recommendation.