定义一个Schema

对于本教程,我们将主要在GSQL shell中以交互模式工作。一些命令将来自Linux shell。创建GSQL图的第一步是定义它的模式。GSQL提供了一组DDL(数据定义语言)命令,类似于SQL DLL命令,用于建模顶点类型、边缘类型和图形。

创建一个顶点类型

使用CREATE VERTEX命令定义一个名为person的顶点类型。这里,PRIMARY_ID是必需的:每个人都必须有一个唯一的标识符。其余部分是描述每个人顶点的可选属性列表,格式为attribute_name data_type, attribute_name data_type,...

GSQL command
CREATE VERTEX person (
PRIMARY_ID name STRING, 
name STRING, age INT, 
gender STRING, state STRING
)

我们在所有的大写中显示GSQL关键字以突出显示它们,但是它们是不区分大小写的。

GSQL将确认顶点类型的创建。

GSQL shell
GSQL > CREATE VERTEX person (PRIMARY_ID name STRING, name STRING, age INT, gender STRING, state STRING)
The vertex type person is created.
GSQL >

您可以创建任意多的顶点类型。

创建一个边类型

接下来,使用CREATE…EDGE命令创建一个名为friendship的EDGE类型。无定向的关键字表示这条边是双向边,这意味着信息可以从两个顶点开始流。如果您希望有一个单向连接,其中信息只从顶点流动,那么使用有向关键字代替无向关键字。这里,FROM和TO被要求指定边缘类型连接的两个顶点类型。一个单独的边通过给出它的源(从)顶点和目标(到)顶点的primary_id来指定。这些属性后面是可选的属性列表,就像顶点定义一样。

GSQL shell
CREATE UNDIRECTED EDGE friendship (FROM person, TO person, connect_day DATETIME)

GSQL将确认边类型的创建。

GSQL shell
GSQL > CREATE UNDIRECTED EDGE friendship (FROM person, TO person, connect_day DATETIME)
The edge type friendship is created.
GSQL >

您可以创建任意您需要的边类型。

创建一个图

接下来,使用CREATE GRAPH命令创建一个名为social的图。这里,我们列出了我们想要在这个图中包含的顶点类型和边类型。

GSQL command
CREATE GRAPH social (person, friendship)

GSQL将在几秒钟后确认第一个图的创建,在此期间,它将目录信息推送给所有服务,如GSE、GPE和RESTPP。

GSQL shell
GSQL > CREATE GRAPH social (person, friendship)
 
Restarting gse gpe restpp ...
 
Finish restarting services in 16.554 seconds!
The graph social is created.

至此,我们创建了一个person顶点类型、一个friendship边类型和一个包含它们的社交图。现在您已经构建了您的第一个图模式!让我们通过在GSQL shell中输入“ls”命令来查看目录中的内容。

GSQL shell
GSQL > ls
---- Global vertices, edges, and all graphs
Vertex Types:
 - VERTEX person(PRIMARY_ID name STRING, name STRING, age INT, gender STRING, state STRING) WITH STATS="OUTDEGREE_BY_EDGETYPE"
Edge Types:
 - UNDIRECTED EDGE friendship(FROM person, TO person, connect_day DATETIME)
 
Graphs:
 - Graph social(person:v, friendship:e)
Jobs:
 
 
Json API version: v2

Last updated