This repository contains the code and queries featured in the following articles in the TypeDB Fundamentals series and accompanying lectures:
- Why We Need a Polymorphic Database [article series] [lecture]
- TypeDB: the Polymorphic Database [article series] [lecture]
The material is illustrative only and not intended to be run as a complete application. It contains the following sections:
- Java object model: Lightweight application code for a simple DAC filesystem. It includes a number of class and interface definitions, and features some query-like operations that can be performed on the model.
- PostgreSQL implementation: A relational implementation of the Java object model, comprising the schema, data, and queries necessary to directly replicate the functionalities of the object model.
- MongoDB implementation: A document implementation of the Java object model, comprising the data and queries necessary to directly replicate the functionalities of the object model.
- Neo4j implementation: A graph implementation of the Java object model, comprising the data and queries necessary to directly replicate the functionalities of the object model.
- TypeDB implementation: A polymorphic implementation of an extended version of the Java object model, comprising a schema, data, and queries. The schema includes the necessary types required to run the same queries as the other database implementations, though the actual data and query results differ. For those following along with the examples in TypeDB: the Polymorphic Database, incremental versions of the schema and data are included, alongside the individual queries featured.