The Polymorphic Data Model With Types
A big challenge in the field of knowledge representation formalisms is the large variety of data that we encounter on a daily basis. For this reason, many different data models, each with their own specific modeling paradigm, have emerged over the past decades. Among the most prominent such data models, one finds, for instance, the relational model, the document model, the triplestore/RDF data model, the graph model, and others.
In practice, real-world needs rarely fit perfectly into a single such model, and instead, data often exhibits characteristics that extend and interpolate between multiple different data models. One way this issue has been previously addressed is by turning to ‘multi-model’ approaches. These, however, require the modeler to carefully ensure interoperability between the models in use.
TypeDB follows a different approach: instead of providing many different modeling paradigms, it provides a single, highly expressive model, that is natively compatible with many of the models listed above. TypeDB’s model is based on a polymorphism-enhanced conceptual approach: which, as in traditional conceptual data models, structures data into three natural categories of ‘entities’ (independent object types), ‘relations’ (dependent object types), and ‘attributes’ (dependent or independent value types), but in addition, provides native facility for expressing inheritance and interface polymorphism of these types.
In this lecture, we will learn how to think in TypeDB’s polymorphic data model. In particular, we will touch on:
- The key ingredients of the polymorphic entity-relation-attribute model.
- How other models can be easily translated into TypeDB’s model.
- How to put polymorphism to efficient use in your everyday life.
Before joining Vaticle, Christoph has led cutting-edge research in Theoretical Computer Science and Mathematics at the University of Oxford, where he also completed his PhD in Computer Science in 2019. He worked in the areas of Higher-Dimensional Category Theory and Computable Geometry, and co-wrote a book on the mathematical foundations for a synthesis of these two subjects. Christoph has been closely following the movement of type-theoretic databases over the past several years, and shares our vision at Vaticle to bring theory and practice together in order to built the next generation framework for modern databases applications.
Learn more about TypeDB's core philosophy from the following fundamental article and lectures.