How we're building the future with TypeDB
The need for subtyping and polymorphism in databases
In this article, we’ll explain how a new revolution in databases overcomes the limitations of relational, document and graph databases by using subtyping and polymorphism — core object-oriented (OO) programming principles — to create higher abstractions and achieve greater expressivity.
Databases excel at handling traditional data types such as numbers and strings, but they lack robust mechanisms for working with complex data structures like collections (e.g., lists and sets). In this blog post, we explore the difficulties encountered when storing data as collections in databases.
Polymorphism can be one of the most challenging things to model in a database. Not only do you want your database to be performant, you also want it to feel intuitive so that queries you write make sense and are simple to maintain, and polymorphic data can easily mess up that balance if you don’t take the time to consider how best to implement it.
The Wikipedia interpretation of inference is “moving from premises to logical consequences”. This definition is so broad that we can actually identify two distinct types of inference TypeDB does: Rule inference and type inference. With TypeQL, we’ve combined both types of inference into a powerful query language. This forms the basis of a paradigm-shifting database that puts elegant modelling at your fingertips.