What Is a Graph? Nodes, Edges, Features, and Labels

5 minute read

Published:

TL;DR: A graph G = (V, E) has nodes (entities) and edges (relationships). Nodes carry feature vectors X; edges can carry feature vectors E. Labels Y can be at the node level, edge level, or graph level. GNNs learn to map (G, X) → Y.

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).V= N is the number of nodes.
  • E ⊆ V × V — a set of edges. Each edge (u, v) ∈ E indicates a relationship between nodes u and v.
G = (V, E)    |V| = N    |E| = M

Node Features

Nodes are rarely bare identifiers. Each node v ∈ V has a feature vector x_v ∈ ℝ^d. Stacked into a matrix:

X ∈ ℝ^{N × d} where X[v] = x_v

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} ∈ ℝ^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 levelLabelExample
Nodey_v per nodePaper topic (node classification)
Edgey_{uv} per edgeWill users u and v become friends? (link prediction)
Graphy_G per graphIs this molecule toxic? (graph classification)

Concrete Example: A Molecule as a Graph

Consider water (H₂O):

  • Nodes: O (oxygen, node 0), H (hydrogen, node 1), H (hydrogen, node 2)
  • Node features: x₀ = [8, 2, 6] (atomic number, valence electrons, electronegativity×10), x₁ = x₂ = [1, 1, 2]
  • Edges: (0,1) and (0,2) — two O–H bonds
  • Edge features: e₀₁ = e₀₂ = [1, 0.96] (bond order=1, bond length=0.96Å)
  • Graph label: y_G = 1 (polar molecule, for a 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.

Key Insight: The same GNN architecture can process both H₂O (3 nodes) and a drug molecule (50 nodes) because the message-passing computation is defined per-node, not per-position. There is no "slot 1" or "slot 2" — only nodes and their connections. This is what makes GNNs fundamentally different from fixed-input-size networks like MLPs.

The Adjacency Matrix

A graph’s structure is encoded in an adjacency matrix A ∈ {0,1}^{N×N}:

A[u,v] = 1 if (u,v) ∈ E, else 0

For an undirected graph, A is symmetric. For a weighted graph, A[u,v] = weight of edge (u,v).

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:

N(v) = { u ∈ V : (u,v) ∈ E }
The degree of node v isN(v)— 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 ∈ ℝ^d’ for each node (used for node classification)
  • Edge embeddings h_{uv} for each edge (used for link prediction)
  • Graph embedding h_G ∈ ℝ^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.

Key difference from grids and sequences: In a sequence, every position has exactly 2 neighbours (left and right). In an image, every pixel has exactly 8. In a graph, nodes can have 0 to thousands of neighbours, and there is no canonical ordering of those neighbours. This irregularity is the central challenge that GNN architectures must handle.

Summary

ConceptNotationExample  
Node setV,V=NPapers, atoms, users
Edge setE,E=MCitations, bonds, friendships
Node featuresX ∈ ℝ^{N×d}Bag-of-words, atom type  
Edge featuresE ∈ ℝ^{M×k}Bond type, relation type  
Adjacency matrixA ∈ {0,1}^{N×N}Who is connected to whom  
Node labely_vPaper topic  
Graph labely_GMolecule toxicity  

Graphs are the natural language of relational data. GNNs are the deep learning architectures that speak it.

References