What Is a Graph? Nodes, Edges, Features, and Labels
Published:
Graphs Are Everywhere
Most structured data is relational — entities connected by relationships:
- Social networks: users (nodes) connected by friendships (edges)
- Molecules: atoms (nodes) connected by bonds (edges)
- Citation networks: papers (nodes) connected by citations (edges)
- Road networks: intersections (nodes) connected by roads (edges)
- Knowledge graphs: entities (nodes) connected by relations (typed edges)
Standard deep learning assumes inputs are grids (images), sequences (text), or fixed-size vectors. Graphs have variable size, irregular structure, and no canonical ordering — making them fundamentally different.
Graph Anatomy
A graph \(G = (V, E)\) consists of:
- \(V\) — a set of nodes (also called vertices), with \(N = \lvert V \rvert\) the number of nodes.
- \(E \subseteq V \times V\) — a set of edges. An edge \((u, v) \in E\) records a relationship between nodes \(u\) and \(v\).
Node Features
Nodes are rarely bare identifiers. Each node \(v \in V\) carries a feature vector \(x_v \in \mathbb{R}^{d}\). Stacking these row-wise gives the node feature matrix:
Examples:
- In a citation network: \(x_v\) = bag-of-words representation of the paper
- In a molecule: \(x_v\) = atom type, charge, hybridisation state
- In a social network: \(x_v\) = age, location, activity features
Edge Features
Edges can also carry features \(e_{uv} \in \mathbb{R}^{k}\), stacked into an edge feature matrix \(X_E \in \mathbb{R}^{M \times k}\):
- In a molecule: bond type (single/double/aromatic), bond length
- In a knowledge graph: relation type (one-hot)
- In a road network: distance, speed limit, traffic volume
Labels
What you want to predict determines the task level:
| Task level | Label | Example |
|---|---|---|
| Node | \(y_v\) per node | Paper topic (node classification) |
| Edge | \(y_{uv}\) per edge | Will users \(u\) and \(v\) become friends? (link prediction) |
| Graph | \(y_G\) per graph | Is this molecule toxic? (graph classification) |
Concrete Example: A Molecule as a Graph
Consider water (H₂O), using the feature template (atomic number, valence electrons, electronegativity × 10):
- Nodes: O (oxygen, node 0), H (hydrogen, node 1), H (hydrogen, node 2)
- Node features: \(x_0 = [8,\, 6,\, 34]\) for oxygen, and \(x_1 = x_2 = [1,\, 1,\, 22]\) for the two hydrogens
- Edges: \((0,1)\) and \((0,2)\) — two O–H bonds
- Edge features: \(e_{01} = e_{02} = [1,\, 0.96]\) (bond order 1, bond length 0.96 Å)
- Graph label: \(y_G = 1\) (polar molecule, for a binary classification task)
This small example shows every component: node features capturing chemistry, edge features capturing bond properties, and a graph-level label for the prediction task.
The Adjacency Matrix
A graph’s structure is encoded in an adjacency matrix \(A \in \{0,1\}^{N \times N}\):
For an undirected graph \(A\) is symmetric, i.e. \(A = A^{\top}\). For a weighted graph, \(A_{uv}\) holds the weight of edge \((u,v)\) instead of a 0/1 indicator.
The adjacency matrix is rarely stored explicitly for large graphs (too sparse) — instead, edge lists or sparse formats are used.
Neighbourhood
The neighbourhood of node \(v\) is the set of nodes directly connected to it:
The degree of node \(v\) is \(\deg(v) = \lvert \mathcal{N}(v) \rvert\) — the number of neighbours. Degree is one of the most fundamental structural properties of a node.
What GNNs Learn
A GNN takes as input:
- The graph structure (adjacency matrix or edge list)
- Node features \(X\)
- (Optionally) edge features
And produces as output:
- Node embeddings \(h_v \in \mathbb{R}^{d'}\) for each node (used for node classification)
- Edge embeddings \(h_{uv}\) for each edge (used for link prediction)
- Graph embedding \(h_G \in \mathbb{R}^{d'}\) (used for graph classification)
The core operation: each node aggregates information from its neighbours, combines it with its own features, and updates its representation — iterating this over multiple rounds.
Summary
| Concept | Notation | Example |
|---|---|---|
| Node set | \(V\), with \(N = \lvert V \rvert\) | Papers, atoms, users |
| Edge set | \(E\), with \(M = \lvert E \rvert\) | Citations, bonds, friendships |
| Node features | \(X \in \mathbb{R}^{N \times d}\) | Bag-of-words, atom type |
| Edge features | \(X_E \in \mathbb{R}^{M \times k}\) | Bond type, relation type |
| Adjacency matrix | \(A \in \{0,1\}^{N \times N}\) | Who is connected to whom |
| Neighbourhood | \(\mathcal{N}(v)\) | Direct neighbours of \(v\) |
| Node label | \(y_v\) | Paper topic |
| Graph label | \(y_G\) | Molecule toxicity |
Graphs are the natural language of relational data. GNNs are the deep learning architectures that speak it.
References
- Bondy, J. A., & Murty, U. S. R. (2008). Graph Theory. Springer. — Standard reference for graph theory fundamentals.
- Hamilton, W. L. (2020). Graph Representation Learning. Synthesis Lectures on Artificial Intelligence and Machine Learning.
- Bronstein, M. M., Bruna, J., Cohen, T., & Veličković, P. (2021). Geometric Deep Learning: Grids, Groups, Graphs, Geodesics, and Gauges. arXiv preprint.
