I don’t have much to add to the above - as the examples shows, Clara doesn’t try to query further into facts, it just treats them as top level entities to be joined, inserted, etc.
Right now my understanding of it makes me basically think it's like calling `iterate` on a set of data until it doesn't change anymore (applying rules) and then filtering it (the queries).
That sounds on target. One thing a rules engine such as Clara is good at is efficiently applying small changes onto a complex ruleset - the intermediate states of the rule engine internals are kept to facilitate this. The “truth maintenance” page on the webpage is a good one to read if you haven’t yet. @bmaddyThanks, it's nice to know my mental model is in the right ballpark. 🙂 Yeah, I've read that page before--it's very clear and well written. I haven't been able to find much on joins though. I actually didn't even realize that was possible until I was looking at Precept.