The aim of this master thesis is to provide an easy to use interface to convert course notes written in e.g. LaTeX into a graph representation and back. This will require the following steps.
- Determine the graph structure to represent knowledge and test these graph structures on various use-cases. This results in the definition of a generic graph structure to represent the knowledge to be learned.
- Determine how it is possible to use the capabilities of LaTeX (e.g. using labels and macros) to get a (preferably one-to-one) mapping between the LaTeX document and the graphs structure. Specific LaTeX macros can be added to reinforce the structure of the text, but the their number should be limited to a minimum in order to reduce the learning curve of a author.
- Write a LaTeX parser in Python to import the LaTeX file and to store the graph representation in the neo4j graph database.
- Write a LaTeX and pdf/html document generator starting from a sub-graph extracted from the knowledge graph database.
The aim is to make a system that does all the above steps: parsing a LaTeX input file which is (as closely as possible compatible with) the LaTeX files of the course, generating a knowledge graph stored in neo4j, and be able to generate subparts of the knowledge graph is a user readable format (e.g. LaTeX, pdf, html…).
Knowledge graph extracted from LaTeX input and stored in Neo4j