阿男的小窝

View the Project on GitHub

tinkerpop的使用(中)

这是本系列文章的第二篇,介绍如何使用jupyter-notebook操作图数据库。

上一篇文章里,我们下载并安装了tinkerpopgremlin-servergremlin-console,启动了gremlin-server服务,并且通过gremlin-console连接到了server并导入了样例数据。

接下来就是使用数据,因为gremlin-console默认使用的是groovy语言,可能使用起来对于大多数人不那么方便,所以这篇文章介绍gremlinpython的使用方法。

gremlinpythontinkerpop项目提供的一个基于python的客户端,用于跟服务端进行交互。这样用户就可以使用python语言读取图数据库里的数据,并且进行数据查询了。有了这个组件,我们就可以在jupyter-notebook里面很方便地撰写相关代码。

为了使用gremlinpython,首先是用pip安装这个组件:

$ pip install gremlinpython

安装完成后,启动jupyter:

$ jupyter-notebook

启动完成后,可以试试看导入gremlinpython的相关classes:

from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection
from gremlin_python.structure.graph import Graph

引入相关classes以后,可以连接服务端试试看:

graph = Graph()
g = graph.traversal().withRemote(DriverRemoteConnection('ws://localhost:8182/gremlin', 'g'))

连接完成以后,可以试试读取数据并做一些查询:

hkVertexId = g.V().has('airport', 'code', 'HKG').id().next()
sydneyVertexId = g.V().hasLabel('airport').has('code', 'SYD').id().next()

以上代码的运行结果如下:

可以看到,我们在jupyter-book里面调用了gremlinpython的api,完成了对gremlin-server当中数据的查询。这样的工作流比较直观方便。

上面的notebook,我放在了这里:

有兴趣的小伙伴可以看下。

以上是对gremlinpython的一个简单介绍,更多的使用方法可以查看它的文档:

此外,还可以查看这个项目里面各种jupyter-notebook的例子:

上面这个项目里的例子基于这套电子教程:

可以用来系统学习。

这篇文章介绍了gremlinpythonjupyter-notebook的联合使用,下一篇文章最后介绍下gremlinpythonpycharm当中的使用。