Bootstrap

Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用

前言

系列文章:
Nebula Graph-01-Nebula Graph简介和安装以及客户端连接
Nebula Graph-02-NebulaGraph高阶配置、用户管理、日志
Nebula Graph-03-NebulaGraph Studio-可视化web工具安装和使用
Nebula Graph-04-NebulaGraph nGQL的介绍和使用
Nebula Graph-05-NebulaGraph nGQL和SQL区别
Nebula Graph-06-NebulaGraph Java 使用 和SpringBoot集成Nebula Graph


如果未安装NebulaGraph,可以去看Nebula Graph-01-Nebula Graph简介和安装以及客户端连接
如果完成了可视化工具安装,可以去看 Nebula Graph-04-NebulaGraph nGQL的介绍和使用

NebulaGraph Studio-可视化web工具安装

1:什么是 NebulaGraph Studio

NebulaGraph Studio(简称 Studio)是一款可以通过 Web 访问的开源图数据库可视化工具,搭配 NebulaGraph 内核使用,提供构图、数据导入、编写 nGQL 查询等一站式服务。

产品功能¶
Studio 可以方便管理 NebulaGraph 数据,具备以下功能:

  • 使用 Schema 管理功能,用户可以使用图形界面完成图空间、Tag(标签)、Edge Type(边类型)、索引的创建,查看图空间的统计数据,快速上手 NebulaGraph 。
  • 使用导入功能,通过简单的配置,用户即能批量导入点和边数据,并能实时查看数据导入日志。
  • 使用控制台功能,用户可以使用 nGQL 语句创建 Schema,并对数据执行增删改查操作。

适用场景¶
如果有以下任一需求,都可以使用 Studio:

  • 已经安装部署了 NebulaGraph,想使用 GUI 工具创建 Schema、导入数据、执行 nGQL 语句查询。
  • 刚开始学习 nGQL(NebulaGraph Query Language),但是不习惯用命令行工具,更希望使用 GUI 工具查看语句输出的结果。

版本兼容性
Studio 版本发布节奏独立于 NebulaGraph 内核,其命名方式也不参照内核命名规则,两者兼容对应关系如下表。
在这里插入图片描述

2:部署 Studio

官网说明:https://docs.nebula-graph.com.cn/3.6.0/nebula-studio/deploy-connect/st-ug-deploy/

1:前提条件

在部署 RPM 版 Studio 之前,用户需要确认以下信息:

  • NebulaGraph 服务已经部署并启动。详细信息,参考 NebulaGraph 安装部署。
  • 使用的 Linux 发行版为 CentOS ,已安装 lsof。
  • 确保以下端口未被占用。
端口号说明
7001Studio 提供 web 服务使用。

Studio 下载链接:https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/3.8.0/nebula-graph-studio-3.8.0.x86_64.rpm?_gl=1ihkswg_gaODA1MTU2MTYzLjE3MTA4NDc5OTY._ga_BGGB2REDGM*MTcxMDg1NTcyNy4yLjEuMTcxMDg2MTQ1MC40NC4wLjA.

2:使用sudo rpm -i <rpm_name>命令安装 RPM 包。

例如,安装 Studio 3.8.0 版本需要运行以下命令,默认安装路径为/usr/local/nebula-graph-studio

$ sudo rpm -i nebula-graph-studio-3.8.0.x86_64.rpm

也可以使用以下命令安装到指定路径:

$ sudo rpm -i nebula-graph-studio-3.8.0.x86_64.rpm --prefix=

当屏幕返回以下信息时,表示 PRM 版 Studio 已经成功启动。
在这里插入图片描述

3:启动成功后,在浏览器地址栏输入 http://:7001。

如果在浏览器窗口中能看到以下登录界面,表示已经成功部署并启动 Studio。
在这里插入图片描述

卸载

用户可以使用以下的命令卸载 Studio。

$ sudo rpm -e nebula-graph-studio-3.8.0.x86_64

当屏幕返回以下信息时,表示 PRM 版 Studio 已经卸载。

NebulaGraph Studio removed, bye~

启动失败

