nimobeeren / thesis

My master thesis on property graph schema validation, with practical implementation and benchmark on various DB engines

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Property Graph Schemas

Build thesis PDF

This repository contains the source code and result data of my master thesis: Formal Specification and Practical Validation of Property Graph Schemas.

πŸ“„ Full PDF

Abstract

Graph databases are increasingly receiving attention from industry and academia, due in part to their flexibility; a schema is often not required. In particular, the property graph model enables natural expression of data from a wide variety of domains. However, schemas can significantly benefit query optimization, data integrity, and documentation. We present a formal property graph schema model based on conceptual data modeling methods, integrating constraints on mandatory and allowed properties, property data types, edge endpoints, and edge cardinality. Moreover, we specify schema validation semantics using first-order logic rules. These rules are implemented using graph queries for Neo4j, JanusGraph, and TigerGraph, which we evaluate through a controlled experiment. Our results demonstrate feasibility of our approach, with execution times scaling linearly with the size of the data.

Repository Structure

πŸ“ analysis: Data of experiment results and notebook used to generate plots and statistical analyses.

πŸ“ docs: LaTeX source code and output for the main thesis document.

πŸ“ janusgraph: Java source code and utilities for JanusGraph experiments.

πŸ“ neo4j: Cypher queries and utilities for Neo4j experiments.

πŸ“ tigergraph: GSQL queries and statements and utilities for TigerGraph experiments.

About

My master thesis on property graph schema validation, with practical implementation and benchmark on various DB engines


Languages

Language:Jupyter Notebook 70.7%Language:Java 11.7%Language:Cypher 9.5%Language:JavaScript 5.6%Language:Shell 2.3%Language:Groovy 0.1%