Each edge in the data graph has a unique identifier associated with it henceforth referred to as edgeId. Figure REF (b) shows the DEBI for graph snapshot \(G\) , while Figure REF (c)-(d) shows the updated DEBI at time \(t1\)  and \(t2\)  respectively after processing two snapshots.
DEBI maintains a bitmap of size \(|V_Q|-1\)  bit for each data graph edge, where each bit represents whether the data edge matches the corresponding query tree edge or not. The information about whether an edge \((v^{\prime }, v)\)  with the id of edgeId matches \((u_p, u)\)  is stored at \(\texttt {DEBI}[\emph {edgeId}][u]\) .
In addition, the matching nodes of the root query node (\(u_0\) ) are stored in a bit vector of size \(|V|\) , known as roots. The size of DEBI is equal to \((|E| \times (|V_Q|-1) + |V|)\)  bits, which is same as that of TurboFlux [1]} and smaller than \(\mathcal {O}(|E_Q|\times |E|)\)  of CECI [2]}, \(\mathcal {O}(|E|\times |V_Q|)\)  of CFLMatch [3]}, and \(\mathcal {O}(|E|^{|V_Q|})\)  of TurboIso [4]}.
