tinkerpop的使用(上)
tinkerpop
是主流的图数据引擎,它现在主要由两部分组成,一个是gremlin-console
,还有一个是gremlin-server
。其中gremlin-console
默认使用groovy
语言作为交互工具。
这个系列准备一共做三篇文章进行讲解:
tinkerpop
的安装与使用,以及数据导入。- 使用
jupyter-book
操作图数据库。 - 使用
pycharm
操作图数据库。
本文是第一篇,讲解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()
代表vertexes
,g.E()
代表edges
。这两个概念是图论里面的概念,分别代表graph
的「点」和「边」。图数据库的理论基础就是「图论」,建议大家系统学习。
这篇文章里,我们初步使用了gremlin-server
和gremlin-console
,并准备好了数据。下篇文章讲数据的查询,以及如何在jupyter-notebook
里使用gremlinpython
进行数据的查询和分析。