Abstract. This paper aims at offering an insightful synthesis of different compositional semantics for logic program composition which have been developed in the literature. In particular, we will analyse the noprogram equivalence, compositionality, and full abstraction for logic programs. We will show how the notion of supported interpretation provides a unifying compositional model-theoretic characterisation both of positive programs and of programs containing negation.