一.Tinkerpop基本概念
Apache TinkerPop是一个由Apache软件基金会维护的独立于具体图数据库厂商的开源图计算框架。TinkerPop框架的核心是Gremlin图遍历语言,也就是如果图数据库支持tinkerpop框架,那么就可以直接使用Gremlin进行查询遍历,从而达到一种语言通吃所有图数据库。
http://tinkerpop.apache.org/docs/current/reference/
二.Tinkerpop版本
目前Tinkerpop3主要由2.x和3.x版本,而且两者区别很大
对于2.x版本:
Tinkerpop提供了一个全栈的图数据库处理框架,具有5个组件:
(1)Blueprints 蓝图,提供了常见复杂数据结构的实现接口,简言之,Blueprints为实现的接口提供了一站式服务,帮助开发人员开发,而不受特定底层数据管理系统的束缚
(2)pip,图数据流框架
(3)Gremlin,Apache ThinkerPop框架下的图遍历语言
(4)Rexster 可以将蓝图做成一个独立的服务器,里边使用蓝图,管道,Gremlin,可以用于查询,排名,得分等,还提供一个restful接口
(5)Sail Ouplementation ,提供将orientdb作为一个RDF的3重存储。
对于3.x版本(https://tinkerpop.apache.org/docs/3.4.8/upgrade/#appendix):
对2.x中所有组件Blueprints, Pipes, Gremlin, Frames, Furnace, 和Rexster进行合并,统称为Gremlin。
Blueprints → Gremlin Structure API
Pipes → GraphTraversal
Frames → Traversal
Furnace → GraphComputer
VertexProgram : Rexster → GremlinServer
三.orientdb对tinkerpop3的支持
进入orientdb的下载页面,会有两个版本的orientdb可以选择,一个是不带gremlin版本的orientdb,一个是带gremlin版本的orientdb(orientdb-tp3-3.0.30.tar.gz),orientdb-tp的安装方式和正常版本是一样的。验证,启动orientdb,在插入一些数据后查询所有顶点g.V()。
如果界面提示:
com.orientechnologies.orient.core.exception.OSecurityException: Language ‘gremlin’ is not allowed to be executed DB name=“xxx”
则修改orientdb-server-config.xml配置文件,添加支持gremlin:
<parameter value="SQL,gremlin" name="allowedLanguages"/>