如果启动服务时遇到报错 ERROR: bind EADDRINUSE 0.0.0.0:7001,用户可以通过以下命令查看端口 7001 是否被占用。

$ lsof -i:7001
如果端口被占用,且无法结束该端口上进程,用户可以修改 studio 配置内的启动端口,并重新启动服务。

//修改 studio 服务配置。配置文件默认路径为/usr/local/nebula-graph-studio
$ vi etc/studio-api.yaml
//修改端口号,改成任意一个当前可用的即可。
Port: 7001
//重启服务
$ systemctl restart nebula-graph-studio.service

4:Studio 连接数据库

在成功启动 Studio 后,用户需要配置连接 NebulaGraph 。

前提条件

在连接 NebulaGraph 数据库前,用户需要确认以下信息:

  • Studio 已经启动。详细信息参考部署 Studio。
  • NebulaGraph 的 Graph 服务本机 IP 地址以及服务所用端口。默认端口为 9669。
  • NebulaGraph 登录账号信息,包括用户名和密码。

在 Studio 的 配置数据库 页面上,输入以下信息:

  • Graphd IP 地址:填写 NebulaGraph 的 Graph 服务本机 IP 地址。例如192.168.10.100
    即使 NebulaGraph 与 Studio 部署在同一台机器上,用户也必须填写这台机器的本机 IP 地址,而不是 127.0.0.1 或者 localhost。
  • Port:Graphd 服务的端口。默认为9669
  • 用户名 和 密码:根据 NebulaGraph 的身份验证设置填写登录账号和密码。

如果未启用身份验证,可以填写默认用户名 root 和任意密码。
如果已启用身份验证,但是未创建账号信息,用户只能以 GOD 角色登录,必须填写 root 及对应的密码 nebula。
如果已启用身份验证,同时又创建了不同的用户并分配了角色,不同角色的用户使用自己的账号和密码登录。

在这里插入图片描述

点击连接

在这里插入图片描述

使用NebulaGraph Studio

官网说明:https://docs.nebula-graph.com.cn/3.6.0/nebula-studio/quick-start/st-ug-create-schema/

规划 Schema

在使用 Studio 之前,用户需要先根据 NebulaGraph 的要求规划 Schema(模式)。

Schema 至少要包含以下要素:

  • Tag,以及每种 Tag 的属性。
  • Edge type,以及每种 Edge type 的属性。

例如下表列出了 Schema 要素。:
在这里插入图片描述
下图说明示例中 player 类点与 team 类点之间如何发生关系(serve/follow)。
在这里插入图片描述

创建 Schema

在 NebulaGraph 中,用户必须先有 Schema,才能向其中写入点数据和边数据。本文描述如何使用 NebulaGraph 的控制台或 Schema 功能创建 Schema。

前提条件

在 Studio 上创建 Schema 之前,用户需要确认以下信息:

  • Studio 已经连接到 NebulaGraph 数据库。
  • 账号拥有 GOD、ADMIN 或 DBA 权限。详细信息,参考 NebulaGraph 内置角色。
  • 已经规划 Schema 的要素。
  • 已经创建图空间。

使用 Schema 管理功能创建 Schema,按以下步骤使用 Schema 管理功能创建 Schema:

  • 创建 Tag。
  • 创建 Edge type。

使用控制台创建 Schema

  • 在顶部导航栏里,点击 控制台 页签。

  • 在 当前 Space 中选择一个图空间。在本示例中,选择 basketballplayer。
    在这里插入图片描述

  • 在命令行中,依次输入以下语句,并点击右侧的运行按钮。

// 创建 Tag player,带有 2 个属性
CREATE TAG player(name string, age int);

// 创建 Tag team,带有 1 个属性
CREATE TAG team(name string);

// 创建 Edge type follow,带有 1 个属性
CREATE EDGE follow(degree int);

// 创建 Edge type serve,带有 2 个属性
CREATE EDGE serve(start_year int, end_year int);

  • 至此,用户已经完成了 Schema 创建。用户可以运行以下语句查看 Tag 与 Edge type 的定义是否正确、完整。
// 列出当前图空间中所有 Tag
SHOW TAGS;

