The DATALOG Language has been the basic if deductive Databases, which is nothing else then a Logical Rule Language that consists out of Horn Clauses without using function symbols. There are several Restrictions. Allowed is for example Conjunction, Constants, Universal Quantified Variables and predicate Symbols, while not allowed are Disjunction, Negation, Existential Quantification, nor function symbols. Knowledge Bases that are based on DATALOG Programs are nothing else, but a set of Horn Clauses without function Symbols complying to the Restrictions. DATALOG is decidable and is also computational efficient, which means that major problems like satisfiability for example can be decided in exponential time. Although it is quite complex it is still decidable. So one can work wit DATALOG and each single algorithm will come to an end in finite time.
In DATALOG one is considering Terms, which are either Constants or Variables. From these Terms one creates Atoms which are usually Predicates p that are applied on a set of Terms (i.e. Constants or Variables), here t1 to tn.
A Rule based on DATALOG is nothing else than a Horn Clause where B1 to Bn are Atoms that are in the body of the Rule and H is Atom that is in the header of the Rule and all Variables are universally quanfified, which means the Rule holds for each Variable and Assignment. A DATALOG Program is nothing else than a set of DATALOG Rules.
DATALOG is much more expressive than for example Description Logics. Usually the the Implication in Description Logics is written as an Subsumption or Inclusion. This is a problem, because one can not make and Inclusion or an Subsumption from a Property that subsumes a Class. This is not possible in Description Logics, but it is possible in First Order Logic if one considers First Order Logic Rules like DATALOG Rules.
x dislikes y and y is a dish