Coder Social home page Coder Social logo

vesoft-inc / nebula-studio Goto Github PK

View Code? Open in Web Editor NEW
187.0 187.0 61.0 62.93 MB

NebulaGraph Web GUI Tools

License: Apache License 2.0

JavaScript 0.53% CMake 0.35% Dockerfile 0.14% TypeScript 65.10% Less 8.71% HTML 0.29% Shell 0.62% Smarty 0.24% Makefile 0.44% Go 23.59%
hacktoberfest

nebula-studio's People

Contributors

769344359 avatar foesa-yang avatar greyli avatar harrischu avatar hetao92 avatar huaxiabuluo avatar kqzh avatar kun8018 avatar mark-xing avatar matrixji avatar megabyte875 avatar mizy avatar nekomeowww avatar nianiajr avatar nicolacage avatar tian-zhong avatar veeding avatar veezhang avatar wey-gu avatar xjlgod avatar yixinglu avatar yyh0808 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nebula-studio's Issues

fetchEdgeProps method has an error in fetch.ts

export async function fetchEdgeProps(payload: {
  idRoutes: string[];
  type: string;
  edgeFields?: any;
}) {
  const { idRoutes, edgeFields, type } = payload;
  const edgeType = '`' + type + '`';
  let gql = `fetch prop on ${edgeType} ${idRoutes.join(', ')}`;
  if (edgeFields) {
    gql += ` yield ${edgeType}._src, ${edgeType}._dst `;
    edgeFields[type].forEach(edgeField => {
      if (edgeField !== 'type') {
        gql += `,${edgeType}.${edgeField}`;
      }
    });
  } else {
    gql += ' YIELD edge as `_edge`';
  }

_edgemust not start with _

explore data from edge index

It's not supported yet, could we have this implemented?

The workaround now is to go with console and import data from there.

export to graph as PDF or hd image

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

support some data filter and more ETL functions when we use data load

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When i use load data, i can just split the files into several parts.
For example, i have a file named f1. I need to load it into a "Tag" named account and two "Edge type" named debit and loan.
The first column is source account id, the second column is target account id, the third column is edge type, the fourth column is amount.
I need to load the f1 into the edge type debit and loan by the value of the third column.
image

Describe the solution you'd like
A clear and concise description of what you want to happen.
support some data filter and more ETL functions when we use data load

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
manually by other tools, such as mysql, shell or python.

Additional context
Add any other context or screenshots about the feature request here.

Don’t show default prop on studio

比如 status 这个属性是 空的,希望返回结果中,直接没有 status 属性,而不是 status : null
类似hugegraph的字段"null_values": ["", "null", "-1", "[]"],指定哪些是默认值

Protobuf message contract

We wanted to use .net core 6.0 gRpc client to interact with Nebula graph.
Questions:

  • Is there a nebula graph .net client library?
  • If not, can someone point where can I find Nebula graph protobuf contract message, we wanted to use it write our own library?

Improved hint/error raised/login process on checking core-studio/http-gateway version

There is big chance users accidentally deployed their very first nebula cluster in the nightly docker image.

It confused them when it's possible to login but cannot perform some of the actions due to version mismatch, could we introduce a mechanism to check version during login and let users know if they are in the expected pair(between http-gateway and nebula-graph)?

Config Server details

  • We installed Nebula graph
  • We are able to connect, create spaces and execute queries using Python library
  • We also installed nebula-studio using helm start
  • Default 'Config Server' web page is prompting for following information
    • Host
    • Username
    • Password

Can someone provide documentation for 'Config Server' web page

Too many memory used while startup nebula-studio with container on server with lot's CPU core

Describe the bug (must be provided)

I using Kubernetes to start nebula-studio, and set limits with 2G memory, it always got OOM Killed on startup.
I then check with docker-compose way, it starts many node worker processes (depends how many CPU core's we have), as I using a server with 72cores, and each node work process may need about 50MB memory, so totally, it requires about 3.6GB memory, then I increase the memory limits in Kubernetes deployment, it's OK.

Your Environments (must be provided)

  • OS: Linux
  • Node-version: N/A using official container
  • Studio-version: official container image: vesoft/nebula-graph-studio:v3

How To Reproduce(must be provided)

Steps to reproduce the behavior:

It should be clear in the above description.

Expected behavior

I think at least for a startup there is no need for so many worker processes.
Maybe a suitable startup configuration --workers=3 like a non-container startup is a simple solution.

Contents in file: package.json

{
"start": "egg-scripts start --daemon --title=egg-server-nebula-graph-studio --workers=3",
"docker-start": "egg-scripts start --title=egg-server-nebula-graph-studio"
}

And if possible, we'd better calculate the worker's number, by checking below things under container:

  • How many CPUs does the node has, from nproc
  • How many logical CPUs avaliable from cgroups, checking:
    • /sys/fs/cgroup/cpu/cpu.cfs_period_us
    • /sys/fs/cgroup/cpu/cpu.cfs_quota_us
  • How many memory available from cgroups, checking: /sys/fs/cgroup/memory/memory.limit_in_bytes

Additional context

N/A

/explore can store history

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

I am currently using NEBULA Studio at V3.0.0, and when my browser accidentally quits or hits refresh, the graphs generated by the original exploration are missing, which is great if you support saving history in browser in server.

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

support multiple types of data sources in the studio

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When i want to load data by studio, i can only use .csv files.
If I have some other types of data sources, such as hive and spark. It will be a very complicated thing.

Describe the solution you'd like
A clear and concise description of what you want to happen.
Maybe we can set a "data source management" in the studio, so that we can do some config and load data visually.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
manually config in the terminal.

Additional context
Add any other context or screenshots about the feature request here.

Bottom bar overlap with the "Graph Space List" in Schema Tag of Studio 2.2.2

Describe the bug

Bottom bar overlap with the "Graph Space List" in Schema Tag

Environments

  • OS: Mac
  • Node-version: node --version
  • Studio-version: 2.2.2

How To Reproduce
when there are too many spaces in the space list

Expected behavior

Bottom bar should not be overlapped with the space list.

Additional context

image

feature: support display execution plan

If a user executes an nGQL sentence using explain or profile, nebula should return the corresponding execution plan, which you can draw graphically in the studio, currently the console uses graphviz to generate the corresponding graph.

如果用户使用 explain 或者 profile 执行一句 nGQL 时,nebula 会返回对应的 execution plan,你们可以在 studio 中用图形的方式将这个 plan 画出来,目前 console 是通过 graphviz 来生成对应的图片。

ref:https://discuss.nebula-graph.com.cn/t/topic/2333/14

Modify Data Import

It's necessary for user to input their db password when data import. It's more safe

Provide ARM64 docker images

As title :).
The core comes with arm images in the master nightly build recently, when could we have the studio arm images please?

Thanks.

When I expand the vertex, the menu can't be displayed completely

Describe the bug (must be provided)

When I expand the vertex, the menu can't be displayed completely.

Your Environments (must be provided)

  • OS: Mac
  • Node-version: 2.0.1
  • Studio-version: 2.2.2

How To Reproduce(must be provided)

Steps to reproduce the behavior:
image

Expected behavior

A clear and concise description of what you expected to happen.

Additional context

Provide logs and configs, or any other context to trace the problem.

support some commonly used nGQL in the "console"

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When i use nebula in the beginning, i can't remember all the nGQL. It will be great if there are some commonly used nGQL in the "console".

Describe the solution you'd like
A clear and concise description of what you want to happen.
We can save some commonly used nGQL in the "console", such as "show jobs" and "SUBMIT JOB COMPACT".
Or just design them as a button.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Turn to the docs and search.

Additional context
Add any other context or screenshots about the feature request here.

css problem in schmea page

Describe the bug (must be provided)

image
style problem

Your Environments (must be provided)

  • OS: Linux,Mac or Windows
  • Node-version: node --version
  • Studio-version: display in studio navBar

How To Reproduce(must be provided)

Steps to reproduce the behavior:

  1. Step 1
  2. Step 2
  3. Step 3

Expected behavior

A clear and concise description of what you expected to happen.

Additional context

Provide logs and configs, or any other context to trace the problem.

support clear logs of data import

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When i load data, i can just see some errors occur. But i don't know what happens.
Last time i found some errors occurred, i found nothing in the studio. Finally i found that the storaged was down.

Describe the solution you'd like
A clear and concise description of what you want to happen.
We can consider to put some clear logs in the studio, especially when we load data.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
in the terminal

Additional context
Add any other context or screenshots about the feature request here.
image

Can't Be Fully Imported Data

The data can't be fully imported even though the log already says that the data has been successfully imported without any errors/failed and the task is still running.

  • OS: Linux
  • Node-version: 10.19.0
  • Studio-version: 3.0.0 and 3.1.0

How I imported the data:

  1. Create a schema name sales (vid type : fixed_string).
  2. Create a tag name item (properties name/data type : id_single_item/string, region/string, country/string, item_type/string, sales_channel/string).
  3. Create an edge name order (properties name/data type : order_id/string, id_item/string, unit_sold/string, unit_price/string, unit_cost/string, total_profit/string).
  4. Go to import.
  5. Select space : sales.
  6. Upload files (item.csv and orderr.csv).
  7. On map vertices, click add Bind Datasource (name : item.csv), then add tag vertexid : column 0, choose tag : item, choose the CSV index. For id_single_item is column 0, region is column 1, country is column 2, item_type is column 3, sales_channel is column 4. All the type is string.
  8. on map edges, click add Bind Datasource (name : orderr.csv), for type : order, then mapping for srcid : column 1, dstid : column 1, order_id : column 0, id_item : column 1 , unit_sold : column 2, unit_price : column 3, unit_cost : column 4, total_profit : column 5.
  9. Start import.

Expected:
The data can be fully imported and the task stop running when the log says that the data has been successfully imported without any errors/failed

nebula-graph-studio linux centos7下安装报错了,npm run start error

nebula-graph-studio linux centos7下安装报错了

[root@VM nebula-graph-studio]# npm run start

[email protected] start
egg-scripts start --daemon --title=egg-server-nebula-graph-studio --workers=3

[egg-scripts] Starting egg application at /root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio
[egg-scripts] Run node --no-deprecation --require /root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/source-map-support/register.js /root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/egg-scripts/lib/start-cluster {"title":"egg-server-nebula-graph-studio","workers":3,"baseDir":"/root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio","framework":"/root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/egg"} --title=egg-server-nebula-graph-studio
[egg-scripts] Save log file to /root/logs
[egg-scripts] Wait Start: 1...
[egg-scripts] tail -n 100 /root/logs/master-stderr.log
[egg-scripts] Got error when startup:
[egg-scripts] Error: Package subpath './lib/request' is not defined by "exports" in /root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/koa/package.json
[egg-scripts] at new NodeError (node:internal/errors:371:5)
[egg-scripts] at throwExportsNotFound (node:internal/modules/esm/resolve:429:9)
[egg-scripts] at packageExportsResolve (node:internal/modules/esm/resolve:683:3)
[egg-scripts] at resolveExports (node:internal/modules/cjs/loader:482:36)
[egg-scripts] at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
[egg-scripts] at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
[egg-scripts] at Function.Module._load (node:internal/modules/cjs/loader:778:27)
[egg-scripts] at Module.require (node:internal/modules/cjs/loader:999:19)
[egg-scripts] at require (node:internal/modules/cjs/helpers:102:18)
[egg-scripts] at Object. (/root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/egg-core/lib/loader/mixin/extend.js:8:12)
[egg-scripts]
[egg-scripts] Start got error, see /root/logs/master-stderr.log
[egg-scripts] Or use --ignore-stderr to ignore stderr at startup.
[root@VM nebula-graph-studio]#

[root@VM nebula-graph-studio]# cat /root/logs/master-stderr.log
Error: Package subpath './lib/request' is not defined by "exports" in /root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/koa/package.json
at new NodeError (node:internal/errors:371:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:429:9)
at packageExportsResolve (node:internal/modules/esm/resolve:683:3)
at resolveExports (node:internal/modules/cjs/loader:482:36)
at Function.Module._findPath (node:internal/modules/cjs/loader:522:31)
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:919:27)
at Function.Module._load (node:internal/modules/cjs/loader:778:27)
at Module.require (node:internal/modules/cjs/loader:999:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/root/software/nebula-gragh/nebula-graph-studio/nebula-graph-studio/node_modules/egg-core/lib/loader/mixin/extend.js:8:12)

