对于本教程,我们将主要在GSQL shell中以交互模式工作。一些命令将来自Linux shell。创建GSQL图的第一步是定义它的模式。GSQL提供了一组DDL(数据定义语言)命令,类似于SQL DLL命令,用于建模顶点类型、边缘类型和图形。
创建一个顶点类型
使用CREATE VERTEX命令定义一个名为person的顶点类型。这里,PRIMARY_ID是必需的:每个人都必须有一个唯一的标识符。其余部分是描述每个人顶点的可选属性列表,格式为attribute_name data_type, attribute_name data_type,...
Copy CREATE VERTEX person (
PRIMARY_ID name STRING,
name STRING, age INT ,
gender STRING, state STRING
)
我们在所有的大写中显示GSQL关键字以突出显示它们,但是它们是不区分大小写的。
GSQL将确认顶点类型的创建。
Copy 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来指定。这些属性后面是可选的属性列表,就像顶点定义一样。
Copy CREATE UNDIRECTED EDGE friendship ( FROM person, TO person, connect_day DATETIME )
GSQL将确认边类型的创建。
Copy GSQL > CREATE UNDIRECTED EDGE friendship ( FROM person, TO person, connect_day DATETIME )
The edge type friendship is created.
GSQL >
您可以创建任意您需要的边类型。
创建一个图
接下来,使用CREATE GRAPH命令创建一个名为social的图。这里,我们列出了我们想要在这个图中包含的顶点类型和边类型。
Copy CREATE GRAPH social (person, friendship)
GSQL将在几秒钟后确认第一个图的创建,在此期间,它将目录信息推送给所有服务,如GSE、GPE和RESTPP。
Copy 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”命令来查看目录中的内容。
Copy 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