threatgrid / asami

A graph store for Clojure and ClojureScript
Eclipse Public License 1.0
634 stars 29 forks source link

Transaction rules #194

Open quoll opened 3 years ago

quoll commented 3 years ago

This ticket is an umbrella ticket for a rule system that executes efficiently when transactions are completed. This will be much closer to RETE than Naga currently is.

We want individual statements to be checked against rule patterns, and when they match, that rule will be scheduled and then all of its patterns will be removed from subsequent checks for that transaction.

Rules ought to be executable with just the deltas for some patterns (though not for things like negations).

Rule bodies will allow for complete queries.