IterOrbit
Subgraph isomorphism with iterative graphlet-orbit filtering
Loading...
Searching...
No Matches
Public Attributes | List of all members
LabelIndex Struct Reference

A vertex-labelled, undirected graph: the pattern, the data graph, or an induced subgraph of the data graph. More...

#include <AppGraph.h>

Public Attributes

int max_label = -1
 Largest label, -1 if the graph is empty.
 
std::vector< size_t > nlf_offsets
 Vertex v has nlf_count[i] neighbours of label nlf_label[i], for i in [nlf_offsets[v], nlf_offsets[v + 1]), labels increasing; labels it has no neighbour of are absent.
 
std::vector< int > nlf_label
 
std::vector< int > nlf_count
 

Detailed Description

A vertex-labelled, undirected graph: the pattern, the data graph, or an induced subgraph of the data graph.

Vertices keep the IDs of the input file ("node IDs"). Internally they are numbered 0..n-1 in ascending ID order ("internal index"), which is the numbering of c_graph and of every per-vertex array produced from it (e.g. OrbitCounts). A subgraph keeps the node IDs of the graph it was taken from, so candidate sets, which hold node IDs, stay valid across subgraphs. Per-label lookups on a data graph, built once at load (AppGraph::buildLabelIndex), as the SOTA tools' graph loader builds its neighbour-label frequencies.

Member Data Documentation

◆ max_label

int LabelIndex::max_label = -1

Largest label, -1 if the graph is empty.

◆ nlf_count

std::vector<int> LabelIndex::nlf_count

◆ nlf_label

std::vector<int> LabelIndex::nlf_label

◆ nlf_offsets

std::vector<size_t> LabelIndex::nlf_offsets

Vertex v has nlf_count[i] neighbours of label nlf_label[i], for i in [nlf_offsets[v], nlf_offsets[v + 1]), labels increasing; labels it has no neighbour of are absent.


The documentation for this struct was generated from the following file: