1. 创建图空间
CREATE SPACE test(vid_type=int64);
# 注意, 必须指定 vid_type , 否则创建不成功(3.0版本)
#还有两个参数, 默认 partition_num=100, replica_factor =1
# partition_num 数据分片数量。默认值为 100。建议为硬盘数量的 5 倍 ,比如, 我们有 3个storage 服务, 建议就是15个。
# replica_factor 每个分片的副本数量, 默认是一个,建议生产环境使用3, 测试环境使用1.
详细介绍
查询指定的图空间的配置
DESCRIBE SPACE test;
# 查看所有的图空间
SHOW SPACES;
# 删除图空间
DROP SPACE spacename;
2.标签
相同属性的点分为一组, 该组就是一个标签。
标签可以有多个属性。
创建 标签
CREATE TAG player(name string, age int)
# 查看
SHOW TAGS;
# 查看详情
DESCRIBE TAG player;
# 注意 标签一旦创建就不能修改。 只能删除新建
# 删除标签
DROP TAG player;
3.边类型
多个具有相同属性类型的边划为一组, 该组就是一个边类型。
# 创建边类型
CREATE EDGE follow(degree int);
# 查看
SHOW EDGE;
# 详情
DESCRIBE EDGE follow;
# 删除
DROP EDGE follow;
4.点-插入点
首先需要有标签,TAG
# 100 表示的是点的VID, 唯一的, 而且需要手动写入, 不会自增或者自动生成。
INSERT VERTEX player(name,age) VALUES 100:("test", 1);
# 插入多个点
INSERT VERTEX player(name, age) VALUES 101("A",2),102:("B", 3);
# 一个点也可以有多个标签,比如小华 既是 篮球队队员,也是一个学生,他就有两种标签,首先作为篮球队队员, 他可能有的标签数据是 球队位置, 球队名称等, 作为一个学生,他的标签属性可能就是 班级,年级等信息。
# 如何插入多个标签到一个点。 前面多个标签用逗号分开,后面values 按照顺序写入就好。
INSERT VERTEX test1(name), test2(age) VALUES 99("name", 19);
# 查看点属性
# FETCH PROP ON tagName vid;
FETCH PROP ON palyer 100;
# 删除 点
DELETE VERTEX vid;
5. 插入边
边是两个点之前的连线, 单方向的。
# 100 是起点, 101 是终点, -> 表和方向 , : 后面括号里面是 边类型的属性值。
INSERT EDGE follow(degree) VALUES 100 -> 101:(95) ;
# 插入多条表
INSERT EDGE follow(degree) VALUES 100 -> 102:(99) , 102 -> 101:(11);
# 查看边属性。
FETCH PROP ON follow 100 -> 101;
# 删除边
DELETE EDGE follow 100 -> 101;
唯一确定一条边是通过 起点终点和rank 决定的。 上面的命令没有涉及到rank ,采用的是默认的rank 也就是0 。如果要在两个点之间 插入多条同一类型的边, 那么就需要rank 值。
比如上面的, 100 -> 101
# 这个 @ 后面的1 就是rank 的值。
INSERT EDGE follow(degree) VALUES 100 -> 101@1:(12);
6. 查询数据
# 查找某个点 有指向边(从该点指向其他的点)的 其他点的vid GO FROM vid OVER edge_type;
#比如上面提到100 通过follow (边类型)指向了 101 和102
GO FROM 100 OVER follow ;
# 查出来的结果就是 101. 102
# 如果只想要返回101 ,那么可以进行调点设定
# WHERE $$.tag.pro condition . 这里的 $$ 指的是 结果 点。
GO FROM 100 OVER follow WHERE $$.player.age > 30.
#也可以对返回的点的属性进行重命名展示。 YIELD 表示进行别名
GO FROM 100 OVER follow WHERE $$.player.age > 30 YIELD $$.player.name AS testName , $$.player.age AS Age;