Graph-based knowledge representation
## Graph-based knowledge representation

Angela Bonifati and Russ Harmer
The class will present the theory and practice of graph-based knowledge representation with a particular emphasis on its use in modelling complex systems (rule-based modelling) and in modern graph databases (such as Neo4j). The class will include a thorough treatment of the mathematical foundations of the approach in terms of graph rewriting.

Rule-based modeling provides compact descriptions of complex systems as collections of rewriting rules that describe how the system may evolve over time. This enables the description and simulation of high-dimensional (even infinite) systems and enables new analysis techniques based on notions of causality from concurrency theory.

Modern databases use graph structures (nodes, edges and properties) to encode semantically complex data as is commonly found in industry and academia (notably in the sciences and social sciences) nowadays. These graphs are analysed and manipulated by advanced query languages that are based on similar ideas to rule-based modelling.

### Pre-requisites

There are no formal pre-requisites although an acquantaince with relational databases, very basic probability theory and transition systems would be a help.
### Evaluation

Evaluation will be based on programming/modelling exercises and a written exam/presentation of a research paper (to be determined).
### Outline

In a little more detail, the class will include:
- graph rewriting, abstractly (including an introduction to all necessary category theory)
- rule-based modelling: site graph rewriting, the Kappa language, stochastic simulation, implicit state simulation, causal analysis
- graph databases: property graphs, querying in Neo4j with Cypher, graph updates, schema validation and evolution
- hierarchical and higher-order graph rewriting: graph-based knowledge representation, implementation in graph databases, application to bio-curation