Thinking in Graphs