|
1 | | -[](https://factory.vaticle.com/vaticle/typedb-studio) |
2 | | -[](https://typedb.com/discord) |
3 | | -[](https://forum.typedb.com) |
4 | | -[](https://stackoverflow.com/questions/tagged/typedb) |
5 | | -[](https://stackoverflow.com/questions/tagged/typeql) |
| 1 | +[](./docs/images/studio_full_1.png) |
6 | 2 |
|
7 | | -## TypeDB Studio |
| 3 | +<div align="center"> |
| 4 | + <a href="https://factory.vaticle.com/vaticle/typedb-studio"> |
| 5 | + <img alt="Factory" src="https://factory.vaticle.com/api/status/vaticle/typedb-studio/badge.svg" /> |
| 6 | + </a> |
| 7 | + <a href="https://circleci.com/gh/vaticle/typedb-studio/tree/master"> |
| 8 | + <img alt="CircleCI" src="https://circleci.com/gh/vaticle/typedb-studio/tree/master.svg?style=shield" /> |
| 9 | + </a> |
| 10 | + <a href="https://github.com/vaticle/typedb-studio/releases/latest"> |
| 11 | + <img alt="GitHub release" src="https://img.shields.io/github/release/vaticle/typedb-studio.svg"> |
| 12 | + </a> |
| 13 | + <a href="https://vaticle.com/discord"> |
| 14 | + <img alt="Discord" src="https://img.shields.io/discord/665254494820368395?color=7389D8&label=chat&logo=discord&logoColor=ffffff" /> |
| 15 | + </a> |
| 16 | + <a href="https://forum.vaticle.com"> |
| 17 | + <img alt="Discussion Forum" src="https://img.shields.io/discourse/https/forum.vaticle.com/topics.svg" /> |
| 18 | + </a> |
| 19 | + <a href="https://stackoverflow.com/questions/tagged/typedb"> |
| 20 | + <img alt="Stack Overflow" src="https://img.shields.io/badge/stackoverflow-typedb-796de3.svg"> |
| 21 | + </a> |
| 22 | +</div> |
8 | 23 |
|
9 | | -[](./docs/images/studio-full-1.png) |
| 24 | +# Introducing TypeDB Studio |
10 | 25 |
|
11 | | -TypeDB Studio is a fully-featured Integrated Development Environment (IDE) for [TypeDB](https://github.com/vaticle/typedb). |
| 26 | +TypeDB Studio is an Integrated Development Environment (IDE) that facilitates the development process for TypeDB databases. It provides a consistent experience across different operating systems, including Windows, macOS, and Linux. With TypeDB Studio, developers can efficiently manage databases, execute queries, and explore query results, all within a unified environment. |
12 | 27 |
|
13 | | -You can utilise Studio as you would [TypeDB Console](https://github.com/vaticle/typedb-console) |
14 | | -and the [TypeDB Driver](https://typedb.com/docs/drivers/2.x/drivers): to connect to your TypeDB instance and |
15 | | -perform queries. |
| 28 | +## Features |
16 | 29 |
|
17 | | -Studio is an IDE designed for the end-to-end development of TypeDB databases, database queries, and data exploration, |
18 | | -via a clean and intuitive UI that gives you a top-down view of your entire database. |
| 30 | +### Clean and intuitive design |
19 | 31 |
|
20 | | -## Usage |
| 32 | +TypeDB Studio offers a clean and intuitive UI for various tasks related to TypeDB databases. It, for example, allows developers to effortlessly create and delete databases and provides functionality to insert, modify, and query data directly within the IDE. The latter feature is particularly useful in production environments, allowing developers to quickly address issues and make data-related changes. |
21 | 33 |
|
22 | | -### Connect to TypeDB |
| 34 | +### Data visualization |
23 | 35 |
|
24 | | -Upon launching Studio, you'll be asked for your TypeDB server details and to choose or create a database. |
| 36 | +One of the key features of TypeDB Studio is its interactive visualizer, which allows developers to visualize query results and explore inferred data. The visualizer presents data in a hypergraph format, making it easy to navigate and understand the relationships between entities and attributes. |
25 | 37 |
|
26 | | -### Manage TypeDB Projects |
| 38 | +### GUI for schema management |
27 | 39 |
|
28 | | -After connecting to TypeDB and selecting a database, Studio will prompt you to open (or create) a project directory. |
29 | | -This is where Studio will load and save query files, but you can also freely edit text files in the project directory |
30 | | -using Studio. The project browser maintains a live view of the directory contents on the filesystem. |
| 40 | +TypeDB Studio also includes a schema manager with a graphical interface, making it convenient for developers to edit, visualize, and maintain their data models. The user-friendly interface simplifies the process of creating, extending, exploring, and managing schemas, enabling developers to easily define the structure and relationships of their data. |
31 | 41 |
|
32 | | -### Manage Database Schemas |
| 42 | +### Fully-fledged IDE for developing with TypeDB |
33 | 43 |
|
34 | | -[](./docs/images/type-browser-1.gif) |
| 44 | +TypeDB Studio covers all steps of the development process with TypeDB: |
35 | 45 |
|
36 | | -The Type Browser provides a structured tree view of the connected database's type hierarchy. Double-clicking on any of |
37 | | -the listed types will bring up a page that lists their properties in detail — supertype, roles played, attributes owned |
38 | | -and more. |
39 | | - |
40 | | -### Run TypeQL Queries |
41 | | - |
42 | | -[](./docs/images/log-output-1.gif) |
43 | | - |
44 | | -Studio's text editor comes equipped with rich developer tooling, like syntax highlighting |
45 | | -for TypeQL files (\*.tql), with more advanced features currently under development. Studio's intuitive and |
46 | | -self-explanatory interface enables a rapid, iterative workflow. |
47 | | - |
48 | | -TypeDB Studio brings session and transaction configuration to the forefront, providing greater visibility to the user |
49 | | -about the state of the system. Studio allows you to run any TypeQL query, pretty-printing results |
50 | | -to the Log Output window which is easily searchable (and supports regex matching.) |
51 | | - |
52 | | -### Graph Visualisation |
53 | | - |
54 | | -[](./docs/images/graph-vis-1.gif) |
55 | | - |
56 | | -Reasoning about text outputs in [TypeDB Console](https://docs.typedb.com/docs/console/console) or through |
57 | | -the various [TypeDB Drivers](https://docs.typedb.com/docs/driver-api/overview) can be difficult to do for large |
58 | | -datasets. Studio's advanced force-graph visualisation makes the underlying structure of data immediately apparent. |
59 | | - |
60 | | -### Reasoning and Explanations |
61 | | - |
62 | | -[](./docs/images/infer-vis-1.gif) |
63 | | - |
64 | | -Select infer and explain, then double-click highlighted inferred concepts to retrieve their explanations and visualise |
65 | | -how the fact was inferred. |
| 46 | +- Graphical interface for creating or establishing a connection with a TypeDB database, eliminating the need for command line tools or client libraries. |
| 47 | +- Concept browser for exploring data models, including detailed views of entities, relations, attributes, and their interactions. |
| 48 | +[](./docs/images/type_browser_1.gif) |
| 49 | +- Built-in syntax highlighting for TypeQL and pop-up notifications for warnings and error messages that may occur during runtime/query execution. |
| 50 | +- Graph visualization engine for visualizing query results using user-modifiable, force-directed graph drawings. |
| 51 | +[](./docs/images/graph_vis_1.gif) |
| 52 | +- Local syntax validation against a set of basic checks before sending instructions and queries to the server. |
| 53 | +- Explanations visualization displays the deductive reasoning behind inferred data guaranteeing accountability of generated information. |
| 54 | +[](./docs/images/expl_vis_1.gif) |
66 | 55 |
|
67 | 56 | ## Download TypeDB Studio |
68 | 57 |
|
69 | | -You can download TypeDB Studio from the [Download Centre](https://typedb.com/download#typedb-studio) |
70 | | -or [GitHub Releases](https://github.com/vaticle/typedb-studio/releases). |
71 | | - |
72 | | -## Developer Resources |
73 | | - |
74 | | -- Documentation: https://docs.typedb.com |
75 | | -- Discussion Forum: https://forum.typedb.com |
76 | | -- Discord Chat Server: https://typedb.com/discord |
77 | | -- Community Projects: https://github.com/typedb-osi |
| 58 | +You can download TypeDB Studio from the [GitHub Releases](https://github.com/vaticle/typedb-studio/releases). |
78 | 59 |
|
79 | 60 | ## Compiling and Running TypeDB Studio from Source |
80 | 61 |
|
81 | | -> Note: You **DO NOT NEED** to compile TypeDB Studio _"from source"_ if you just want to use TypeDB Studio. You can |
82 | | -> simply download TypeDB Studio following the section above. |
| 62 | +> Note: You **DO NOT NEED** to compile TypeDB Studio from source if you just want to use TypeDB Studio. You can |
| 63 | +> simply download TypeDB Studio following the _"Download TypeDB Studio"_ section above. |
83 | 64 |
|
84 | 65 | 1. Make sure you have the following dependencies installed on your machine: |
85 | 66 | - Java JDK 11 or higher |
86 | | - - [Bazel 6 or higher](http://bazel.build/). We recommend installing it using [Bazelisk](https://github.com/bazelbuild/bazelisk), |
87 | | - which manages multiple Bazel versions transparently. Bazelisk runs the appropriate Bazel version for any `bazel` command as |
88 | | - specified in [`.bazelversion`](https://github.com/vaticle/typedb/blob/master/.bazelversion) file. |
| 67 | + - [Bazel 6 or higher](https://bazel.build/install). |
89 | 68 |
|
90 | | -2. Depending on your Operating System, you can compile and run TypeDB Studio with either one of the following commands. |
| 69 | +2. You can build TypeDB with either one of the following commands, depending on the targeted architecture and |
| 70 | + Operation system: |
91 | 71 | ```sh |
92 | | - $ bazel run //:studio-bin-mac-arm64 # for Apple Silicon |
93 | | - $ bazel run //:studio-bin-mac-x86_64 # for Intel |
| 72 | + $ bazel run //:studio-bin-mac-arm64 |
| 73 | + $ bazel run //:studio-bin-mac-x86_64 |
94 | 74 | ``` |
95 | 75 | ```sh |
96 | 76 | $ bazel run //:studio-bin-windows-x86_64 |
97 | 77 | ``` |
98 | 78 | ```sh |
99 | | - $ bazel run //:studio-bin-linux-arm64 # for ARM |
100 | | - $ bazel run //:studio-bin-linux-x86_64 # for Intel |
| 79 | + $ bazel run //:studio-bin-linux-arm64 |
| 80 | + $ bazel run //:studio-bin-linux-x86_64 |
101 | 81 | ``` |
102 | 82 | You can also replace `run` with `build` in the command above, and Bazel will simply produce the JAR for TypeDB Studio |
103 | 83 | under `bazel-bin/studio-bin-<mac|windows|linux>-<arm64|x86_64>.jar`. |
104 | 84 |
|
| 85 | +## Useful links |
| 86 | + |
| 87 | +If you want to begin your journey with TypeDB, you can explore the following resources: |
| 88 | + |
| 89 | +* In-depth dive into TypeDB's [philosophy](https://typedb.com/philosophy) |
| 90 | +* Our [TypeDB quickstart](https://typedb.com/docs/typedb/2.x/quickstart-guide) |
| 91 | +* Our [TypeDB Studio documentation](https://typedb.com/docs/clients/2.x/studio) |
| 92 | +* **[TypeQL](https://github.com/vaticle/typeql)** |
| 93 | +* **[TypeDB](https://github.com/vaticle/typedb)** |
| 94 | + |
105 | 95 | ## Contributions |
106 | 96 |
|
107 | | -TypeDB Studio has been built using various open-source frameworks throughout its evolution. Today TypeDB Studio is built |
108 | | -using [Kotlin](https://kotlinlang.org), [Compose Multiplatform](https://github.com/JetBrains/compose-jb), |
109 | | -and [Bazel](https://bazel.build). Thank you to the developers! |
| 97 | +TypeDB Studio has been built using various open-source frameworks, technologies and communities throughout its |
| 98 | +evolution. Today TypeDB Studio is built |
| 99 | +using [Kotlin](https://kotlinlang.org), |
| 100 | +[Compose Multiplatform](https://github.com/JetBrains/compose-jb), |
| 101 | +and [Bazel](https://bazel.build). |
| 102 | + |
| 103 | +Thank you! |
110 | 104 |
|
111 | 105 | ## Licensing |
112 | 106 |
|
113 | | -This software is developed by [Vaticle](https://typedb.com/). It's released under the GNU Affero GENERAL PUBLIC |
114 | | -LICENSE, Version 3, 19 November 2007. For license information, please |
115 | | -see [LICENSE](https://github.com/vaticle/typedb-studio/blob/master/LICENSE). Vaticle also provides a commercial license |
116 | | -for TypeDB Studio - get in touch with our team at commercial@vaticle.com. |
| 107 | +This software is developed by [Vaticle](https://typedb.com/). |
| 108 | +It's released under the GNU Affero GENERAL PUBLIC LICENSE version 3 (AGPL v.3.0). |
| 109 | +For license information, please see [LICENSE](https://github.com/vaticle/typedb-studio/blob/master/LICENSE). |
117 | 110 |
|
118 | | -Copyright (C) 2022 Vaticle |
| 111 | +Copyright (C) 2023 Vaticle. |
0 commit comments