Graph Prediction
Graph prediction outputs a graph, a graph property, node labels, edge labels, or a graph edit. It is a task family for molecules, knowledge graphs, interaction networks, scene graphs, dependency graphs, and program structures.
A graph is:
where is the node set, is the edge set, contains node or edge features, and is an adjacency representation.
Output Types
- Graph-level prediction: class, scalar, or ranking score for a whole graph.
- Node prediction: label or value for each node.
- Edge prediction: link existence, relation type, distance, bond type, or contact.
- Graph generation: produce nodes, edges, labels, and attributes.
- Graph edit prediction: add, remove, or relabel nodes and edges.
For edge prediction:
where and are node representations and is optional pair evidence.
For graph generation:
This factorization is schematic; the concrete decoder must define a valid ordering, constraint set, and stopping rule.
Evaluation Risks
- Node ordering should not change the meaning of the output.
- Near-duplicate graphs can leak across train/test splits.
- Graph-level labels can hide node-level or edge-level failure.
- Generated graphs may be syntactically valid but chemically, physically, or logically invalid.
- Negative edges may be unobserved rather than true negatives.
Checks
- Is the task graph-level, node-level, edge-level, generative, or edit-based?
- What makes a graph valid?
- Is the graph directed, undirected, typed, weighted, dynamic, or geometric?
- Are node and edge identities aligned across examples?
- Does evaluation respect permutation invariance?
- What split unit prevents graph overlap or near-duplicate leakage?