前言
系列文章:
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。
- 确保以下端口未被占用。
端口号 | 说明 |
---|---|
7001 | Studio 提供 web 服务使用。 |
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,导入操作会失败,并提示修改名称或更换图空间。