Lecturer, Admissions Tutor - MSc CS, MSc DS
- 020 7631 6701
- Email address
My research focuses on data management, and specifically on three types of data models: graph data models, JSON and conceptual data models such as Entity-Relationship models and fact-based models such as ORM2. For graph data models I study graph query languages, both theoretically to investigate their expressive powers, but also practically to see how they can be effectively and efficiently implemented, both in distributed and non-distributed settings. This research also involves GraphQL, although it is strictly speaking not a graph query language. For graph data models I also study data modelling techniques and formalisms that are currently being standardised, and I’m involved in that standardisation process and chairing the LDBC working group discussing the upcoming standard. These data modelling techniques are very similar to Entity-Relationship models, and have the advantage that in graph databases there is no longer a need to translate them to an underlying data model. An important research topic here is the interaction between graph schemas and query languages: once a schema is specified it can be verified for queries if they are well-typed and what the type of the expected outcome is. For JSON data-stores I study query languages and logics for querying JSON data. Here the focus is on theoretically studying the expressive power of those languages and constructs on those languages. In the domain of conceptual modelling I study state-of-the-art conceptual modelling techniques such as fact-based modelling, which offer a more sophisticated notation and semantics, and yet are focused on being effective and practical for real-world data architects. My research here focuses on using such formalisms for data integration and specifying relationships between different data-sets in such formalisms. This involves for example investigating the problem of automatically and on-demand translating data to the right format based on such relationships. Another aspect is investigating the (automated) reasoning process over such data models, to help the modeller understand if there are inconsistencies in such data models.
Graph databases, graph indexing, graph query languages, graph schema languages, graph analytics, JSON query languages, JSON schema languages, conceptual data modelling, data integration, fact-based modelling