This is pretty cool, but I think it needs an explicit way to model time somehow. The idea of facts negating facts previously in the system without the sequence being made explict makes me very nervous.
There’s Alvaro 2009, “Dedalus: Datalog in Time and Space” which adds timestamps to datalog for modeling distributed systems. It works basically the way you’d expect. Related is Hellerstein & Alvaro 2019, “Keeping CALM: When Distributed Consistency is Easy”.
For more fun additions to datalog, see also Flix and Datafun.
First thing I fixated on was the tag system. They crop up in a lot of contexts, don’t they?