写点什么

2.6 从控制台加载航线图文件

  • 2022 年 5 月 31 日
  • 本文字数:1760 字

    阅读完需:约 6 分钟

2.6 从控制台加载航线图文件

您可以把下面的这些命令放到一个文件中,然后通过 load 来加载,您也可以逐行的手动输入它们到控制台上,并运行它们。这些命令是用于把航线图文件加载到小精灵控制台的。这些命令里包括了配置控制台环境的,创建廷克图的,和加载 graphml 文件的。一些额外的控制台的特性也启动了。

有一个名为 load-air-routes-graph.groovy 的文件,它里边包含了下边的命令,您可以在样例文件夹中找到它。https://github.com/krlawrence/graph/tree/master/sample-data

这些命令创建了一张内存里的廷克图,在图中顶点、边和顶点属性的 ID 的值的类型都是 Long 型的。在 TinkerPop3 中引入了“遍历”这一概念,并把它做为加载图的一部分,同时我们也会设置一个称为 g 的“图遍历源对象”,在后边查询的时候,我们会引用到空上对象。最大的迭代选项用于告知控制台输出从一个查询返回的结果的最大的行数。如果不设置,默认的最大行数是 100.

您可以通过 max-iteration 来设置控制台可以输出的行数。

如果您使用的是其它的图环境,并且该环境支持导入 GraphML 格式的文件,您也可以使用下面的指令来导入航线图文件。一旦这些设置生效,下面的这些查询仍然是可以工作的,或者只需要细微的修改就可正常工作。

以上所示内容中,设定 ID 管理是非常重要的,如果您使用的是廷克图 TinkerGraph 不做这样的设置,那么值就是字符串类型的而不是数字 3. 

如果您下载了 groovy 文件,控制台启动并运行后,您就可以通过如下的命令来加载文件了。每次重启控制台,您只需要重新加载您的配置文件,这样做可以节省您的一些时间,环境就会设置好,图也会加载好,您就可以直接开始编写查询语句了。


作为最佳实践,您应当使用 GraphML 文件所有位置的全路径,这样可以确保文件被找到并读取。

您启动并运行了控制台,且加载了文件,您就可以把本书中出现的查询语句粘贴到控制台,然后看它们运行了。

如果航线图已经加载,您就可以输入下面的命令,并看到控制台返回的图的相关信息了。如果使用的是廷克图,您就可以看到有用的信息,它告知您图中有多少个顶点和多少条边。要说明的是,不同的图数据库平台,您看到的提示信息会有差异,消息中的内容并不是您追踪图中有顶点数的边数的方式。稍后我们会一起学习一些统计顶点数和边数的其它的方式。

在使用廷克图时,您会看到类似这样的返回消息。 


2.7 关闭控制台的一些输出内容


有时,特别是把一个结果赋值给一个变量时,您并不想看到小精灵处理它的步骤,控制台显示了太多您并不想看的信息。有一个简单的方法可以阻止这些内容,办法就是在您的查询语句的末尾加上;[]



2.8 数据库索引和数据库模式简介


一些图数据平台的实现对于使用索引有严格的要求。这就意味着您在图上工作之前必须要建立数据库模式和数据库索引,您只能在有索引的图上通过属性开始您的遍历访问和查询。情况是这样的,大至说来,这些部分超出了本书的范围,需要说明的是:本书中的一些查询在别的图数据库系统上是不工作的,这些图数据库系统要求所有的查询都基于索引。如果图中的一些项目(item)没有在后台建立索引的话,这样的图存储倾向于禁止全图搜索。举一个例子,顶点或者边的标签(label)通常是不建索引的,但是有时,它们是标识或者指明查询开始的重要的重要的项目(item)。本书中大部分的例子在基本的廷克图上都是可以正常工作的,不会涉及到数据库索引这一主题,数据库索引的内容从本书第六章超越控制台和廷克图中才会涉及到。尽管如此,廷克图其实是有索引能力的,在廷克图索引介绍一节中,我们会研究索引的。在第六章中,笔者将开始引入其它的技术,如杰森图,笔者会把索引做为课程的内容进行深入的研究。您应当常常阅读您所使用的图数据平台的用户手册,从而决定您是否需要为您的图建立模式和索引。笔者将会在下一节介绍廷克图。 在第六章之前,笔者不会涉及创建强制的数据库模式。在使用廷克图时,不需要提前定义数据库模式。每个属性的类型是在创建的时候决定的。这是一个非常舒适的特性,它可以让我们快速的上手,快速的做一些实验。

在生产系统中,特别是一个大型的图,创建和管理索引通常由另外的软件组件来完成,例如使用阿帕奇 Solr 或者 Elasticsearch 。

通常说来,任一图数据库,无论是可选的,还是必需的,使用索引都被认为是一个最佳的实践。就像笔者提到的,即便是廷克图,它也提供了创建索引的方式,这些索引是您所期待的索引。

发布于: 刚刚阅读数: 6
用户头像

还未添加个人签名 2020.08.12 加入

还未添加个人简介

评论

发布
暂无评论
2.6 从控制台加载航线图文件_图数据库_Geek_古藤模根_InfoQ写作社区