|
IterOrbit
Subgraph isomorphism with iterative graphlet-orbit filtering
|
Chooses the order in which the search maps the pattern vertices. More...
#include <OrderEngine.h>
Public Member Functions | |
| OrderEngine (const AppGraph &pattern, const OrbitCounts &orbits, const CandidateSets *candidates=nullptr, OrderMode mode=OrderMode::Core) | |
| void | run () |
| Computes the order and the pivots. | |
| const std::vector< int > & | getOrder () const |
| Pattern node IDs in matching order. | |
| const std::unordered_map< int, int > & | getPivot () const |
| For each pattern node ID after the first, an earlier neighbour in the order (absent when it has none, e.g. | |
Private Member Functions | |
| void | runOrbit () |
| void | runCore (bool use_orbits) |
Private Attributes | |
| const AppGraph & | pattern_graph |
| const OrbitCounts & | pattern_orbits |
| const CandidateSets * | candidates |
| OrderMode | mode |
| std::vector< int > | order |
| std::unordered_map< int, int > | pivot |
Chooses the order in which the search maps the pattern vertices.
| OrderEngine::OrderEngine | ( | const AppGraph & | pattern, |
| const OrbitCounts & | orbits, | ||
| const CandidateSets * | candidates = nullptr, |
||
| OrderMode | mode = OrderMode::Core |
||
| ) |
| pattern | the pattern graph |
| orbits | its orbit counts (FilterEngine::getPatternOrbits()) |
| candidates | the filtered candidate sets; needed by Core and CoreOrbit |
| mode | the ordering rule |
|
inline |
Pattern node IDs in matching order.
|
inline |
For each pattern node ID after the first, an earlier neighbour in the order (absent when it has none, e.g.
the first vertex of another connected component).
| void OrderEngine::run | ( | ) |
Computes the order and the pivots.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |