当前位置: 首页 > news >正文

网站建设 商业价值/站长素材官网

网站建设 商业价值,站长素材官网,找公司做网站源代码给客户吗,要怎样创造网站在上一节中,我们介绍了怎么创建一个顶点、边和图,本节我们介绍怎么加载数据和查询数据。进入gsql-shell,执行drop all删除所有东西,也可不删除,只要不重名即可。 在TG安装目录下的 document/examples 目录下提供了一些…

在上一节中,我们介绍了怎么创建一个顶点、边和图,本节我们介绍怎么加载数据和查询数据。进入gsql-shell,执行drop all删除所有东西,也可不删除,只要不重名即可。

在TG安装目录下的 document/examples 目录下提供了一些demo,在 document/examples/gsql_ref/socialNet/Graph 目录下存在一些简单的社交数据,我们会利用这些数据,创建一个简单的社交网络图。

1、数据加载

打开Graph下的persons文件,存在两列数据:姓名和性别。打开friends文件,也是只有两列数据,name和name,即关系双方的名字。我们根据数据来创建顶点、边和图。执行下面语句创建相关的顶点、边和图。

CREATE VERTEX Person(PRIMARY_ID name STRING, name STRING, gender STRING)
CREATE UNDIRECTED EDGE Friendship(FROM Person, TO Person)
CREATE GRAPH SocialNet(Person, Friendship)

执行下面命令创建一个加载job

USE GRAPH SocialNet
BEGIN
CREATE LOADING JOB load_social FOR GRAPH SocialNet {DEFINE FILENAME file1="/home/tigergraph/tigergraph/document/examples/gsql_ref/socialNet/Graph/persons";DEFINE FILENAME file2="/home/tigergraph/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表示使用SocialNet这个图,和SQL中使用某个db类似。BEGIN...END仅仅表示中间的语句一行写不完,只是在gsql shell中使用,如果是gsql文件则不需要添加。不习惯使用shell方式的同学(比如我),可以在linux下建一个gsql脚本,然后在windows下通过FTP打开编辑,保存以后执行gsql命令:gsql filename.gsql也是可以的。紧接着使用 CREATE LOADING JOB 创建一个加载job,里面定义了两个加载文件。在LOAD...TO语句中使用 $0、$1表示第一列、第二列,后面通过USING header="false"指定原始文件中没有列名,即第一行也是数据。如果存在列名 header="true",前面的$0也可以使用 $"name"表示。需要注意的是PRIMARY_ID字段也是需要映射列的。separator指明列分隔符,GSQL可以处理任何单字符分隔符,包括不可见字符,而不仅仅是逗号。在使用不可见字符的时候需要注意格式,比如在Neo4j中支持使用 "\u0003",在TG中使用 "\0003"。

虽然定义完了一个加载job,但是此时数据还没有加载到图中,还需要我们去运行:

RUN LOADING JOB load_social

执行完以后会显示加载结果,包括数据信息和日志信息。

2、查询

数据加载完毕以后,就可以查询了。TG内置了select语句,查询Person信息:
因为TG有严格检查,所以加了limit条件。
执行 select count() from Person 查看Person数量,注意count中不能加 * 。查询结果以json格式返回。
执行 select * from Person where name=="person1" 通过where条件查询,注意where条件是双 =。
执行 select * from Person where primary_id=="person1"  和上一条语句的效果相同。
执行 select count() from Person-(Friendship)->Person 查看边的数量,需要注意的是,我们定义的9条无向边,结果显示18条,因为对于无向边,gsql实际上是创建了两条有向边。

查询边:SELECT * FROM Person-(Friendship)->Person WHERE from_id =="person1"
任意边:SELECT * FROM Person-(ANY)->ANY WHERE from_id =="person1"

内置的select语句虽然使用方便,但是不适合处理逻辑复杂的查询,TG提供了参数化查询 QUERY,可以让用户像写函数一样定义一个查询。

定义一个query,查询某个人的所有相邻顶点,我们也常常称之为一度关系:

BEGIN
CREATE QUERY hello(VERTEX<Person> p) FOR GRAPH SocialNet{Start = {p};Result = SELECT tgt FROM Start:s-(Friendship:e) ->Person:tgt;PRINT Result;
}
END

CREATE QUERY创建查询hello,hello有一个参数VERTEX<Person>,中间通过一个select语句查询p的邻点,不过这里的SELECT语句比内置查询中SELECT强大得多。因为p没有实例化,通过 St = {p} 构造一个包含所指定Person顶点的集合。冒号用来定义别名,用过Neo4j的同学应该很熟悉,不过在Neo4j中,别名在前,label在后。别名不是必须的,比如中间的Friendship我们不关心,就可以不指定别名。

QUERY创建完成以后不能像JOB一样直接运行,需要先安装:

INSTALL QUERY hello

安装需要花一点点时间,因为TG同样需要把它添加到GSQL目录中。
安装完成以后就可以运行了:

RUN QUERY hello("person1")

传入的参数就是一个Person顶点的 PRIMARY_ID,返回结果同样是json。

至此我们体验了在gsql-shell中的数据加载和查询,但是结果都是按照json格式返回的,估计用过Neo4j的同学已经很不耐烦了,因为命令行的返回实在体现不出图数据库的优势,图形化界面才更直观,才是真爱,后面开始介绍TG的Web UI------GraphStudio。

http://www.lbrq.cn/news/830431.html

相关文章:

  • 票务网站建设/福州seo建站
  • 福州市交通建设集团有限公司 网站/百度快照是怎么做上去的
  • 苍南网站设计公司/全网营销思路
  • 安徽省芜湖建设定额网站/企业网络营销方案
  • 福州建设高端网站/徐州seo培训
  • 做网站用什么语言制作最安全/市场监督管理局职责
  • 网站制作价格怎么算/营销软文
  • 网站开发的时间流程/强力搜索引擎
  • 萧山做网站的企业/百度网盘搜索引擎入口
  • 网络服务公司名字/优化搜狗排名
  • 建网站热线电话/搜索引擎优化策略
  • 高端做网站多少钱/网络营销网站推广
  • 网站建设在作用是什么意思/优化推广联盟
  • 怎么推广自己的公司网站/平台优化是什么意思
  • 企业网站建设哪家便宜/抖来查关键词搜索排名
  • 网站设置反爬虫的常用方法有哪些/网店运营培训哪里好
  • 云南集优科技网站/福州百度推广优化排名
  • 制作网站吗/优化系统的软件
  • 微信网站搭建价格/怎么进行网站推广
  • 北京顺义区住房和城乡建设委员会网站/百度怎样发布作品
  • 如何做网站视频模板/东莞网站推广及优化
  • 怎样做网站的测试与维护/信阳seo推广
  • 搭建网站代码/品牌营销理论有哪些
  • 网站开发本科论文/全球十大搜索引擎排名及网址
  • 开锁行业在58做网站有活吗/seosem是什么职位
  • 奥德贵阳网络推广公司/新乡网站优化公司推荐
  • 网站建设狼雨/b2b网站大全
  • 怎么使用模板建设网站/市场营销师报名官网
  • 网站建设资源/seo信息优化
  • 西安政府网站建设公司/谷歌网页版入口
  • 开关电源和线性电源Multisim电路仿真实验汇总——硬件工程师笔记
  • UniApp 优化实践:使用常量统一管理本地存储 Key,提升可维护性
  • 智能体之变:深度解析OpenAI ChatGPT Agent如何重塑人机协作的未来
  • 游戏开发日志
  • 医疗AI与融合数据库的整合:挑战、架构与未来展望(上)
  • 《汇编语言:基于X86处理器》第8章 高级过程(3)