In simple rule-based systems, there are two kinds of inference, forward chaining and backward chaining.
Forward chaining: data gets put into working memory. This triggers rules whose conditions match the new data. These rules then perform their actions. The actions may add new data to memory, thus triggering more rules. And so on. This is also called data-directed inference, because inference is triggered by the arrival of new data in working memory.
Backward chaining: the system needs to know the value of a piece of data. It searches for rules whose conclusions mention this data. Before it can use the rules, it must test their conditions. This may entail discovering the value of more pieces of data, and so on. This is also called goal-directed inference, or hypothesis driven, because inferences are not performed until the system is made to prove a particular goal (i.e. a question).