The purpose of this work is to clarify the relationship between three approaches to representing incomplete information in logic programming. Classical negation and epistemic disjunction are used in the first of these approaches, abductive logic programs with classical negation in the second, and a simpler form of abductive logic programming — without classical negation — in the third. In the literature, these ideas have been illustrated with examples related to properties of actions, and in this paper we consider an action domain also. We formalize this domain as a disjunctive program with classical negation, and then show how two abductive formalizations can be obtained from that program by a series of simple syntactic transformations. The three approaches under consideration turn out to be parts of a whole spectrum of different, but equivalent, ways of representing incomplete information.