失效链接处理 |
TigerGraph图数据库应用 PDF 下载
本站整理下载:
提取码:8dj8
相关截图:
主要内容:
TigerGraph使用教程
在服务器中安装开发版的TigerGraph,TigerGraph的用户为tigergraph,其密码:tigergraph。
切换tigergraph:su tigergraph
查看tigergraph所占用的端口:
创建Vertex、Edge和Graph
删除TigerGraph图数据库中的所有内容:DROP ALL;
创建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命令查看:
创建多图
创建多图(multigraph)必须是商业版本并且有多图权限。在schema.gsql中加入多个命令
CREATE GRAPH ×××Graph(×××,×××)即可,在子图中需要包含的节点类型和边类型放在括号中。
加载数据
USE GRAPH Social
BEGIN
CREATE LOADING JOB load_social FOR GRAPH Social {
DEFINE FILENAME file1="/opt/tigergraph/document/examples/gsql_ref/socialNet/Graph/persons";
DEFINE FILENAME file2="/opt/tigergraph/document/examples/gsql_ref/socialNet/Graph/friends";
LOAD file1 TO VERTEX Person VALUES ($0, $0, $1) USING header="false", separator=",";
LOAD file2 TO EDGE Friendship VALUES ($0, $1) USING header="false", separator=",";
}
END
加载命令执行完成后,
USE GRAPH Social表示使用Social这个图,和SQL中使用db类似。BEGIN…END仅仅表示中间的语句一行写不完,只是在gsql shell中使用,如在gsql文件中不需要添加。亦可使用gsql脚本,执行gsql命令:gsql filename.gsql。CREATE LOADING JOB load_social创建一个加载数据的job,里面定义了两个加载文件,在DEFINE FILENAME…表示加载文件的路径,LOAD…TO…语句中使用$0、$1表示第一列、第二列,后面通过USING header=”false”,表示指定原始文件中没有别名,即第一行也是数据,若存在列明head=”true”,则$0也可使用$name表示。注意:PRIMARY_ID字段是需要映射列的,separator指名列的分隔符
其中file1和file2中的数据格式必须与创建Vertex和Edge时的格式一致。
/opt/tigergraph/document/examples/gsql_ref/socialNet/Graph/persons数据如下:
person1,Male
|