Schema flexibility with broad TerminusDB type support

The latest DFRNT release is an exciting step forward in our support for advanced data modelling. It allows for an even wider range of data types and definitions. Several refinements have been added to the core model. Type composition visualisations have been improved to match, and now bring even better clarity.

New release with advanced data types

Data modelling is a powerful tool to derive meaningful insights from data and drive decisions. It can be difficult to understand and manage the complexities of more advanced types, especially when it's hard to see how it all fits together. We do our best to make it a lot easier to take advantage of the benefits that advanced data modelling can offer.

The update supports new features such as more precise control of record key generation, Foreign and TaggedUnion type support in the schema, and several improvements to property definitions such as dimensional arrays and cardinalities.

This means you now have support for constructing advanced types supported by the TerminusDB schema when you need them. Structures that many database tools struggle with. Especially when the reuse of data structures is important across your data model. Links are provided here to the corresponding TerminusDB documentation where relevant.

New data types support

The core model enhancements in this release will help you model more accurately and thus also query your data with improved confidence. Some of the improvements in this release are also a part of enabling further functionalities in upcoming releases. The two new types supported in this release are Foreign types, and TaggedUnion data structures for specifying mutually exclusive properties. These two are not fully incorporated into the user interface, but are supported in the underlying DFRNT data model, meaning you can use the JSON/YAML interface to create them as long as TerminusDB accepts them to be created.

Foreign types enable data placeholders to reference records in other data products and enable schema consistency checks. TaggedUnions enable schema designers to create reusable named classes out of specific disjunct property sets (one of) that can be reused across the schema as data structures.

Data Modelling Robustness Improvements

Our new update provides more robust ways to model data. Type documentation for both the types themselves and the properties now support simple description type documentation as strings, but also the more advanced custom label and comment object notation for type and property documentation leaves. Documentation can be authored in multiple languages as well, according to the documentation provided by TerminusDB. Full UI support for forms-based authoring of these fields is pending.

Support for Lexical, ValueHash and Hash record key generation and selection of fields to generate from has been missing in our model until now, and Random keying works like before. This is now fixed and these can be used from the JSON/YAML authoring interface. For additional control, the @base key is also supported for custom record id prefixes to prepend generated keys with.

Advanced Type Support and Property Improvements

Several improvements have been added to how properties can be represented and worked with.

The new release adds support for dimensional Arrays, in addition to Sets and Lists, and also specific UI support to define how many dimensions the array should have. Refinements have been made in specifying property cardinalities too, with the @min_cardinality, @max_cardinality and exact @cardinality values now possible to specify through the YAML/JSON interface.

The Array dimensionality, and the cardinalities for Sets and Lists, are also rendered visually in the type composition diagram for an easy overview.

We also finally bring support for disjunct, oneOf, sets of properties. This means that it is possible to, like with TaggedUnion classes, specify that only one property out of a set of properties is allowed in a record, and multiple such sets can be created. This functionality is also part of both the forms-based type editing UI and the type composition diagrams, where the sets are numbered for clarity in the overview.

Improved Type Composition Visualisations

One area that has seen quite some additional improvements is the type composition visualisations based on Mermaid diagrams. We had already exposed the ability to export Mermaid diagrams from the editing views for use in other documentation. What has been added is to render the first 10 elements of Enumerations, which is a balance struck for screen estate for other elements and usability.

Additionally, oneOf properties are now rendered, including Arrays and their dimensions. Cardinalities are represented as the minimum/maximum or exact counts. Being able to get a quick overview of type inheritance helps edit complex types in the right places and brings a visual overview.

Conclusion

We believe it’s important for our subscribers to get a visual understanding of their data models and feel confident when creating semantic data products. This is why we went the extra mile with this update to provide comprehensive support and a suite of features for managing the advanced types support in TerminusDB.

We hope that this will offer you an even better experience when structuring your data!

Subscribe to receive updates on how to leverage TerminusDB data products, exciting new features in DFRNT and how to build solutions using a data-centric architecture. By providing your email, you agree to our terms of service and privacy policy.

Research, advisory and analysis

Next Steps

Let's get started!

Getting started is easy. We include everything you need to get started.

The platform helps you specify, build, use and share model-based data products. Export visualisations, connect using APIs and navigate complex information easily.

Get started by signing up for onboarding through the link below, and we'll set you up with a demo and free trial.

Section to accept terms and conditions, and privacy policy

(check to continue)

Latest related blogposts

DFRNT® - Made for changemakers

We equip changemakers to make an impact.