Now, zooming to the present, I want to support Ukraine with an in-browser app that teaches and applies international criminal law. (The "Rome Statute of the International Criminal Court.)
Criminal Law — including the Rome Statute — always consists of a set of "elements" that need to be present. These change very infrequently, so I think that "hard-coding" them in a platform is fine. I don't believe I need any kind of self-discovery of rules and classifications.
Now, I've found a great Javascript, in-browser Prolog implementation, Tau Prolog. I've taken a first stab at some Prolog code.
What else should I consider? I'd like the system to support lots of info for the user such as how decisions were made, and what facts are missing in order to make a conclusion.
My rough initial code: https://github.com/public-law/war-crimes-explorer/blob/master/crimes.pl
Or you could use "chat" where chat actually means pre-fabricated inputs in a simple decision tree.