阿男的小窝

View the Project on GitHub

tinkerpop的使用(上)

tinkerpop是主流的图数据引擎,它现在主要由两部分组成,一个是gremlin-console,还有一个是gremlin-server。其中gremlin-console默认使用groovy语言作为交互工具。

这个系列准备一共做三篇文章进行讲解:

本文是第一篇,讲解tinkerpop的安装与使用,以及数据导入。

首先是下载Gremlin Console和Gremlin Server,下载地址在这里:

下载完两个压缩包以后解压:

这样两个组件就都准备好了。接下来是启动gremlin-server

此时我们可以调用gremlin-console对服务端进行连接。首先是启动gremlin-console

如上图所示,我们进入了gremlin-console的终端,此时可以使用命令连接服务端:

gremlin> :remote connect tinkerpop.server conf/remote.yaml
==>Configured localhost/127.0.0.1:8182

可以看到此时已经连接到gremlin-server了。此时我们可以往服务端导入一些数据。

可以考虑使用这套数据:

把这个项目clone到本地:

$ git clone https://github.com/AndrewChau/learn-gremlin-jupyter-notebook.git

然后看一下项目的data目录:

可以看到里面有不少样例数据。我们可以在gremlin-console里导入其中一个数据文件试试看:

gremlin> :> graph.io(graphml()).readGraph('/Users/weli/works/krlawrence-graph/sample-data/air-routes-latest.graphml')

上面的命令在gremlin-console里将数据导入了。可以在终端里查看一下导入的数据量:

gremlin> :> g.V().count()
==>3666

可以看到导入了air-routes-latest.graphml里面的3666个「vertex」数据。其中g.V()代表vertexesg.E()代表edges。这两个概念是图论里面的概念,分别代表graph的「点」和「边」。图数据库的理论基础就是「图论」,建议大家系统学习。

这篇文章里,我们初步使用了gremlin-servergremlin-console,并准备好了数据。下篇文章讲数据的查询,以及如何在jupyter-notebook里使用gremlinpython进行数据的查询和分析。