Ask yourself these questions:
What are the objects? Vertices could be states, people, positions, or abstract entities.
What are the relationships? Edges could be transitions, connections, dependencies.
What am I optimizing? Shortest path, maximum flow, minimum cut, or something else?
What constraints exist? Capacities suggest flow.
Matching suggests bipartite. Ordering suggests topological sort.
Is there a known pattern? "Visit every edge once" = Euler. "Visit every vertex once" = Hamiltonian.
With practice, you'll recognize patterns quickly.