Coder Social home page Coder Social logo

vaticle / typedb-studio Goto Github PK

View Code? Open in Web Editor NEW
183.0 16.0 43.0 44.85 MB

TypeDB Studio (IDE)

Home Page: https://typedb.com

License: Mozilla Public License 2.0

Ruby 0.07% Batchfile 0.25% Starlark 8.02% Kotlin 91.49% Shell 0.16%
knowledge-base visualisation graph-visualization network network-analysis network-visualization schema schema-design ide typedb

typedb-studio's Introduction

TypeDB Studio

Factory GitHub release Discord Discussion Forum Stack Overflow Stack Overflow

Introducing TypeDB Studio

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 macOS, Linux, and Windows. With TypeDB Studio, developers can efficiently manage databases, execute queries, and explore query results, all within a unified environment.

Manage Database Schemas

Features

GUI for data modeling

On top of the ability to model your data with TypeQL, TypeDB Studio includes a type browser and a type editor with a graphical user interface, making it convenient to edit, visualize, and maintain 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.

Type editor

Data and schema visualization

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 visualize TypeDB responses.

Response Visualisation

Fully-fledged IDE for developing with TypeDB

TypeDB Studio covers all steps of the development process with TypeDB:

  • Graphical user interface for connecting to TypeDB without the use of command line tools, libraries, or Driver API.
  • Database manager to create and delete databases.
  • Type browser for exploring type hierarchy of a database's schema.
  • Type editor for adjusting existing types in a database.
  • Project file management to store your favorite queries.
  • Convenient multi-tab query editor with TypeQL syntax highlighting, auto-saving, query execution, response output, and pop-up notifications for warnings and error messages that may occur during runtime/query execution.
  • Graph visualization engine for visualizing query results using user-modifiable, force-directed graph drawings.
  • Local syntax validation before sending instructions and queries to the server.
  • Automatic transaction management with full GUI control, including read/write transactions, schema/data sessions, as well as transaction control (commit/rollback/close) and transaction options.
  • Rule-based inference enabled with a click of a button (infer).
  • Explanations visualization displays the deductive reasoning behind inferred data for root cause analysis.

Download TypeDB Studio

You can download TypeDB Studio from the GitHub Releases page. For more information on how to install and run TypeDB Studio, see the Installation guide.

Compile from source

Note: You DO NOT NEED to compile TypeDB Studio from source if you just want to use TypeDB Studio. You can simply download TypeDB Studio following the "Download TypeDB Studio" section above.

  1. Make sure you have the following dependencies installed on your machine:

  2. You can build TypeDB with either one of the following commands, depending on the targeted architecture and operating system:

    $ bazel run //:studio-bin-mac-arm64
    $ bazel run //:studio-bin-mac-x86_64
    $ bazel run //:studio-bin-windows-x86_64
    $ bazel run //:studio-bin-linux-arm64
    $ bazel run //:studio-bin-linux-x86_64

    You can also replace run with build in the command above, and Bazel will simply produce the JAR for TypeDB Studio under bazel-bin/studio-bin-mac-x86_64.jar or similar directory, with respect to the chosen OS and architecture.

Useful links

If you want to begin your journey with TypeDB, you can explore the following resources:

Contributions

TypeDB Studio has been built using various open-source frameworks, technologies and communities throughout its evolution. Today TypeDB Studio is built using Kotlin, Compose Multiplatform, and Bazel.

Thank you!

Licensing

This software is developed by Vaticle. It's released under the Mozilla Public License 2.0 (MPL 2.0). For license information, please see LICENSE.

Copyright (C) 2023 Vaticle.

typedb-studio's People

Contributors

alexjpwalker avatar benjaminasmall avatar dependabot[bot] avatar dmitrii-ubskii avatar farost avatar flyingsilverfin avatar grabl avatar haikalpribadi avatar izmalk avatar jamesreprise avatar krishnangovindraj avatar lolski avatar lriuui0x0 avatar mlvzk avatar vaticle-bot avatar vmax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

typedb-studio's Issues

Multiline queries don't remain multiline when starred

Grakn version: 1.4.0

Reproducing steps:

  1. write a multiline query in the Graql Editor
  2. star it
  3. view starred queries
  4. click on the >> button for the recently starred query

Expected outcome:

the query should be displayed in multiple lines like how it was, when starred

Actual outcome

the multiple lines are joined by a space, resulting in a single line query with some extra spaces

Relationship panel

Create a new panel in the right bar to display which roles and relationships a node takes part in.

Graph Visualiser: Label nodes with the variable name they correspond to in the executed query

I keep running into the scenario in which I have to remember in my head which nodes/relationships pertain to which variables I've called them in my query. If the dashboard could somehow show me next to (or on clicking) nodes/relationships which variable it came from in the query this would dramatically decrease the cognitive load when debugging query traversals via the dashboard.

match $x sub thing; get; throws error

Grakn version: 1.4.0

Reproducing steps:

  1. select any keyspace
  2. in Graql Editor, enter match $x sub thing; get;
  3. execute

