There are many design decisions one has to make when designing a representation language.  One of the most important involves the extent to which the representation encodes the rich structure in the world, and makes it transparent to the reasoning and learning algorithms. Along this spectrum, there are three common choices, which I will discuss in turn.