I might be strange in this, but I dislike languages without a canonical implementation; is there a canonical implementation of Datalog?
Datalog has well defined semantics and can actually be formalised through different means, which are proven to be equivalent.
* Model theoretic (logical)
* Fixpoint (imperative)
* Proof theoretic (functional)