Expected outcome:

visualise all labels with no errors.

Actual outcome

visualises all (?) labels including one blank node and the error message: n.attributes is not a function

Show 'Select keyspace' tooltip when clicking on Graql Editor

Presently the Graql editor in Workbase isn't clickable. My first instinct as a user is to immediately click on it to start writing a query. Often I do this having forgotten to select a keyspace. The more intuitive behaviour is to be to remind a forgetful user to select a keyspace first.

Make Studio frameless

Electron on Mac supports titleBarStyle: 'hidden' as an options, but on Windows and Mac the only way to get a similar result is to make the app frameless and build the 3 buttons (minimise, maximise, close) manually

Schema: change management

This issue was originally posted by @haikalpribadi on 2018-01-23 16:59.

UI controls to manage data migration under the hood when performing specific types of "heavy" schema changes.

Dashboard visualizer displays more than 30 results on entity double click

The dashboard visualizer has brought my PC to a halt several times when double clicking any entity with more than 100 or so entities connected to it. Doing it on something with thousands hung my computer for 20 or so minutes.

I think the double click action on an entity should only return 30 results like the default limit on the query editor on the dashboard. Would be cool if the dashboard returned 30 results with like a filled-in circle around it with a number at the top showing 30 of X amount of results (with the X being updated async). Something like this would bring the dashboard back to a feasible method of exploring large graphs.

Workbase: new schema designer UI

This issue was originally posted by @haikalpribadi on 2018-08-21 11:35.

Why:
Current UI for Schema Designer is out of date and does not follow the UI design for Workbase - Visualiser.
How:
Iterate on the design for Schema Designer and impliment it.

Add a delay on hover animation on the graph

The graph visualiser right now "highlights" the hovered sugraph, and dims the rest of the graph. However, the hover animation is too sensitive. This results in quite an uncomfortable experience. If we give a delay of 1 second for a mouse to be hovering on a concept before we highlight the subgraph around the concept, this would make the animation smoother.

Load Roleplayers bug

Load Roleplayers Status was not being reset when loading of neighbours was triggered.

Improvement suggestion: show tooltips on buttons in workbase (and also the dashboard)

As @sorsaffari suggested I am trying the workbase instead of the dashboard.

Imho it be good if the button would show (after a delay of course) tooltips, with their function. If the dashboard will not be completely replace by the workbase, then also the dashboard should show some tooltips.

And I am not sure if "reload" should clear the view, but maybe just refocus and reset zoom. If clearing is the desired feature there, then maybe call it "clear" instead of "reload"

Schema: Type information box/window

This issue was originally posted by @haikalpribadi on 2018-01-23 16:56.

A window for visualising textual information of schema types.
The idea that we can display a TYPE in a small page inside a window on the right side page, where the:

  1. ENTITY PAGE contains the list of:
  • plays roles (which can be clicked and take you to the RELATION PAGE)
  • has attributes (which can be clicked and take you to the ATTRIBUTE PAGE)
  1. RELATION PAGE contains a list of:
  • role players (which can be clicked and take you to the ENTITY PAGE)
  • attributes (which can be clicked and take you to the ATTRIBUTES PAGE)
  1. ATTRIBUTE PAGE contains a list of:
  • entity owners (which can be clicked and take you to the ENTITY PAGE)
  • relation owners (which can be clicked and take you to the RELATION PAGE)

Feature: saved selections

Hi,

It would be very nice to have the ability to save the list of currently selected nodes. Like select five nodes and save the selection with the name "children".

Use case:
Do some investigation -> Select all nodes -> Save as "state 1" -> do some further deep diving bringing tons of new nodes to the graph. After that you have two options:

  1. If deep dive did non reveal anything useful: reselect the nodes of the "state 1" -> inverse selection -> shift click to delete all extra nodes
  2. If deep dive reveal something usefull: reselect the nodes of the "state 1 -> add new useful nodes -> inverse selection -> shift click to delete all extra nodes, which leaves you with the original picture, plus some extra nodes that you investigate

Some operations that would be nice to have with this saved selections:

  • Reverse selection
  • Merge
  • Intersect
  • Add common relations/concepts: will add to the selection all the 1st level relations/concepts that are shared across the selected nodes (shared on the screen, not in a DB)

Save and load the state of the graph visualiser in Workbase

screenshot from 2018-11-01 13-54-03

The above graph shows the AST structure of a Java program (left) compared to a JavaScript program (right) which does the same thing. I would like to save larger images of this but I'm currently unable.

Please make some way to at least take screenshots of the current screen. Ideally the ability to take screenshots (and at custom scales and with/without the names and path names on things) is preferable.

Improve layout of sources/outputs for Workbase

  1. After merging #4568 we'll have build, builder, builds and dist in workbase directory. Having this many is pretty confusing.
  2. build folder has two responsibilities:
    a. stores icons [input]
    b. store grakn-workbase-{version}-{platform}.zip, the result of npm run build [output]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.