#查询某个顶点和边的总数目(很有用) selectcount() from Person #查Person顶点的数目
#如果我要查某条边呢?注意不能直接写边的名字,而要指定出入的顶点类型 selectcount() from Person-(likes)->Dog #查likes边的数目 selectcount() from Person-(ANY)->ANY #查Person的所有边数目.(这里它甚至会查不属于自己的边)
最简单的单点查询 (注意primary_id是通指主键, 而不是说字段名)
1 2 3 4 5 6 7 8
#查询某个顶点(很有用) select*from Person where primary_id=="APTX4869" #查Person顶点的主键为xx的元素 select*from Person where age <25 #查Person顶点的主键为xx的元素 select name,sex from Person where name == "whoami" #查Person顶点的名字是whoami的age
#3.创建/修改当前用户下的".vimrc"文件, 添加如下几行. vim ~/.vimrc au BufRead,BufNewFile *.gsql set filetype=gsql au! Syntax gsql source$VIM/syntax/gsql.vim #绝对地址则如:au! Syntax gsql source /usr/share/vim/vim74/syntax/gsql.vim syntax on
USE GRAPH work_graph #注意,sys.data_root是系统特有属性,不可用随便替换名字... SET sys.data_root="./" CREATE LOADING JOB load_data FOR GRAPH work_graph { LOAD "$sys.data_root/small_companies" TO VERTEX company VALUES ($0, $0, $2) USING HEADER="false", SEPARATOR=",", QUOTE="double"; LOAD "$sys.data_root/small_persons" TO VERTEX persons VALUES ($0, $0, $1, $2) WHERE to_int($2) >=0 USING HEADER="false", SEPARATOR=",", QUOTE="double"; # Example of flattening a multi-valued field LOAD "$sys.data_root/small_persons" TO temp_table member_skill_table (memberID, skillID) VALUES ($0, flatten($3, "|", 1)) USING HEADER="false", SEPARATOR=",", QUOTE="double"; LOAD temp_table member_skill_table TO VERTEX skill VALUES ($"skillID", $"skillID");
LOAD "$sys.data_root/small_person_company"doge TO EDGE person_work_company VALUES($0, $1, $2, $3, $4) WHERE to_int($4) >=0 USING HEADER="false", SEPARATOR=",", QUOTE="double"; LOAD "$sys.data_root/small_person_person" TO EDGE person_person VALUES($0, $1, $2) LOAD "$sys.data_root/small_person_person" TO EDGE person_person VALUES($0, $1, $2) WHERE to_int($2) >=0 USING HEADER="false", SEPARATOR=",", QUOTE="double";
#接下来的例子展示了如何去从一个数据源映射多个Schema的边和顶点关系.注意对比 LOAD "$sys.data_root/small_all_to_all" TO EDGE all_to_skill VALUES ($2 company, $3 skill) WHERE $0== "s" AND $1== "c", TO EDGE all_to_skill VALUES ($2 persons, $3 skill) WHERE $0== "s" AND $1== "m", TO EDGE all_to_skill VALUES ($2 skill, $3 skill) WHERE $0== "s" AND $1== "s", TO EDGE all_to_company VALUES ($2 company, $3 company) WHERE $0== "c" AND $1== "c", TO EDGE all_to_company VALUES ($2 persons, $3 company) WHERE $0== "c" AND $1== "m", TO EDGE all_to_company VALUES ($2 skill, $3 company) WHERE $0== "c" AND $1== "s" USING HEADER="false", SEPARATOR=",", QUOTE="double"; } #最后运行 RUN LOADING JOB load_data