https://ipython.pythonprogramminghelp.com/3-no-nonsense-knowledge-representation-and-reasoning/