2.5TinkerPop3 升级指南
在网上有大数的例子是采用了 TinkerPop2 的方式工作的。 在 TinkerPop2 到 TinkerPop3 版本中发生了很多的变化。如是您是是早期的使用者,从 TinkerPop2 的环境升级到了 TinkerPop3,您可能会在本节中发出很多实用的技巧和提示。就如下面的解释一样,使用 Suger 插件,您会发现这个升级的过程会很容易,但是还是强烈的建议您学习 TinkerPop3 的完整的语法,并尽快的习惯于采用新的语法。 采用完整的语法来编写您的查询,这样您的查询更容易移植到其它支持 TinkerPop 的图数据系统上。
TinkPop3 需要 Java8v45 及以上版本的 Java 环境。笔者做过测试,如下采用此版本以下的早期版本,它将无法工作。
2.5.1 创建廷克图
在 TinkerPop 2 或者 3 版本上创建廷克图的方式如下所示:
2.5.2 加载 graphML 文件
如果您以前使用过 TinkerPop2,那么您会发现在 TinkerPop3 中加载图的方式变化了。
从 TinkerPop 2 到 3 ,小精灵查询语言本身也发生了很多的变化。本书的其余部分只会出现 TinkerPop3 的例子。
2.5.3 TinkerPop.sugar 插件简介
小精灵控制台有一系列插件形式的模块,它们可以独立的启用或者禁用。这取决于您的使用场景,您可以根据场景来管理您的插件。
Tiner Pop2 默认支持很多语法糖,如在控制台中允许输入缩略形式的查询语句。在 TinkerPop3 中这些功能不再是缺省的默认的,它们被移入到插件中。您如果要继续使用缩略形式(在 TinkerPop2 中它们是默认启用的),您需要启用插件。
您可以在控制台中通过如下命令启用 Sugar 插件。
控制台会记录各次重启间会记录哪些插件已经启用了。
在本次修订本书时,笔者尽可以的把呈现的各个例子中对于依赖 sugar 插件的内容移除了。这样即使没有 sugar 插件,本书中的各个例子也可以方便的迁移到其它支持 TinkerPop3 的图数据库平台。一少部分例子可能在 TinkerPop3.2 之前的版本上没办法运行,因为 TinkerPop 是一个不断发展的项目,有新特性有规律的不断的引入。
sugar 插件允许一些查询以缩略的、马虎的形式表达,常常省略了 values()或者省略了(),例如:
从 TinkerPop2 升级上来的朋友们会发现 sugar 插件帮助您已有的查询快速的迁移过来,但是还是推荐您熟悉普通书写非而非缩略写法的查询,这样您写的查询就可以在支持 TinkerPop3 的图存储中高效的运行。Tinker Pop3 引入了新的特性,如果使用 sugar 插件,采用缩略格式书写的查询的性能会比普通书写的查询的性能要差一次。
在本书的早期一些版本中,有大量的例子都采用了缩略写法(即 sugar 的格式)。在当前的版本中,笔者尽可能的移除了这样的例子。可能还有一小部分遗漏的。笔者将不断的检查,修正任何遗漏的例子,从而保证它们采用普通书写的形式而不是缩略形式。如果您发现了漏网之鱼,恳请您告知笔者。
评论