diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 52161aec9c2..00000000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -site/ -*.DS_Store - diff --git a/nebula-studio/about-studio/st-ug-check-updates.md b/nebula-studio/about-studio/st-ug-check-updates.md new file mode 100644 index 00000000000..e42a933a3c1 --- /dev/null +++ b/nebula-studio/about-studio/st-ug-check-updates.md @@ -0,0 +1,14 @@ +# 版本更新 + +Studio 处于持续开发状态中。为保证您在本地或 Nebula Graph Cloud Service 上能使用 Studio 最新的功能: + +- Nebula Graph Cloud Service 上始终部署最新版本的 Studio。 +- 本地部署时,建议您每次都运行以下命令启动 Studio: + + ```bash + docker-compose pull && docker-compose up + ``` + +您可以通过 [Studio 的版本更新记录](https://github.com/vesoft-inc/nebula-web-docker/blob/master/docs/CHANGELOG-zh.md "点击前往 GitHub") 查看最新发布的功能。如果您已经在 Studio 页面上,您可以在页面右上角点击版本号,再点击 **新发布**,前往上述 Studio 的版本更新记录。 + +![在页面右上角点击版本号,并在弹出菜单里点击“新发布”](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-014.png "查看 Studio 版本更新记录") diff --git a/nebula-studio/about-studio/st-ug-faq.md b/nebula-studio/about-studio/st-ug-faq.md new file mode 100644 index 00000000000..1e7011d680b --- /dev/null +++ b/nebula-studio/about-studio/st-ug-faq.md @@ -0,0 +1,14 @@ +# 常见问题 + +**为什么我无法使用某个功能?** + +如果发现您无法使用某个功能,建议您按以下步骤排除问题: + +1. 确认 Nebula Graph 是最新版本。如果您使用 Docker Compose 部署 Nebula Graph 数据库,建议您运行 `docker-compose pull && docker-compose up -d` 拉取最新的 Docker 镜像,并启动容器。 +2. 确认 Studio 是最新版本。具体操作,参考 [版本更新](st-ug-check-updates.md)。 +3. 搜索 [论坛](https://discuss.nebula-graph.com.cn/) 或 GitHub 的 [nebula](https://github.com/vesoft-inc/nebula) 和 [nebula-web-docker](https://github.com/vesoft-inc/nebula-web-docker/issues) 项目,确认是否已经有类似的问题。 +4. 如果上述操作均未解决您的问题,欢迎您在论坛上提交问题。 + +**Studio 支持 Nebula Graph V2.0 pre 吗?** + +不支持。目前 Studio 仅支持 Nebula Graph V1.1.0 及以下版本。 diff --git a/nebula-studio/about-studio/st-ug-limitations.md b/nebula-studio/about-studio/st-ug-limitations.md new file mode 100644 index 00000000000..7ce59fcb6ce --- /dev/null +++ b/nebula-studio/about-studio/st-ug-limitations.md @@ -0,0 +1,36 @@ +# 使用限制 + +本文描述了您在使用 Studio 时可能会受到的限制。 + +## Nebula Graph 版本支持 + +目前 Studio 仅支持 Nebula Graph V1.1.0 及以下版本,不支持 Nebula Graph V2.0 pre-release。 + +## 数据上传 + +如果您在 Nebula Graph Cloud Service 上使用 Studio,上传数据会有以下限制: + +- 目前仅支持上传没有表头行的 CSV 文件。 +- 单个文件不得超过 100 MB。 +- 单个实例上传文件总量不得超过 1 GB。 +- 单个文件仅能保存 1 天。 + +如果您在本地使用 Studio,上传数据会有以下限制: + +- 目前仅支持上传没有表头行的 CSV 文件。 +- 单个文件大小及保存时间不受限制,数据总量以本地存储容量为准。 + +## 数据备份 + +目前仅支持在 **控制台** 上以 CSV 格式导出查询结果,不支持其他数据备份方式。 + +## nGQL 支持 + +除以下内容外,您可以在 Studio 的 **控制台** 上执行所有 nGQL 语句语法: + +- `USE `:您只能在 **Space** 下拉列表中选择图空间,不能运行这个语句选择图空间。 +- **控制台** 上使用 nGQL 语句时,您可以直接回车换行,不能使用换行符。 + +## 浏览器支持 + +建议您使用 Chrome 访问 Studio。 diff --git a/nebula-studio/about-studio/st-ug-terms.md b/nebula-studio/about-studio/st-ug-terms.md new file mode 100644 index 00000000000..a5ae2d2f39e --- /dev/null +++ b/nebula-studio/about-studio/st-ug-terms.md @@ -0,0 +1,9 @@ +# 名词解释 + +本文提供了您在使用 Studio 时可能需要知道的名词解释。 + +- Nebula Graph Studio:在本手册中简称为 Studio,是一款可以通过 Web 访问的图数据库可视化工具,搭配 Nebula Graph DBMS 使用,为您提供构图、数据导入、编写 nGQL 查询、图探索等一站式服务。 + +- Nebula Graph:一款开源图数据库管理系统(Graph Database Management System),擅长处理千亿个点和万亿条边的超大规模数据集。详细信息,参考 [Nebula Graph 用户手册](https://docs.nebula-graph.com.cn/ "点击前往 Nebula Graph 用户手册")。 + +- Nebula Graph Cloud Service:Nebula Graph 图数据库的云服务平台(Database-as-a-Service,DBaaS),按需付费,支持一键部署 Nebula Graph,集成了 Nebula Graph Studio,并内置资源监控工具。详细信息,参考 [Nebula Graph Cloud Service 用户手册](https://cloud-docs.nebula-graph.com.cn/cn/posts/toc/dbaas-ug-toc/ "点击前往 Nebula Graph Cloud Service 用户手册")。 diff --git a/nebula-studio/about-studio/st-ug-what-is-graph-studio.md b/nebula-studio/about-studio/st-ug-what-is-graph-studio.md new file mode 100644 index 00000000000..71e7cd9a1d6 --- /dev/null +++ b/nebula-studio/about-studio/st-ug-what-is-graph-studio.md @@ -0,0 +1,37 @@ +# 什么是 Nebula Graph Studio + +Nebula Graph Studio(简称 Studio)是一款可以通过 Web 访问的图数据库可视化工具,搭配 Nebula Graph DBMS 使用,为您提供构图、数据导入、编写 nGQL 查询、图探索等一站式服务。即使没有图数据库操作经验,您也可以快速成为图专家。 + +## 发行版本 + +Studio 目前有两个发行版本: + +- 本地版本:您可以在本地部署 Studio,并连接到部署在本地的 Nebula Graph 数据库。详细信息,参考 [安装部署 Studio](../install-configure/st-ug-install.md)。 +- 云服务版本:您可以在 Nebula Graph Cloud Service 上创建 Nebula Graph 数据库实例,并一键直连 Studio。详细信息,参考[《Nebula Graph Cloud Service 用户手册》](https://cloud-docs.nebula-graph.com.cn/cn/posts/manage-instances/dbaas-ug-connect-nebulastudio/ "点击前往 Nebula Graph Cloud Service 用户手册")。 + +两个发行版本功能基本相同。但是,因为部署方式不同,会有不同的使用限制。详细信息,参考 [使用限制](st-ug-limitations.md)。 + +## 产品功能 + +Studio 提供以下功能: + +- 灵活的部署方式,满足您的不同需求。您可以在本地部署 Studio 连接 Nebula Graph 数据库,或者在 Nebula Graph Cloud Service 上一键直连云端 Nebula Graph 数据库实例。 +- GUI 设计,方便您管理 Nebula Graph 图数据: + - 借助 **Schema** 管理功能,您可以使用图形界面完成 Schema(模式)创建,使您能快速上手 Nebula Graph 数据库。 + - 借助 **控制台** 功能,您可以使用 nGQL 语句创建 Schema,并对数据执行增删改查操作。 + - 借助 **导入** 功能,通过简单的配置,您即能完成批量点和边数据导入,并能实时查看数据导入日志。 +- 图探索,支持可视化展示图数据,使您更容易发现数据之间的关联性,提高数据分析和解读的效率。 + +## 适用场景 + +如果您有以下任一需求,都可以使用 Studio: + +- 您有一份数据集,想进行可视化图探索或者数据分析。您可以使用 Docker Compose 或者得 Nebula Graph Cloud Service 部署 Nebula Graph 数据库,再使用 Studio 完成可视化操作。 +- 您已经安装部署了 Nebula Graph 数据库,并且已经导入数据集,想使用 GUI 工具执行 nGQL 语句查询、可视化图探索或者数据分析。 +- 您刚开始学习 nGQL(Nebula Graph Query Language),但是不习惯用命令行工具,更希望使用 GUI 工具查看语句输出的结果。 + +## 身份验证 + +Nebula Graph 默认不启动身份验证,此时,您可以使用默认账号和密码(`user` 和 `password`)登录 Studio。如果 Nebula Graph 启用了身份验证,您只能使用指定的账号和密码登录 Studio。 + +关于 Nebula Graph 的身份验证功能,参考[《Nebula Graph 用户手册》](https://docs.nebula-graph.com.cn/manual-CN/3.build-develop-and-administration/4.account-management-statements/authentication/ "点击前往 Nebula Graph 用户手册")。 diff --git a/nebula-studio/figs/st-ug-001.png b/nebula-studio/figs/st-ug-001.png new file mode 100644 index 00000000000..56daeaf5237 Binary files /dev/null and b/nebula-studio/figs/st-ug-001.png differ diff --git a/nebula-studio/figs/st-ug-002.png b/nebula-studio/figs/st-ug-002.png new file mode 100644 index 00000000000..71c5a11a518 Binary files /dev/null and b/nebula-studio/figs/st-ug-002.png differ diff --git a/nebula-studio/figs/st-ug-003.png b/nebula-studio/figs/st-ug-003.png new file mode 100644 index 00000000000..511e5588555 Binary files /dev/null and b/nebula-studio/figs/st-ug-003.png differ diff --git a/nebula-studio/figs/st-ug-004.png b/nebula-studio/figs/st-ug-004.png new file mode 100644 index 00000000000..7dee381920e Binary files /dev/null and b/nebula-studio/figs/st-ug-004.png differ diff --git a/nebula-studio/figs/st-ug-005.png b/nebula-studio/figs/st-ug-005.png new file mode 100644 index 00000000000..001e5ae05ef Binary files /dev/null and b/nebula-studio/figs/st-ug-005.png differ diff --git a/nebula-studio/figs/st-ug-006.png b/nebula-studio/figs/st-ug-006.png new file mode 100644 index 00000000000..ecde01f1feb Binary files /dev/null and b/nebula-studio/figs/st-ug-006.png differ diff --git a/nebula-studio/figs/st-ug-007.png b/nebula-studio/figs/st-ug-007.png new file mode 100644 index 00000000000..38ceb25ae13 Binary files /dev/null and b/nebula-studio/figs/st-ug-007.png differ diff --git a/nebula-studio/figs/st-ug-008.png b/nebula-studio/figs/st-ug-008.png new file mode 100644 index 00000000000..5d1b7338574 Binary files /dev/null and b/nebula-studio/figs/st-ug-008.png differ diff --git a/nebula-studio/figs/st-ug-009.png b/nebula-studio/figs/st-ug-009.png new file mode 100644 index 00000000000..6719096bbf9 Binary files /dev/null and b/nebula-studio/figs/st-ug-009.png differ diff --git a/nebula-studio/figs/st-ug-010.png b/nebula-studio/figs/st-ug-010.png new file mode 100644 index 00000000000..a2affa766b8 Binary files /dev/null and b/nebula-studio/figs/st-ug-010.png differ diff --git a/nebula-studio/figs/st-ug-011.png b/nebula-studio/figs/st-ug-011.png new file mode 100644 index 00000000000..be904991f8e Binary files /dev/null and b/nebula-studio/figs/st-ug-011.png differ diff --git a/nebula-studio/figs/st-ug-012.png b/nebula-studio/figs/st-ug-012.png new file mode 100644 index 00000000000..0c0ec767386 Binary files /dev/null and b/nebula-studio/figs/st-ug-012.png differ diff --git a/nebula-studio/figs/st-ug-013.png b/nebula-studio/figs/st-ug-013.png new file mode 100644 index 00000000000..c29af27bc09 Binary files /dev/null and b/nebula-studio/figs/st-ug-013.png differ diff --git a/nebula-studio/figs/st-ug-014.png b/nebula-studio/figs/st-ug-014.png new file mode 100644 index 00000000000..707d0158ddd Binary files /dev/null and b/nebula-studio/figs/st-ug-014.png differ diff --git a/nebula-studio/figs/st-ug-015.png b/nebula-studio/figs/st-ug-015.png new file mode 100644 index 00000000000..b6e57cf814f Binary files /dev/null and b/nebula-studio/figs/st-ug-015.png differ diff --git a/nebula-studio/figs/st-ug-016.png b/nebula-studio/figs/st-ug-016.png new file mode 100644 index 00000000000..879b6598eee Binary files /dev/null and b/nebula-studio/figs/st-ug-016.png differ diff --git a/nebula-studio/figs/st-ug-017.png b/nebula-studio/figs/st-ug-017.png new file mode 100644 index 00000000000..1ee69253793 Binary files /dev/null and b/nebula-studio/figs/st-ug-017.png differ diff --git a/nebula-studio/figs/st-ug-018.png b/nebula-studio/figs/st-ug-018.png new file mode 100644 index 00000000000..565d9757e63 Binary files /dev/null and b/nebula-studio/figs/st-ug-018.png differ diff --git a/nebula-studio/figs/st-ug-019.png b/nebula-studio/figs/st-ug-019.png new file mode 100644 index 00000000000..c1e300afadd Binary files /dev/null and b/nebula-studio/figs/st-ug-019.png differ diff --git a/nebula-studio/figs/st-ug-020.png b/nebula-studio/figs/st-ug-020.png new file mode 100644 index 00000000000..c37b3cea03f Binary files /dev/null and b/nebula-studio/figs/st-ug-020.png differ diff --git a/nebula-studio/figs/st-ug-021.png b/nebula-studio/figs/st-ug-021.png new file mode 100644 index 00000000000..2eff7384835 Binary files /dev/null and b/nebula-studio/figs/st-ug-021.png differ diff --git a/nebula-studio/figs/st-ug-022.png b/nebula-studio/figs/st-ug-022.png new file mode 100644 index 00000000000..b33d1ff8b95 Binary files /dev/null and b/nebula-studio/figs/st-ug-022.png differ diff --git a/nebula-studio/figs/st-ug-023.png b/nebula-studio/figs/st-ug-023.png new file mode 100644 index 00000000000..0e7bfb89ebf Binary files /dev/null and b/nebula-studio/figs/st-ug-023.png differ diff --git a/nebula-studio/figs/st-ug-024.png b/nebula-studio/figs/st-ug-024.png new file mode 100644 index 00000000000..4689ce2a363 Binary files /dev/null and b/nebula-studio/figs/st-ug-024.png differ diff --git a/nebula-studio/figs/st-ug-025.png b/nebula-studio/figs/st-ug-025.png new file mode 100644 index 00000000000..4cbb24850b3 Binary files /dev/null and b/nebula-studio/figs/st-ug-025.png differ diff --git a/nebula-studio/figs/st-ug-026.png b/nebula-studio/figs/st-ug-026.png new file mode 100644 index 00000000000..14a6179b1fd Binary files /dev/null and b/nebula-studio/figs/st-ug-026.png differ diff --git a/nebula-studio/figs/st-ug-027.png b/nebula-studio/figs/st-ug-027.png new file mode 100644 index 00000000000..a609d5a6719 Binary files /dev/null and b/nebula-studio/figs/st-ug-027.png differ diff --git a/nebula-studio/figs/st-ug-028.png b/nebula-studio/figs/st-ug-028.png new file mode 100644 index 00000000000..804e1c95ba4 Binary files /dev/null and b/nebula-studio/figs/st-ug-028.png differ diff --git a/nebula-studio/figs/st-ug-029.png b/nebula-studio/figs/st-ug-029.png new file mode 100644 index 00000000000..7e45c261d27 Binary files /dev/null and b/nebula-studio/figs/st-ug-029.png differ diff --git a/nebula-studio/figs/st-ug-030.png b/nebula-studio/figs/st-ug-030.png new file mode 100644 index 00000000000..53b7d9d7b3f Binary files /dev/null and b/nebula-studio/figs/st-ug-030.png differ diff --git a/nebula-studio/figs/st-ug-031.png b/nebula-studio/figs/st-ug-031.png new file mode 100644 index 00000000000..2a316e545d7 Binary files /dev/null and b/nebula-studio/figs/st-ug-031.png differ diff --git a/nebula-studio/figs/st-ug-032.png b/nebula-studio/figs/st-ug-032.png new file mode 100644 index 00000000000..6471201e5e2 Binary files /dev/null and b/nebula-studio/figs/st-ug-032.png differ diff --git a/nebula-studio/figs/st-ug-033.png b/nebula-studio/figs/st-ug-033.png new file mode 100644 index 00000000000..499b8ff238d Binary files /dev/null and b/nebula-studio/figs/st-ug-033.png differ diff --git a/nebula-studio/figs/st-ug-034.png b/nebula-studio/figs/st-ug-034.png new file mode 100644 index 00000000000..bdfce9d2e4e Binary files /dev/null and b/nebula-studio/figs/st-ug-034.png differ diff --git a/nebula-studio/figs/st-ug-035.png b/nebula-studio/figs/st-ug-035.png new file mode 100644 index 00000000000..7a5959accca Binary files /dev/null and b/nebula-studio/figs/st-ug-035.png differ diff --git a/nebula-studio/figs/st-ug-036.png b/nebula-studio/figs/st-ug-036.png new file mode 100644 index 00000000000..2c5e6d63c3a Binary files /dev/null and b/nebula-studio/figs/st-ug-036.png differ diff --git a/nebula-studio/figs/st-ug-038.png b/nebula-studio/figs/st-ug-038.png new file mode 100644 index 00000000000..8a60ef4a4f3 Binary files /dev/null and b/nebula-studio/figs/st-ug-038.png differ diff --git a/nebula-studio/figs/st-ug-039.png b/nebula-studio/figs/st-ug-039.png new file mode 100644 index 00000000000..c9cf0d57d05 Binary files /dev/null and b/nebula-studio/figs/st-ug-039.png differ diff --git a/nebula-studio/figs/st-ug-040.png b/nebula-studio/figs/st-ug-040.png new file mode 100644 index 00000000000..2725e634064 Binary files /dev/null and b/nebula-studio/figs/st-ug-040.png differ diff --git a/nebula-studio/figs/st-ug-041.png b/nebula-studio/figs/st-ug-041.png new file mode 100644 index 00000000000..2129ef844e2 Binary files /dev/null and b/nebula-studio/figs/st-ug-041.png differ diff --git a/nebula-studio/figs/st-ug-042.png b/nebula-studio/figs/st-ug-042.png new file mode 100644 index 00000000000..45add9269da Binary files /dev/null and b/nebula-studio/figs/st-ug-042.png differ diff --git a/nebula-studio/figs/st-ug-043.png b/nebula-studio/figs/st-ug-043.png new file mode 100644 index 00000000000..c11cf0757b5 Binary files /dev/null and b/nebula-studio/figs/st-ug-043.png differ diff --git a/nebula-studio/figs/st-ug-044.png b/nebula-studio/figs/st-ug-044.png new file mode 100644 index 00000000000..4ff17fb07f6 Binary files /dev/null and b/nebula-studio/figs/st-ug-044.png differ diff --git a/nebula-studio/figs/st-ug-045.png b/nebula-studio/figs/st-ug-045.png new file mode 100644 index 00000000000..1d74884cbd0 Binary files /dev/null and b/nebula-studio/figs/st-ug-045.png differ diff --git a/nebula-studio/figs/st-ug-046.png b/nebula-studio/figs/st-ug-046.png new file mode 100644 index 00000000000..21f3e434fba Binary files /dev/null and b/nebula-studio/figs/st-ug-046.png differ diff --git a/nebula-studio/figs/st-ug-047.png b/nebula-studio/figs/st-ug-047.png new file mode 100644 index 00000000000..03fc7742314 Binary files /dev/null and b/nebula-studio/figs/st-ug-047.png differ diff --git a/nebula-studio/figs/st-ug-048.png b/nebula-studio/figs/st-ug-048.png new file mode 100644 index 00000000000..315aefffaba Binary files /dev/null and b/nebula-studio/figs/st-ug-048.png differ diff --git a/nebula-studio/install-configure/st-ug-connect.md b/nebula-studio/install-configure/st-ug-connect.md new file mode 100644 index 00000000000..ab427c58c89 --- /dev/null +++ b/nebula-studio/install-configure/st-ug-connect.md @@ -0,0 +1,42 @@ +# 连接数据库 + +安装并启动 Studio 后,您需要连接 Nebula Graph 数据库。本文主要描述如何在本地连接 Nebula Graph 数据库。 + +使用云服务时,参考[《Nebula Graph Cloud Service 用户手册》](https://cloud-docs.nebula-graph.com.cn/cn/posts/manage-instances/dbaas-ug-connect-nebulastudio/ "点击进入 Nebula Graph Cloud Service 用户手册")。 + +## 前提条件 + +在连接数据库前,您需要确认以下信息: + +- 部署了 Nebula Graph 查询引擎的服务器 IP 地址以及服务所用端口。 + +- Nebula Graph 数据库登录账号信息,包括用户名和密码。 + > **说明**:如果在部署 Nebula Graph 时已经启用了身份验证,并且已经创建了不同角色的用户,您只能使用被分配到的账号和密码登录数据库。如果未启用身份验证,您可以使用默认用户名(`user`)和默认密码(`password`)登录数据库。关于启用身份验证,参考 [Nebula Graph 用户手册](https://docs.nebula-graph.com.cn/ "点击进入 Nebula Graph 用户手册")。 + +## 操作步骤 + +按以下步骤连接 Nebula Graph 数据库: + +1. 在 Studio 的 **配置数据库** 页面上,输入以下信息: + - **Host**:填写 Nebula Graph 查询引擎的服务器 IP 地址及端口。格式为 `IP地址:3699`。 + > **说明**:如果 Nebula Graph 数据库与 Studio 部署在同一台服务器上,您必须在 **Host** 字段填写这台服务器的真实 IPv4 地址。 + - **用户名** 和 **密码**:根据 Nebula Graph 的身份验证设置填写登录账号和密码。 + - 如果未启用身份验证,可以填写默认用户名 `user` 和默认密码 `password`。 + - 如果已启用身份验证,但是未创建账号信息,您只能以 GOD 角色登录,必须填写 `root` 及对应的密码 `nebula`。 + - 如果已启用身份验证,同时又创建了不同的用户并分配了角色,不同角色的用户使用自己的账号和密码登录。 + + ![显示 Nebula Graph Studio 界面,表示连接成功](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-002.png "Nebula Graph Studio 连接成功") +2. 完成设置后,点击 **连接** 按钮。 + 如果您能看到如下图所示界面,表示您已经成功连接到 Nebula Graph 数据库。 + + ![显示 Nebula Graph Studio 界面,表示连接成功](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-003.png "Nebula Graph Studio 连接成功") + +一次连接会话持续 30 分钟。如果您超过 30 分钟没有操作,会话会断开,您需要重新登录数据库。 + +## 后续操作 + +成功连接 Nebula Graph 数据库后,根据账号的权限,您可以选择执行以下操作: + +- 如果您以拥有 GOD 或者 ADMIN 权限的账号登录,可以使用 **控制台** [创建 Schema](../quick-start/st-ug-create-schema.md) 或者 [使用 Schema 管理](../use-studio/manage-schema/st-ug-crud-space.md)。 +- 如果您以拥有 GOD、ADMIN、DBA 或者 USER 权限的账号登录,可以 [导入数据](../quick-start/st-ug-import-data.md) 或者使用 **控制台** 写入数据。 +- 如果您以拥有 GOD、ADMIN、DBA、USER 或者 GUEST 权限的账号登录,可以使用 **控制台** 完成查询操作或者使用 **图探索** 完成图探索或数据分析。 diff --git a/nebula-studio/install-configure/st-ug-install.md b/nebula-studio/install-configure/st-ug-install.md new file mode 100644 index 00000000000..4e63018298f --- /dev/null +++ b/nebula-studio/install-configure/st-ug-install.md @@ -0,0 +1,56 @@ +# 安装 Studio + +Studio 支持本地访问和云服务访问。本文主要描述如何在本地安装 Studio。 + +使用云服务访问时,您不需要安装 Studio,详细信息,参考[《Nebula Graph Cloud Service 用户手册》](https://cloud-docs.nebula-graph.com.cn/cn/posts/manage-instances/dbaas-ug-connect-nebulastudio/ "点击前往 Nebula Graph Cloud Service 用户手册")。 + +## 前提条件 + +在安装 Studio 之前,您需要确认以下信息: + +- Nebula Graph 服务已经部署并启动。详细信息,参考[《Nebula Graph 用户手册》](https://docs.nebula-graph.io/manual-EN/3.build-develop-and-administration/2.install/1.install-with-rpm-deb/ "点击前往 Nebula Graph 用户手册")。 + > **说明**:您可以使用多种方式部署并启动 Nebula Graph 服务。如果您刚开始使用 Nebula Graph,建议您使用 Docker Compose 部署 Nebula Graph。详细信息,参考 [使用 Docker Compose 部署 Nebula Graph](https://github.com/vesoft-inc/nebula-docker-compose/blob/master/README_zh-CN.md "点击前往 GitHub 网站")。 + > + +- 在即将运行 Studio 的机器上安装并启动 Docker Compose。详细信息,参考 [Docker Compose 文档](https://docs.docker.com/compose/install/ "点击即进入 Docker 文档中心")。 + +## 操作步骤 + +按以下步骤安装并运行 Studio: + +1. 下载 Studio 安装包。 + + ```bash + git clone https://github.com/vesoft-inc/nebula-web-docker + ``` + +2. 切换到 `nebula-web-docker` 路径。 + + ```bash + cd path/to/nebula-web-docker + ``` + +3. 安装并启动 Studio。 + + ```bash + docker-compose pull && docker-compose up + ``` + + 当屏幕返回以下信息时,表示 Studio 已经成功启动。 + + ```bash + Creating docker_importer_1 ... done + Creating docker_client_1 ... done + Creating docker_web_1 ... done + Creating docker_nginx_1 ... done + ``` + +4. 启动成功后,在浏览器地址栏输入 `http://localhost:7001`。 + + 如果您在浏览器窗口中能看到以下登录界面,表示您已经成功安装并启动 Studio。 + + ![Nebula Graph Studio 登录界面](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-001.png "Nebula Graph Studio 登录界面") + +## 后续操作 + +进入 Studio 登录界面后,您需要连接 Nebula Graph 数据库。详细信息,参考 [连接数据库](st-ug-connect.md)。 diff --git a/nebula-studio/install-configure/st-ug-reset-connection.md b/nebula-studio/install-configure/st-ug-reset-connection.md new file mode 100644 index 00000000000..e14ff2858fc --- /dev/null +++ b/nebula-studio/install-configure/st-ug-reset-connection.md @@ -0,0 +1,5 @@ +# 断开连接 + +如果您需要重新连接 Nebula Graph 数据库,可以清除当前连接后再重新配置数据库。 + +在 Studio 连接到某个 Nebula Graph 数据库时,在工具栏中,选择 **设置** > **清除连接**。之后,如果浏览器上显示 **配置数据库** 页面,表示 Studio 已经成功断开了与 Nebula Graph 数据库的连接。 diff --git a/nebula-studio/manage-schema/st-ug-crud-edge-type.md b/nebula-studio/manage-schema/st-ug-crud-edge-type.md new file mode 100644 index 00000000000..5a6aca09859 --- /dev/null +++ b/nebula-studio/manage-schema/st-ug-crud-edge-type.md @@ -0,0 +1,70 @@ +# 操作边类型 + +在 Nebula Graph 数据库中创建图空间后,您可能需要创建边类型。您可以选择使用 **控制台** 或者 **Schema** 操作边类型。本文仅说明如何使用 **Schema** 操作边类型。 + +## 支持版本 + +Studio v1.2.0-beta 及以后版本。请更新版本,详细操作参考 [版本更新](../about-studio/st-ug-check-updates.md)。 + +## 前提条件 + +在 Studio 上操作边类型之前,您必须确认以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。 +- 图空间已经创建。 +- 您当前登录的账号拥有 GOD、ADMIN 或者 DBA 的权限。 + +## 创建边类型 + +按以下步骤使用 **Schema** 创建边类型: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **边类型** 页签,并点击 **创建** 按钮。 +5. 在 **创建** 页面上,完成以下设置: + + a. **名称**:按提示信息输入合规的边类型名称。本示例中,输入 `action`。 + + b. (可选)如果边类型需要属性,在 **定义属性**面板的左上角,点击勾选框,并在展开的列表中,完成以下操作: + - 输入属性名称、数据类型和默认值。 + - 如果一个边类型有多个属性,可以点击 **添加属性** 按钮,并定义属性。 + - 如果要删除某个属性,在该属性所在行,点击 ![表示删除的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "删除") 图标。 + + c. (可选)边类型未设置索引时,您可以设置 TTL:在 **设置TTL**面板的左上角,点击勾选框,并在展开的列表中设置 `TTL_COL` 和 `TTL_DURATION` 参数信息。关于这两个参数的详细信息,参考 [TTL 配置](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/4.statement-syntax/1.data-definition-statements/TTL/ "点击前往 Nebula Graph 网站")。 + +6. 完成设置后,在 **对应的nGQL语句** 面板上,您能看到与上述配置等价的 nGQL 语句。 +![定义边类型 action 的属性](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-022.png "定义边类型") + +7. 确认无误后,点击 **+ 创建** 按钮。 + 如果边类型创建成功,**定义属性**面板会显示这个边类型的属性列表。 + +## 修改边类型 + +按以下步骤使用 **Schema** 修改边类型: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称完成图空间切换。 +4. 点击 **边类型** 页签,找到需要修改的边类型,并在 **操作** 列中,点击 ![表示修改的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-021.png "修改") 图标。 +5. 在 **编辑** 页面,您可以选择以下操作: + - 如果要修改属性:在 **定义属性** 面板上,找到需要修改的属性,在右侧点击 **编辑**,再修改属性的数据类型或者默认值。修改完成后,点击 **确认** 或 **取消**。 + - 如果要删除属性:在 **定义属性** 面板上,找到需要删除的属性,在右侧点击 **删除**,经确认后,删除属性。 + - 如果要添加属性:在 **定义属性** 面板上,点击 **添加属性** 按钮,添加属性信息。 + - 如果要修改 TTL:在 **设置TTL** 面板上,修改或 `TTL_COL` 和 `TTL_DURATION` 设置。 + - 如果要删除所有已经配置的 TTL:在 **设置TTL** 面板的左上角,点击勾选框,取消选择。 + - 如果要设置 TTL:在 **设置TTL** 面板的左上角,点击勾选框,开始设置 TTL。 +6. 完成设置后,在 **对应的nGQL语句** 面板上,您能看到修改后的 nGQL 语句。 + +## 删除边类型 + +按以下步骤使用 **Schema** 删除边类型: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **边类型** 页签,找到需要修改的边类型,并在 **操作** 列中,点击 ![表示删除的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-017.png "删除") 图标。 + +## 后续操作 + +边类型创建成功后,您可以在 **控制台** 上逐条插入边数据,或者使用 **导入** 功能批量插入边数据。 diff --git a/nebula-studio/manage-schema/st-ug-crud-index.md b/nebula-studio/manage-schema/st-ug-crud-index.md new file mode 100644 index 00000000000..53e913a5395 --- /dev/null +++ b/nebula-studio/manage-schema/st-ug-crud-index.md @@ -0,0 +1,60 @@ +# 操作索引 + +您可以为标签和边类型创建索引,使得图查询时可以从拥有共同属性的同一类型的点或边开始遍历,使大型图的查询更为高效。Nebula Graph 支持两种类型的索引:标签索引和边类型索引。您可以选择使用 **控制台** 或者 **Schema** 操作索引。本文仅说明如何使用 **Schema** 操作索引。 + +> **说明**:一般在创建了标签或者边类型之后即可创建索引,但是,索引会影响写性能,所以,建议您先导入数据,再批量重建索引。关于索引的详细信息,参考[《nGQL 用户手册》](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/4.statement-syntax/1.data-definition-statements/ "点击前往 Nebula Graph 网站")。 + +## 支持版本 + +Studio v1.2.0-beta 及以后版本。请更新版本,详细操作参考 [版本更新](../about-studio/st-ug-check-updates.md)。 + +## 前提条件 + +在 Studio 上操作索引之前,您必须确认以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。 +- 图空间、标签和边类型已经创建。 +- 您当前登录的账号拥有 GOD、ADMIN 或者 DBA 的权限。 + +## 创建索引 + +按以下步骤使用 **Schema** 创建索引: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **索引** 页签,再点击 **创建** 按钮。 +5. 在 **创建** 页面上,完成以下设置: + + a. **索引类型**:确认或修改索引类型,即 **标签** 或者 **边类型**。本示例中选择 **边类型**。 + + b. **名称**:选择要创建索引的标签或边类型名称。本示例中选择 **action**。 + + c. **索引名称**:按规定指定索引名称。本示例中输入 **action_index**。 + + d. **索引属性**:点击 **添加**,在 **选择关联的属性** 列表里选择需要索引的属性,并点击 **确定** 按钮。如果需要关联多个属性,重复这一步操作。您可以按界面提示重排索引属性的顺序。本示例中选择 `label` 和 `actionId`。 + > **说明**:索引属性的顺序会影响 `LOOKUP` 语句的查询结果。详细信息,参考 [《nGQL 用户手册》](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/4.statement-syntax/2.data-query-and-manipulation-statements/lookup-syntax/#faq "点击前往 Nebula Graph 网站")。 +6. 完成设置后,在 **对应的 nGQL**面板,您能看到与上述配置等价的 nGQL 语句。 +![为边类型 action 创建索引](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-023.png "创建索引") + +1. 确认无误后,点击 **+ 创建** 按钮。 + 如果索引创建成功,**定义属性**面板会显示这个索引的属性列表。 + +## 查看索引 + +按以下步骤使用 **Schema** 查看索引: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **索引** 页签,在列表左上方,选择需要查看的索引类型。 +5. 在列表中,找到需要查看的索引,点击索引所在行。界面上即列出索引相关的所有属性。 + +## 删除索引 + +按以下步骤使用 **Schema** 删除索引: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **索引** 页签,找到需要修改的索引,并在 **操作** 列中,点击 ![表示删除的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-017.png "删除") 图标。 diff --git a/nebula-studio/manage-schema/st-ug-crud-space.md b/nebula-studio/manage-schema/st-ug-crud-space.md new file mode 100644 index 00000000000..229a099ae38 --- /dev/null +++ b/nebula-studio/manage-schema/st-ug-crud-space.md @@ -0,0 +1,58 @@ +# 操作图空间 + +Studio 连接到 Nebula Graph 数据库后,您可以创建或删除图空间。您可以使用 **控制台** 或者 **Schema** 操作图空间。本文仅说明如何使用 **Schema** 操作图空间。 + +## 支持版本 + +Studio v1.2.0-beta 及以后版本。请更新版本,详细操作参考 [版本更新](../about-studio/st-ug-check-updates.md)。 + +## 前提条件 + +操作图空间之前,您需要确保以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。 +- 您当前登录的账号拥有创建或删除图空间的权限,即: + - 如果 Nebula Graph 未开启身份验证,您以默认用户名 `user` 账号和默认密码 `password` 登录。 + - 如果 Nebula Graph 已开启身份验证,您以 `root` 账号及其密码登录。 + +## 创建图空间 + +按以下步骤使用 **Schema** 创建图空间: + +1. 在工具栏里,点击 **Schema** 页签。 +2. 在图空间列表上方,点击 **+ 创建** 按钮。 +3. 在 **创建** 页面,完成以下配置: + + a. **名称**:指定图空间名称,本示例中设置为 `mooc_actions`。不可与已有的图空间名称重复。名称命名规则,参考[《nGQL 用户手册》](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/3.language-structure/schema-object-names/ "点击前往 Nebula Graph 网站")。 + + b. **选填参数**:分别设置 `partition_num`、`replica_factor`、`charset` 或者 `collate` 的值。在本示例中,四个参数分别设置为 `10`、`1`、`utf8` 和 `utf8_bin`。详细信息,参考 [`CREATE SPACE` 语法](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/4.statement-syntax/1.data-definition-statements/create-space-syntax/ "点击前往 Nebula Graph 网站")。 + + 在 **对应的nGQL语句** 面板上,您能看到上述设置对应的 nGQL 语句。如下所示: + + ```ngql + CREATE SPACE mooc_actions (partition_num = 10, replica_factor = 1, charset = utf8, collate = utf8_bin) + ``` + +4. 配置确认无误后,点击 **创建** 按钮。 + 如果页面回到 **图空间列表**,而且列表中显示刚创建的图空间信息,表示图空间创建成功。 + +![带有示例配置信息的图空间创建页面](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-015.png "图空间创建页面") + +## 删除图空间 + +按以下步骤使用 **Schema** 删除图空间: + +1. 在工具栏里,点击 **Schema** 页签。 +2. 在图空间列表里,找到需要删除的图空间,并在 **操作** 列中,点击 ![表示删除的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-017.png "删除") 图标。 + + ![在图空间列表中删除指定的图空间](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-016.png "删除图空间") +3. 在弹出对话框中,确认信息,并点击 **确认** 按钮。 + 删除成功后,页面回到 **图空间列表**。 + +## 后续操作 + +图空间创建成功后,您可以开始创建或修改 Schema,包括: + +- [操作标签](st-ug-crud-tag.md) +- [操作边类型](st-ug-crud-edge-type.md) +- [操作索引](st-ug-crud-index.md) diff --git a/nebula-studio/manage-schema/st-ug-crud-tag.md b/nebula-studio/manage-schema/st-ug-crud-tag.md new file mode 100644 index 00000000000..6cdf3a538cd --- /dev/null +++ b/nebula-studio/manage-schema/st-ug-crud-tag.md @@ -0,0 +1,68 @@ +# 操作标签(点类型) + +在 Nebula Graph 数据库中创建图空间后,您需要创建标签(点类型)。您可以选择使用 **控制台** 或者 **Schema** 操作标签。本文仅说明如何使用 **Schema** 操作标签。 + +## 支持版本 + +Studio v1.2.0-beta 及以后版本。请更新版本,详细操作参考 [版本更新](../about-studio/st-ug-check-updates.md)。 + +## 前提条件 + +在 Studio 上操作标签之前,您必须确认以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。 +- 图空间已经创建。 +- 您当前登录的账号拥有 GOD、ADMIN 或者 DBA 的权限。 + +## 创建标签 + +按以下步骤使用 **Schema** 创建标签: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **标签** 页签,并点击 **创建** 按钮。 +5. 在 **创建** 页面上,完成以下设置: + + a. **名称**:按提示信息输入合规的标签名称。本示例中,输入 `course`。 + + b. (可选)如果标签需要属性,在 **定义属性** 模块左上角,点击勾选框,并在展开的列表中,完成以下操作: + - 输入属性名称、数据类型和默认值。 + - 如果一个标签有多个属性,可以点击 **添加属性** 按钮,并定义属性。 + - 如果要删除某个属性,在该属性所在行,点击 ![表示删除的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-020.png "删除") 图标。 + + c. (可选)标签未设置索引时,您可以设置 TTL:在 **设置TTL** 模块左上角,点击勾选框,并在展开的列表中设置 `TTL_COL` 和 `TTL_DURATION` 参数信息。关于这两个参数的详细信息,参考 [TTL 配置](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/4.statement-syntax/1.data-definition-statements/TTL/ "点击前往 Nebula Graph 网站")。 + +6. 完成设置后,在 **对应的 nGQL**面板,您能看到与上述配置等价的 nGQL 语句。 +7. 确认无误后,点击 **+ 创建** 按钮。 + 如果标签创建成功,**定义属性**面板会显示这个标签的属性列表。 + +## 修改标签 + +按以下步骤使用 **Schema** 修改标签: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **标签** 页签,找到需要修改的标签,并在 **操作** 列中,点击 ![表示修改的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-021.png "修改") 图标。 +5. 在 **编辑** 页面,您可以选择以下操作: + - 如果要修改属性:在 **定义属性** 面板上,找到需要修改的属性,在右侧点击 **编辑**,再修改属性的数据类型和默认值。之后,点击 **确认** 或者 **取消** 完成修改。 + - 如果要删除属性:在 **定义属性** 面板上,找到需要删除的属性,在右侧点击 **删除**,经确认后,删除属性。 + - 如果要添加属性:在 **定义属性**面板上,点击 **添加属性** 按钮,添加属性信息。详细操作,参考 创建标签面板。 + - 如果配置了 TTL,要修改 TTL 信息:在 **设置TTL** 面板上,修改 `TTL_COL` 和 `TTL_DURATION` 配置。 + - 如果要删除已经配置的 TTL 信息:在 **设置TTL** 面板的左上角,点击勾选框,取消选择。 + - 如果要配置 TTL 信息:在 **使用TTL** 面板的右上角,点击勾选框,开始设置 TTL 信息。 +6. 完成设置后,在 **对应的 nGQL** 面板上,您能看到修改后的 nGQL 语句。 + +## 删除标签 + +按以下步骤使用 **Schema** 删除标签: + +1. 在工具栏中,点击 **Schema** 页签。 +2. 在 **图空间列表** 中,找到图空间,点击图空间名称或者在 **操作** 列中点击 ![表示设置的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-018.png "设置") 图标。 +3. 在 **当前图空间** 里确认图空间名称。您也可以通过选择图空间名称切换图空间。 +4. 点击 **标签** 页签,找到需要修改的标签,并在 **操作** 列中,点击 ![表示删除的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-017.png "删除") 图标。 + +## 后续操作 + +标签创建成功后,您可以在 **控制台** 上逐条插入点数据,或者使用 **导入** 功能批量插入点数据。 diff --git a/nebula-studio/quick-start/st-ug-create-schema.md b/nebula-studio/quick-start/st-ug-create-schema.md new file mode 100644 index 00000000000..609826272c7 --- /dev/null +++ b/nebula-studio/quick-start/st-ug-create-schema.md @@ -0,0 +1,53 @@ +# 创建 Schema + +在 Nebula Graph 中,您必须先有 Schema,再向其中写入点数据和边数据。本文描述如何使用 Nebula Graph 的 **控制台** 或 **Schema** 功能创建 Schema。 + +> **说明**:您也可以使用 nebula-console 创建 Schema。详细信息,参考 [使用 Docker Compose 部署 Nebula Graph +](https://github.com/vesoft-inc/nebula-docker-compose/blob/master/README_zh-CN.md) 和 [Nebula Graph 快速开始](https://docs.nebula-graph.com.cn/manual-CN/1.overview/2.quick-start/1.get-started/)。 + +## 前提条件 + +在 Studio 上创建 Schema 之前,您需要确认以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。 +- 您的账号拥有 GOD、ADMIN 或 DBA 权限。详细信息,参考 [Nebula Graph 内置角色](https://docs.nebula-graph.com.cn/manual-CN/3.build-develop-and-administration/4.account-management-statements/built-in-roles/)。 +- 您已经规划好了 Schema 的要素。 +- 已经创建了图空间。 + > **说明**:本示例假设已经创建了图空间。如果您的账号拥有 GOD 权限,也可以在 **控制台** 或 **Schema** 上创建一个图空间。 + +## 使用 Schema 管理功能创建 Schema + +按以下步骤使用 **Schema** 创建 Schema: + +1. 创建标签。详细信息,参考 [操作标签](../use-studio/manage-schema/st-ug-crud-tag.md)。 +2. 创建边类型。详细信息,参考 [操作边类型](../use-studio/manage-schema/st-ug-crud-edge-type.md)。 + +## 使用控制台创建 Schema + +按以下步骤使用 **控制台** 创建 Schema: + +1. 在工具栏里,点击 **控制台** 页签。 +2. 在 **当前Space** 中选择一个图空间。在本示例中,选择 **mooc_actions**。 + + ![在 当前Space 中选择一个图空间](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-007.png "选择图空间") +3. 在命令行中,依次输入以下语句,并点击 ![表示运行的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-008.png "Run 图标") 图标。 + + ```nGQL + CREATE TAG user (userId int); -- 创建标签 user,带有 1 个属性 + CREATE TAG course (courseId int, courseName string); -- 创建标签 course,带有两个属性 + CREATE EDGE action (actionId int, duration double, label bool, feature0 double, feature1 double, feature2 double, feature3 double); -- 创建边类型,带有 7 个属性 + ``` + +至此,您已经完成了 Schema 创建。您可以运行以下语句查看标签与边类型的定义是否正确、完整。 + +```nGQL +SHOW TAGS; -- 列出当前图空间中所有标签 +SHOW EDGES; -- 列出当前图空间中所有边类型 +DESCRIBE TAG user; +DESCRIBE TAG course; +DESCRIBE EDGE action; -- 查看每种标签和边类型的结构是否正确 +``` + +## 后续操作 + +创建 Schema 后,您可以开始 [导入数据](st-ug-import-data.md)。 diff --git a/nebula-studio/quick-start/st-ug-explore.md b/nebula-studio/quick-start/st-ug-explore.md new file mode 100644 index 00000000000..6dd9a4975ae --- /dev/null +++ b/nebula-studio/quick-start/st-ug-explore.md @@ -0,0 +1,11 @@ +# 查询图数据 + +导入数据后,您可以开始使用 **控制台** 或者 **图探索** 查询图数据。 + +以查询代表“History of Chinese Women Through Time”课程的点的属性为例: + +* 在 **控制台** 页面:运行 `FETCH PROP ON * hash("History of Chinese Women Through Time");`,数据库会返回这个点所有属性信息。返回结果后,点击 **导入图探索** 按钮,将点数据查询结果导入 **图探索** 进行可视化显示。 +![将控制台上查询得到的点数据信息导入到图探索进行可视化](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-012.png "将点数据查询结果导入图探索") + +* 在 **图探索** 页面:点击 **开始探索** 按钮,在 **指定VID** 对话框中,输入 **"History of Chinese Women Through Time"**,在 **VID预处理** 选择 **Hash**,再点击 **添加** 按钮。**图探索** 画板里会显示这个点,将鼠标移到点上,您能看到这个点所有属性信息,如下图所示。 +![可视化显示 History of Chinese Women Through Time 课程的信息](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-013.png "按 VID 查询得到点的信息") diff --git a/nebula-studio/quick-start/st-ug-import-data.md b/nebula-studio/quick-start/st-ug-import-data.md new file mode 100644 index 00000000000..6c5740d7a3b --- /dev/null +++ b/nebula-studio/quick-start/st-ug-import-data.md @@ -0,0 +1,49 @@ +# 导入数据 + +准备好 CSV 文件,创建了 Schema 后,您可以使用 **导入** 功能将所有点和边数据上传到 Studio,用于数据查询、图探索和数据分析。 + +## 前提条件 + +导入数据之前,需要确认以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。 +- Nebula Graph 数据库里已经创建了 Schema。 +- CSV 文件符合 Schema 要求。 +- 您的账号拥有 GOD、ADMIN、DBA 或者 USER 的权限,能往图空间中写入数据。 + +## 操作步骤 + +按以下步骤导入数据: + +1. 在工具栏里,点击 **导入** 页签。 +2. 在 **选择Space** 页面,选择一个图空间,再点击 **下一步** 按钮。 +3. 在 **上传文件** 页面,点击 **上传文件** 按钮,并选择需要的 CSV 文件。本示例中,选择 `user.csv`、`course.csv` 和 `actions.csv` 文件。 + > **说明**:您可以一次选择多个 CSV 文件。 + > +4. 在文件列表的 **操作** 列,点击 **预览** 或 **删除**,保证文件信息正确,之后,再点击 **下一步** 按钮。 +5. 在 **关联点** 页面,点击 **+ 绑定数据源** 按钮,在对话框中选择点数据文件,并点击 **确认** 按钮。如本示例中的 `user.csv` 或 `course.csv` 文件。 +6. 在 **数据源 X** 页签下,点击 **+ Tag** 按钮。 +7. 在 **vertexId** 部分,完成以下操作: + a. 在 **对应列标** 列,点击 **选择**。 + ![在数据源中点击“选择”](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-009.png "为 vertexId 选择数据源") + b. 在弹出对话框中,选择数据列。在本示例中,`user.csv` 中仅有一列数据用于生成代表用户的 VID,`course.csv` 中选择表示 `courseName` 信息的 **Column 1** 用于生成代表课程的 VID。 + > **说明**:在同一个图空间中,VID 始终唯一,不可重复。关于 VID 的信息,参考 [Nebula Graph 的点标识符和分区](https://docs.nebula-graph.com.cn/manual-CN/5.appendix/vid-partition/ "点击进入 Nebula Graph 用户手册")。 + c. 在 **ID Hash** 列,选择 VID 预处理方式:如果源数据是 `int` 类型数据,选择 **保持原值**;如果源数据是 `string`、`double` 或者 `bool` 类型数据,选择 **Hash**。 +8. 在 **TAG 1** 部分,完成以下操作: + a. 在 **TAG** 下拉列表中,选择数据源对应的标签名称。在本示例中,`user.csv` 文件对应选择 **user**;`course.csv` 文件对应选择 **course**。 + b. 在显示的属性列表中,点击 **选择**,为标签属性绑定源数据。在本示例中,`user` 标签没有属性,不需要选择数据源;`course` 标签的 `courseId` 属性对应 `course.csv` 文件中的 **Column 0** 列,**类型** 为 **int**,`courseName` 属性对应文件中的 **Column 1** 列,**类型** 为 **string**。 + ![course类点对应的属性数据源](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-010.png "为点属性选择数据源") +9. (可选) 如果您有多个标签数据文件,重复步骤 5 到步骤 8。 +10. 完成配置后,点击 **下一步**。 + 界面提示 **配置验证成功**,表示标签数据源绑定成功。 +11. 在 **关联边** 页面,点击 **+ 绑定数据源** 按钮,在对话框中选择边数据文件,并点击 **确认** 按钮。如本示例中的 `actions.csv` 文件。 +12. 在 **Edge X** 页签的 **类型** 下拉列表中,选择边类型名称。本示例中,选择 **action**。 +13. 根据边类型的属性,从 `actions.csv` 文件中选择相应的数据列。其中,**srcId** 和 **dstId** 分别表示边的起点与终点,所选择的数据及处理方式必须与相应的 VID 保持一致。本示例中,**srcId** 对应的是表示用户的 VID,**dstId** 对应的是表示课程的 VID。**rank** 为选填项,可以忽略。 +![actions 边对应的属性数据源](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-011.png "为边属性选择数据源") +14. 完成设置后,点击 **下一步** 按钮。 +15. 在 **导入** 页面,点击 **导入** 按钮开始导入数据。在 **log** 页面上,您可以看到数据导入进度。导入所需时间因数据量而异。导入过程中,您可以点击 **终止导入** 停止数据导入。当 **log** 页面显示如图所示信息时,表示数据导入完成。 +![log 里最后显示导入操作完成的时间、导入的行数以及操作的行数](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-005.png "导入结束时的 log 信息") + +## 后续操作 + +完成数据导入后,您可以开始 [图探索](st-ug-explore.md)。 diff --git a/nebula-studio/quick-start/st-ug-plan-schema.md b/nebula-studio/quick-start/st-ug-plan-schema.md new file mode 100644 index 00000000000..072559fe15c --- /dev/null +++ b/nebula-studio/quick-start/st-ug-plan-schema.md @@ -0,0 +1,22 @@ +# 规划 Schema + +在使用 Studio 之前,您需要先根据 Nebula Graph 数据库的要求规划您的 Schema(模式)。 + + Schema 至少要包含以下要素: + +* 标签(Tag,即点类型),以及每种标签的属性。 +* 边类型(Edge Type),以及每种边类型的属性。 + +本文以美国 Stanford Network Analysis Platform (SNAP) 提供的 [Social Network: MOOC User Action Dataset](https://snap.stanford.edu/data/act-mooc.html "点击前往 Stanford Network Analysis Platform (SNAP)网站") 为基础,并在其中加入由公开网络上获取的不重复的 97 个课程名称,说明如何规划 Schema。 + +下表列出了 Schema 要素。 + +| 要素 | 名称 | 属性名称 (数据类型) | 说明 | +| :--- | :--- | :--- | :--- | +| 标签 | **user** | `userId` (`int`)
将使用 `userId` 生成这类点数据的 VID。 | 表示指定 MOOC 平台的用户。 | +| 标签 | **course** | - `courseId` (`int`)
- `courseName` (`string`)
本示例中将使用 `courseName` 的值通过 `Hash()` 函数生成这类点数据的 VID。因为 Nebula Graph 要求同一个图空间中所有点的 VID 必须始终唯一,而 `courseId` 与部分 **user** 类 VID 重复,所以,不能使用 `courseId` 生成 **course** 类点数据的 VID。 | 表示指定 MOOC 平台上的课程。 | +| 边类型 | **action** | - `actionId` (`int`)
- `duration` (`double`):代表源数据中的 _timestamp_ 数据,表示行为持续时间
- `label` (`bool`):表示 **user** 完成一个行为后是否退出了课程
- `feature0` (`double`)
- `feature1` (`double`)
- `feature2` (`double`)
- `feature3` (`double`) | 表示用户参与课程的行为,分别用参与活动的持续时间、参与后用户是否退出了 MOOC 平台以及行为的四个维度(feature)来描述。其中,`label` 为 `true` 表示退出 MOOC 平台,为 `false` 表示未退出平台。 | + +下图说明示例中 **user** 类点与 **course** 类点之间如何发生关系(**action**)。 + +![用户在 MOOC 平台上参加课程](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-006.png "示例中 user 与 course 的关系") diff --git a/nebula-studio/quick-start/st-ug-prepare-csv.md b/nebula-studio/quick-start/st-ug-prepare-csv.md new file mode 100644 index 00000000000..ba0f958f912 --- /dev/null +++ b/nebula-studio/quick-start/st-ug-prepare-csv.md @@ -0,0 +1,12 @@ +# 准备 CSV 文件 + +Studio 支持通过 CSV 文件批量导入点和边数据。目前仅支持上传 CSV 文件,而且每个 CSV 文件应分别表示点数据或边数据,同时,每个 CSV 文件中不能包含表头行。所以,您需要对源数据集作如下处理: + +1. 分别生成 CSV 文件: + + - user.csv:仅包括源数据中的 `userId` 数据。 + - course.csv:仅包括 `courseId` 和 `courseName` 数据。 + - actions.csv:包括 `action` 边类型所有属性对应的数据(`actionId`、`label`、`duration`、`feature0`、`feature1`、`feature2`、`feature3`),并加入边起始点 VID 和终点 VID 的来源(`userId` 和 `courseName`)。其中,因为 `label` 属性是布尔数值,所以,将 1 替换为 `TRUE`,将 0 替换为 `FALSE`。如下图所示。 + ![action.csv 文件中包含 actionId、userId、courseName、duration、feature0、feature1、feature2、feature3、label 列](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-004.png "带有表头行的 actions.csv 文件") + +2. 删除所有 CSV 文件中的表头行。 diff --git a/nebula-studio/st-ug-toc.md b/nebula-studio/st-ug-toc.md new file mode 100644 index 00000000000..4f75c9d3539 --- /dev/null +++ b/nebula-studio/st-ug-toc.md @@ -0,0 +1,33 @@ +# Nebula Graph Studio 用户手册 + +- 认识 Nebula Graph Studio + - [什么是 Nebula Graph Studio](about-studio/st-ug-what-is-graph-studio.md) + - [名词解释](about-studio/st-ug-terms.md) + - [使用限制](about-studio/st-ug-limitations.md) + - [版本更新](about-studio/st-ug-check-updates.md) + - [常见问题](about-studio/st-ug-faq.md) +- 安装与登录 + - [安装 Studio](install-configure/st-ug-install.md) + - [连接数据库](install-configure/st-ug-connect.md) + - [断开连接](install-configure/st-ug-reset-connection.md) +- 快速开始 + - [规划 Schema](quick-start/st-ug-plan-schema.md) + - [准备 CSV 文件](quick-start/st-ug-prepare-csv.md) + - [创建 Schema](quick-start/st-ug-create-schema.md) + - [导入数据](quick-start/st-ug-import-data.md) + - [查询图数据](quick-start/st-ug-explore.md) +- 操作指南 + - 管理 Schema + - [操作图空间](manage-schema/st-ug-crud-space.md) + - [操作标签](manage-schema/st-ug-crud-tag.md) + - [操作边类型](manage-schema/st-ug-crud-edge-type.md) + - [操作索引](manage-schema/st-ug-crud-index.md) + - 使用图探索[TODO] + - 使用控制台 + - 界面介绍 [TODO] + - [导入图探索](use-console/st-ug-open-in-explorer.md) + - 导出 CSV 文件[TODO] +- 最佳实践 [TODO] +- 故障排查 [TODO] + - 连接问题 + - 错误信息 diff --git a/nebula-studio/use-console/st-ug-open-in-explorer.md b/nebula-studio/use-console/st-ug-open-in-explorer.md new file mode 100644 index 00000000000..decd4526cd7 --- /dev/null +++ b/nebula-studio/use-console/st-ug-open-in-explorer.md @@ -0,0 +1,87 @@ +# 导入图探索 + +您可以在 **控制台** 上使用 nGQL 语句查询得到点或边的信息,再借助 **导入图探索** 功能实现查询结果的可视化。 + +## 支持版本 + +Studio v1.2.1-beta 及以后版本。请更新版本,详细操作参考 [版本更新](../about-studio/st-ug-check-updates.md)。 + +## 前提条件 + +使用导入图探索前,您需要确认以下信息: + +- Studio 已经连接到 Nebula Graph 数据库。详细信息参考 [连接数据库](../install-configure/st-ug-connect.md)。 +- 已经导入数据集。详细操作参考 [导入数据](../quick-start/st-ug-import-data.md)。 + +## 导入边数据 + +按以下步骤将 **控制台** 查询得到的边数据结果导入 **图探索**: + +1. 在工具栏里,点击 **控制台** 页签。 +2. 在 **当前Space** 中选择一个图空间。在本示例中,选择 **mooc_actions**。 +3. 在命令行中,输入查询语句,并点击 ![表示运行的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-008.png "Run 图标") 图标。 + > **说明**:查询结果中必须包括边起点和终点 VID 信息。 + + 查询语句示例如下: + + ```nGQL + nebula> GO FROM 56 OVER action YIELD action._src, action._dst; + ``` + + 查询结果可以看到 `userId` 为 56 的用户参加了哪些课程。如下图所示。 + + ![控制台里查询语句返回的边数据,包括边的起点 VID 和终点 VID](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-040.png "边数据") + +4. 点击 **导入图探索** 按钮。 +5. 在弹出对话框中,配置如下: + a. 点击 **边类型**。 + b. 在 **Edge Type** 字段,填写边类型名称。在本示例中,填写 `action`。 + c. 在 **Src ID** 字段,选择查询结果中代表边起点 VID 的列名。在本示例中,选择 `action._src`。 + d. 在 **Dst ID** 字段,选择查询结果中代表边终点 VID 的列名。在本示例中,选择 `action._dst`。 + e. (可选)如果返回的边数据中有边权重(`rank`)信息,则在 **Rank** 字段,选择代表边权重的列名。如果 **Rank** 字段未设置,默认为 0。 + f. 完成配置后,点击 **导入** 按钮。 + + ![填写边类型名称,选择代表边起点和终点 VID 的列名](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-041.png "配置边类型信息") +6. 在 **图探索** 页面的弹出窗口中,选择数据插入方式: + - **增量插入**:在画图板原来的数据基础上插入新的数据。 + - **清除插入**:清除画图板上原来的数据后,再插入新的数据。 + +数据插入成功后,您可以看到查询得到的边数据的可视化表现。 + +![在图探索中可视化显示边数据查询结果](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-044.png "可视化边数据查询结果") + +## 导入点数据结果 + +按以下步骤将 **控制台** 查询得到的点数据结果导入 **图探索**: + +1. 在工具栏里,点击 **控制台** 页签。 +2. 在 **当前Space** 中选择一个图空间。在本示例中,选择 **mooc_actions**。 +3. 在命令行中,输入查询语句,并点击 ![表示运行的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-008.png "Run 图标") 图标。 + > **说明**:查询结果中必须包括点的 VID 信息。 + + 查询语句示例如下: + + ```nGQL + nebula> FETCH PROP ON * hash("Media History and Theory"); -- 对于本手册中所用数据集,course 类点的 VID 由 courseName 经 Hash() 函数处理得到 + ``` + + 查询得到 `courseId` 为 `8` 的课程信息。如下图所示。 + + ![控制台里查询语句返回的点数据](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-043.png "点数据") + +4. 点击 **导入图探索** 按钮。 +5. 在弹出对话框中,配置如下: + a. 点击 **点**。 + b. 在 **Vertex ID** 字段,选择查询结果中代表点 VID 的列名。在本示例中,选择 `VertexID`。 + c. 完成配置后,点击 **导入** 按钮。 + + ![选择代表点 VID 的列名](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-042.png "配置点信息") +6. 在 **图探索** 上的弹出窗口中选择数据插入方式: + - **增量插入**:在画图板原来的数据基础上插入新的数据。 + - **清除插入**:清除画图板上原来的数据后,再插入新的数据。 + +数据插入成功后,您可以看到查询得到的点数据的可视化表现。 + +## 后续操作 + +数据导入图探索后,您可以对数据进行拓展分析。 diff --git a/nebula-studio/use-console/st-ug-visualize-findpath.md b/nebula-studio/use-console/st-ug-visualize-findpath.md new file mode 100644 index 00000000000..fbeb3405883 --- /dev/null +++ b/nebula-studio/use-console/st-ug-visualize-findpath.md @@ -0,0 +1,48 @@ +# 查看子图 + +在 Studio 里,您可以在 **控制台** 上运行 `FIND SHORTEST | ALL PATH` 语句查询得到指定点之间的所有路径或最短路径,然后再通过 **查看子图** 功能将查询得到的路径导入 **图探索** 进行可视化展示。 + +关于 `FIND SHORTEST | ALL PATH` 语句的详细信息,参考 [nGQL 用户手册](https://docs.nebula-graph.com.cn/manual-CN/2.query-language/4.statement-syntax/4.graph-algorithms/find-path-syntax/ "点击前往 Nebula Graph 网站")。 + +## 支持版本 + +Studio v1.2.1-beta 及以后版本。请更新版本,详细操作参考 [版本更新](../about-studio/st-ug-check-updates.md)。 + +## 前提条件 + +在 **控制台** 上运行 `FIND PATH` 语句并查看子图之前,您需要确认以下信息: + +- Studio 版本为 v1.2.1-beta 及以后版本。 +- Studio 已经连接到 Nebula Graph 数据库。详细信息参考 [连接数据库](../install-configure/st-ug-connect.md)。 +- 已经导入数据集。详细操作参考 [导入数据](../quick-start/st-ug-import-data.md)。 + +## 操作步骤 + +按以下步骤在 **控制台** 运行 `FIND PATH` 语句并将结果导入 **图探索**: + +1. 在工具栏里,点击 **控制台** 页签。 +2. 在 **当前Space** 中选择一个图空间。在本示例中,选择 **mooc_actions**。 +3. 在命令行中,输入 `FIND SHORTEST PATH` 或者 `FIND ALL PATH` 语句,并点击 ![表示运行的图标](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-008.png "Run 图标") 图标。 + + 查询语句示例如下: + + ```nGQL + nebula> FIND ALL PATH FROM 1,2,4,6,42 to hash("History of Ecology"),hash("Neurobiology") OVER action; -- 对于本手册中所用数据集,course 类点的 VID 由 courseName 经 Hash() 函数处理得到 + ``` + + 查询得到如下图所示路径信息。 + + ![结果窗口显示返回的路径信息](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-045.png "返回的路径结果") + +4. 点击 **查看子图** 按钮。 +5. (可选)如果 **图探索** 上画板上已有数据,则选择一种数据插入方式: + - **增量插入**:在画图板原来的数据基础上插入新的数据。 + - **清除插入**:清除画图板上原来的数据后,再插入新的数据。 + +数据插入成功后,您可以看到查询结果的可视化表现。 + +![在画板上显示返回的路径结果](https://docs-cdn.nebula-graph.com.cn/nebula-studio-docs/st-ug-046.png "路径结果的可视化表现") + +## 后续操作 + +数据导入图探索后,您可以对数据进行拓展分析。