> The order of the data patterns does not matter (aside from performance considerations)
I just started using Datomic for a little project. The performance implications of the order of the data patterns matters a lot. It's not a minor performance consideration when swapping two patterns results in having a full cartesian product of two moderately large fact sets stored in memory. You fill up your heap and wait a long time to just get an OOM error. Very quickly, you realize that you need to think about how the query engine will deal with your request.
It seemed strange to me to dismiss this when it's something that I had to face on day 1.
Here's an online Datalog IDE and evaluator, running wholly client-side. Made with Emscripten.
The standard Racket environment also includes an implementation of Datalog.
http://docs.racket-lang.org/datalog/