// 列出当前图空间中所有 Edge type
SHOW EDGES;

// 查看每种 Tag 和 Edge type 的结构是否正确
DESCRIBE TAG player;
DESCRIBE TAG team;
DESCRIBE EDGE follow;
DESCRIBE EDGE serve;

控制台界面

在这里插入图片描述
下表列出了控制台界面上的各种功能。

编号功能说明
1工具栏点击 控制台 页签进入控制台页面。
2选择图空间在 当前图空间 列表中选择一个图空间。说明:Studio 不支持直接在输入框中运行 USE <space_name> 语句。
3收藏夹点击save 按钮,展开收藏夹,点击其中一个语句,输入框中即自动输入该语句。
4历史清单点击 history 按钮,在语句运行记录列表里,点击其中一个语句,输入框中即自动输入该语句。列表里提供最近 15 次语句运行记录。
5清空输入框点击 clear 按钮,清空输入框中已经输入的内容。
6运行在输入框中输入 nGQL 语句后,点击 play 按钮即开始运行语句。
7自定义参数展示点击 查询按钮可展开自定义参数,用于参数化查询,详情信息可见管理参数。
8输入框在输入框中输入 nGQL 语句后,点击 play 按钮运行语句。用户可以同时输入多个语句同时运行,语句之间以 ; 分隔。支持用//添加注释。
9语句运行状态运行 nGQL 语句后,这里显示语句运行状态。如果语句运行成功,语句以绿色显示。如果语句运行失败,语句以红色显示。
10添加到收藏夹点击save 按钮,将语句存入收藏夹中,已收藏的语句该按钮以黄色展示。
11导出CSV 文件或 PNG 格式图片 运行 nGQL 语句返回结果后,返回结果为表格形式时,点击 download 按钮即能将结果以 CSV 文件的形式导出。切换到可视化窗口,点击 download 按钮即能将结果以 CSV 文件或 PNG 图片的形式导出。
12展开/隐藏执行结果点击 up 按钮,隐藏此条 nGQL 语句返回的结果或点击 down按钮,展开此条 nGQL 语句返回的结果.
13关闭执行结果点击 close按钮,关闭此条 nGQL 语句返回的结果。
14表格窗口显示语句运行结果。如果语句会返回结果,窗口会以表格形式呈现返回的结果。
15可视化窗口显示语句运行结果。如果语句会返回完整的点边结果,窗口会以可视化形式呈现返回的结果。点击右方 expand按钮,展开数据概览面板。

图形化页面管理Schema

上述在控制台中用来管理Schema的语句操作,都可以私用Studio自带的图形化页面完成
在这里插入图片描述

Schema 草图

Studio 支持 Schema 草图功能。用户可以在画板上自行设计 Schema,可以直观展示点边关系,设计完成后可以将 Schema 应用到指定图空间。

功能说明

  • 图形化设计 Schema。
  • 应用 Schema 到指定图空间。
  • 导出 Schema 为 PNG 格式图片。

入口:

在这里插入图片描述

设计 Schema

  • 在页面左上角单击新建。
  • 在画布下方选择合适颜色的 Tag 标签,按住左键拖拽至画布中,创建一个 Tag。
  • 单击 Tag,在右侧填写标签名称player、描述,并且添加属性name和age。
  • 再次创建一个 Tag,标签名称为team,属性为name。
  • 从 Tag player上的锚点连接至 Tag team的锚点,单击生成的边,在右侧填写边类型名称serve,并且添加属性start_year和end_year。
  • 从 Tag player上的锚点连接至自身另一个锚点,单击生成的边,在右侧填写边类型名称follow,并且添加属性degree。
  • 设计完成后,在页面上方单击 setup 修改草图名称,然后在右上角单击 save 保存草图。
    在这里插入图片描述

应用 Schema

  • 在页面左侧的草图列表内选择需要导入的 Schema 草图,然后在右上角单击应用到图空间。
  • 选择将 Schema 导入新建图空间或者已创建的图空间,单击确认。

如果图空间中已有重名 Schema,导入操作会失败,并提示修改名称或更换图空间。

;