Join based approaches treat graph query as relational multi-way join, where the result set is generally expanded one query edge at a time [1]}, [2]} or one query node at a time [3]}, [4]} using different join plan [5]}. While they usually are better suited for streaming graphs, provide superior join plan, and work well with parallelization frameworks, they struggle to work for larger query graphs because they perform aggressive expansion of partial matches using node label and/or edge label filters. In contrast, Mnemonic utilizes the topology of a query graph to perform much better filtering and pruning before expanding the partial embeddings.
<FIGURE>