knowledge representation and reasoning tools in clojure