Our goal is to derive bottom-up query-evaluation algorithms from abstract properties of the underlying negation semantics. In this paper, we demonstrate our approach for the disjunctive stable model semantics, but the ideas are applicable to many other semantics as well. Our framework also helps to understand and compare other proposed query evaluation algorithms. It is based on the notion of conditional facts, developed by Bry and Dung/Kanchansut. We start by computing a “residual program” and show that it is equivalent to the original program under very general conditions on the semantics (which are satisfied, e.g., by the well-founded, stable, stationary, and static semantics). Many queries can already be answered on the basis of the residual program. For the remaining literals, we propose to use an appropriate completion of the residual program, which syntactically characterizes the intended models. In the case of the stable model semantics, we utilize an interesting connection to Clark's completion.