datalog

quoll 2020-08-07T00:12:58.102700Z

Cool. Asami also does this (it can be turned off), although there isn’t any reporting of which path it uses.

quoll 2020-08-07T00:14:41.102900Z

I’m also curious about what you mean by “Rules”. Is this queries built from queries, as Datomic does, or is it about creating new database operations (like assertions) based on existing data, as per Datalog Horn clauses?

dregre 2020-08-07T13:53:59.103600Z

Thanks everyone! quoll, it’s the former for now — Datomic-style query rules rather than Datalog Horn rules :)

1👍
dregre 2020-08-07T17:58:51.103900Z

@taylor.jeremydavid could I for the most part use Crux as a drop-in replacement for Datomic with regard to my query rules? IOW would I have to rewrite them for Crux?

refset 2020-08-07T18:10:34.104100Z

The rule syntax is very similar IIRC, but it ultimately depends on what's inside the rules. Like you might need to write a few extra predicates for Crux to recreate some built-ins that Crux doesn't provide out of the box. Equally for destructuring

dregre 2020-08-07T18:19:07.104300Z

Does Crux do notand not-join?

refset 2020-08-07T18:21:33.104500Z

Yep! It's worth a skim through this ns https://github.com/juxt/crux/blob/master/crux-test/test/crux/query_test.clj

dregre 2020-08-07T18:22:39.104800Z

Thanks a lot 🙂

1🙏