We’ve completely reimagined TypeDB Studio, taking it far beyond what it previously was! This new release of Studio, currently in early alpha, is a full-fledged TypeDB IDE (Integrated Development Environment), designed for the end-to-end development of TypeDB databases, database queries, and data exploration, via a clean and intuitive UI.
On launching Studio, you’ll now be prompted to select (or create) a project directory. This is where Studio will load and save query files, but we can also freely edit text files in the project directory using Studio. The project browser maintains a live view of the directory contents on the filesystem, much like existing major IDEs do.
We’ve added a fully-featured, performant text editor including all the basic functionality one would expect from an editor (Undo/Redo, Find/Replace, etc.) It includes syntax highlighting for TypeQL files (*.tql).
We initially tried using existing text editor libraries, but found that none of them had all of the features we needed. So TypeDB Studio’s Text Editor is built almost entirely from the ground up, giving us total control over the architecture and full flexibility to add new features as desired.
TypeDB Studio now allows (and requires!) you to select your session and transaction configuration. If you’re manipulating schema, you’ll need a schema session. Write operations require a write transaction. Explanations are available by taking a “snapshot”, which keeps the transaction alive on a given snapshot of the data.
This brings it in line with the rest of the TypeDB stack (Console and Clients); provides greater visibility to the user about the state of the system; and crucially, allows for the running of any kind of TypeQL Query - Define, Insert, Match Aggregate, and so on, which was not possible in previous iterations of Studio. The results of these queries are printed to a Log Output window, which also features TypeQL syntax highlighting.
The new Type Browser provides a structured tree view of the connected database’s type hierarchy. Opening any Type will bring up a page that lists in detail its properties - supertype, roles played, attributes owned, etc.
The follow-up alpha releases of Studio will add even more functionality to this Type Page, including the ability to edit any property of the Type, which will be invaluable to developers who are designing or upgrading their TypeDB schema.
Along with Log output, Match queries will continue to generate GPU-accelerated, graph-structured output visualisations. The overall look and feel is unchanged from previous releases of Studio, but we have made some notable improvements:
- Parallelised physics engine - The physics engine powering the visualiser now distributes its work evenly across CPU cores, and the overall visualisation is sharply more performant as a result.
- Improved graph shape - The physics engine has a set amount of “energy” that decays over time, which makes the graph shape stabilise. We now restore all energy whenever a new vertex or edge is loaded, which produces final shapes that much more clearly identify “regions” of strongly-connected vertices.
We’ve also made minor UX improvements, with more features and fixes due to be implemented in the next releases.
Download TypeDB Studio 2.10.0-alpha here:
Happy visualising and developing with TypeDB!!
Please be aware that TypeDB Studio 2.10.0-alpha requires TypeDB v2.10.0 or above.