support save some custom queries in the "console"

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
When i execute some frequently used queries, i can't save them in the "console".
For example, i usually use "MATCH p=(v:P_Account{account_id:"C000000003"})-[e*1..7]-(v2:Transaction) where v2.isFraud==true RETURN v2,e,p;".
But every time i use different account_id and where clause. It will be great if we can save this in the console, and i can just need to change the necessary content.
It will be useful when i was in a team. We can share the queries.

Describe the solution you'd like
A clear and concise description of what you want to happen.
We can save some custom queries in the "console".

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Maybe save these queries in the local.

Additional context
Add any other context or screenshots about the feature request here.

Request for support deployment on Kubernetes, yaml or helm.

Is your feature request related to a problem? Please describe.
As we have nebula-operator, currently we are already could deploy a nebula graph cluster on Kubernetes quickly. But still not possible to deploy nebula-studio directly on Kubernetes.

Describe the solution you'd like
A yaml or helm solution to deploy nebula-studio on Kubernetes:

  • It supporting deploy studio/importer/http-gateway instances on different nodes with RWX Volume, or share data with object storage like S3 service.
  • Support ingress controller for exporting studio's service endpoint

Describe alternatives you've considered
Maybe a simple transitional solution is using Infinity to deploy studio/importer/http-gateway in the same node with RWO Volume, and using NodePort to export service.

Additional context
None

Improving Connecting Page fresh user experience

  • Use the default user/password when clicking connect unfilled
  • Rename the Host field to GraphD Host: Port or other things that make sense of this w/o reading docs, or provide hints

A couple of fresh users had been blocked in this phase as I know :).

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.