Abstract. It is known that d-separation can determine the minimum amount of information needed to process a query during exact inference in discrete Bayesian networks. Unfortunately, no practical method is known for determining the semantics of the intermediate factors constructed during inference. Instead, all inference algorithms are relegated to denoting the inference process in terms of potentials. In this theoretical paper, we give an algorithm, called Semantics in Inference (SI), that uses d-separation to denote the semantics of every potential constructed during inference. We show that SI possesses four salient features: polynomial time complexity, soundness, completeness, and strong completeness. SI provides a better understanding of the theoretical foundation of Bayesian networks and can be used for improved clarity, as shown via an examination of Bayesian network literature.