【数据库系列】NebulaGraph部署与使用

时间:2024-11-11 07:44:29

????????????欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
img

  • 推荐:kwan 的首页,持续学习,不断总结,共同进步,活到老学到老
  • 导航
    • 檀越剑指大厂系列:全面总结 java 核心技术点,如集合,jvm,并发编程 redis,kafka,Spring,微服务,Netty 等
    • 常用开发工具系列:罗列常用的开发工具,如 IDEA,Mac,Alfred,electerm,Git,typora,apifox 等
    • 数据库系列:详细总结了常用数据库 mysql 技术点,以及工作中遇到的 mysql 问题等
    • 懒人运维系列:总结好用的命令,解放双手不香吗?能用一个命令完成绝不用两个操作
    • 数据结构与算法系列:总结数据结构和算法,不同类型针对性训练,提升编程思维,剑指大厂

非常期待和您一起在这个小小的网络世界里共同探索、学习和成长。???????????? ✨✨ 欢迎订阅本专栏 ✨✨

博客目录

    • 一.基础准备
      • 1.参考文档
      • 2.依赖说明
    • 二.部署 NebulaGraph
      • 1.拉取代码
      • 2.启动容器
    • 三.连接 NebulaGraph
      • 1.查看容器
      • 2.进入容器
      • 3.连接服务端
      • 4.查看集群状态
    • 四.基础 SQL
      • 1.显示 hosts
      • 2.创建 SPACE
      • 3.创建 TAG
      • 4.插入知识图谱元数据
      • 5.退出
    • 五.常见查询
      • 1.显示顶点
      • 2.显示边
      • 3.所有节点的关联关系
      • 4.指定名词的关系查询
      • 5.删除顶点
      • 6.删除 space

一.基础准备

1.参考文档

参考文档

2.依赖说明

使用 Docker Compose 可以基于准备好的配置文件快速部署 NebulaGraph 服务,仅建议在测试 NebulaGraph 功能时使用该方式。

应用程序 推荐版本 官方安装参考
Docker 最新版本 /engine/install/
Docker Compose 最新版本 /compose/install/
Git 最新版本 /download/

在这里插入图片描述

二.部署 NebulaGraph

1.拉取代码

git clone -b release-3.6 /vesoft-inc/

2.启动容器

# 工作目录
cd  /data/nebula-docker-compose/

# 启动
docker-compose up -d

三.连接 NebulaGraph

1.查看容器

docker-compose ps

2.进入容器

docker exec -it nebula-docker-compose-console-1 /bin/sh

3.连接服务端

./usr/local/bin/nebula-console -u root -p nebula --address=graphd --port=9669

默认情况下,身份认证功能是关闭的,只能使用已存在的用户名(默认为root)和任意密码登录。如果想使用身份认证,请参见身份认证

4.查看集群状态

image-20240327180108901

四.基础 SQL

1.显示 hosts

show hosts;

2.创建 SPACE

CREATE SPACE IF NOT EXISTS course(vid_type=FIXED_STRING(256), partition_num=1, replica_factor=1);

3.创建 TAG

USE course;
CREATE TAG IF NOT EXISTS entity(name string);
CREATE EDGE IF NOT EXISTS relationship(relationship string);
CREATE TAG INDEX IF NOT EXISTS entity_index ON entity(name(256));

4.插入知识图谱元数据

insert vertex entity values "鲁迅":("鲁迅");
insert vertex entity values "作家":("作家");
insert edge relationship values "鲁迅"->"作家":("是");

5.退出

# 退出数据库
exit

#退出容器
exit

在这里插入图片描述

五.常见查询

1.显示顶点

# 显示顶点字段
show tags;

# 显示所有实体
match (e) return e;

# 显示名称
match (e) return e.`entity`.`name`;

2.显示边

# 返回会去重

# 显示边字段
show edges;

# 边的解释信息,关系

MATCH ()-[e]->() RETURN e

3.所有节点的关联关系

# 不会去重
MATCH ()-[e:relationship]-() RETURN e
MATCH ()-[e]-() RETURN e

4.指定名词的关系查询

MATCH (p:`entity`)-[e:relationship]->(m:`entity`)\
  WHERE p.`entity`.`name` == '鲁迅'\
RETURN p.`entity`.`name`, , m.`entity`.`name`;

5.删除顶点

DELETE VERTEX "鲁迅";

6.删除 space

# 删除space
DROP SPACE course;

觉得有用的话点个赞 ???????? 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!????????????

????????????如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!???? ???? ????

????????????Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!????????????

img