Skip to main content
. 2022 Feb 23;4:806014. doi: 10.3389/fdata.2021.806014

Algorithm 3.

RecursiveSearch(S, a, Δ, timestampSet, minTime, maxTime, λ, m, k, l, minedSubgraphs).

1 if |E(S)| ≥ l then
2    return
3 for each e = (u, a, t) ∈ Inc(v) ∧ eE (S) do
4    if t ∈ [minTime, maxTime + λ] then
5      if uV(S) then
6        if |V (S)| ≤ (k − 1) then
7          V(S) = V(S) ∪ {u}
8          added = true
9        else
10          continue
11        E(S) = E(S) ∪ {e}
12        if SminedSubgraphs then
13          timestampSet = timestampSet ∪ {t}
14          minedSubgraphs = minedSubgraphsS
15          UpdateBounds (timestampSet, Δ, minTime, maxTime, λ)
16          M = StandardizeTimestamps (S)
17          C = ComputeCanonization (M)
18          UpdateOccurrences (m, canonicalForm)
19          RecursiveSearch (S, u, Δ, timestampSet, minTime, maxTime, λ, m, k, l, minedSubgraphs)
20          RecursiveSearch (S, a, Δ, timestampSet, minTime, maxTime, λ, m, k, l, minedSubgraphs)
21          timestampSet = timestampSet\{e.t}
22          E(S) = E(S)\{e}
23          if added = true then
24            V(S) = V(S)\{u}
25            added = false
26        UpdateBounds (timestampSet, Δ, minTime, maxTime, λ)
27 return