TigerGraph图数据库创建一个图Schema
以开发版的TigerGraph图数据库为例。
若没有多图权限的话,若TigerGraph中已经有其他图数据,则会执行Drop ALL命令。以下是在gsql环境下执行。
步:创建Vertex
命令如下:CREATE VERTEX Person(PRIMARY_ID name STRING, name STRING, gender STRING)
CREATE VERTEX关键字用来创建顶点类型,Person是自定义顶点类名,每个顶点必须有一个PRIMARY_ID标识符,可以理解为SQL中的主键约束,标识同类型顶点的不同实例,即每个人都必须有标识符,可为属性中的一个也可单独设置类型,如STRING,后边是自定义属性,创建成功后都可使用ls命令查看:
第二步:创建Edge
创建一条Friendship无向 边,命令:CREATE UNDIRECTED EDGE Friendship(FROM Person, TO Person)
CREATE … EDGE关键字用来创建边,中间加UNDIRECTED表示无向边,加DIRECTED表示有向边,FROM和TO表示边的src和dst。使用ls命令查看:
在创建有向边时要加上“WITH REVERSE_EDGE=”,这样是为了逆向访问。如 a->b 这个有向边,若没有逆向边则只能从a访问到b,而不能从b访问到a,若不需要逆向访问,则可不添加逆向边。
注意:gadmin status –v graph显示的边个数和原始数据的记录数目可能不一致。原因:无向边需要双向访问,存储时其实时两条边,有向边,若有逆向边也是两条边,若没有逆向边则只有一条。
第三步:创建Graph
创建social图,命令:CREATE GRAPH Social (Person, Friendship)
CREATE GRAPH关键字用来创建一个子图,图中包含顶点Person和边Friendship。若图中还需要其他顶点和边,都可加入里面,也可使用CREATE GRAPH Social(*),默认把存在的顶点和边类型都加入进去,创建图时TigerGraph(TG)需要把相关信息推送到GSE、GPE、RESTPP等服务。使用ls命令查看:
至此,在TigerGraph的gsql shell情况下创建一个graph Schema完成。
注意:
创建多图(multigraph)必须是商业版本并且有多图权限。在schema.gsql中加入多个命令
CREATE GRAPH ×××Graph(×××,×××)即可,在子图中需要包含的节点类型和边类型放在括号中。
以下使用TigerGraph的GraphStudio工具创建图模型
GraphStudio的默认TCP/IP端口14240。
注意:
(1)只有超级管理员才能再设计图模型页面中编辑图模型;
(2)若不止一个图,则超级管理员只能编辑图的视觉元素;
(3)不管是gsql shell还是通过GraphStudio创建的图模型,开发版的只能有存在一个图。
添加Vertex
选择左边的“Design Schema”界面,点击左上端的“add vertex type”的“+”按钮。
至此,添加Vertex类成功。
添加Edge类
添加Edge类:添加或编辑Edge时,需要初始点和目标点。点击左上角的“Add edge type”按钮,当“Add edge type”按钮出现灰色状态后,点击初始顶点,然后在该顶点的旁边提示“Select the target vertex to create an edge”,然后点击目标顶点,若当前界面之后一种顶点,则在刚才的初始顶点上点击(只有一种类型的顶点时,初始顶点类型也是目标顶点类型),弹出界面:
创建的Vertex、Edge所组成的Graph:
创建Vertex、Edge和Graph后还需要发布Graph模型。
点击“publish schema”即可,等待几分钟。
至此,创建Vertex、Edge和Graph完成。
相关文章