使用TinkerPop3 Restful接口连接到Titan Graph DB

时间:2016-03-30 00:40:30

标签: titan gremlin tinkerpop tinkerpop3

我是Titan / Gremlin / TinkerPop3的新手,正在玩/尝试Restful API Interface来创建/修改/删除数据库中的顶点/边缘。

我基本上想看看是否可以使用tinkerpop3公开的API进行图形处理。

我使用:

在gremlin服务器中创建了现代图形
gremlin> graph = TinkerFactory.createModern()
gremlin> g = graph.traversal()

我可以通过restful API连接到Titan并执行:

curl "http://localhost:8182?gremlin=100-1"
{"requestId":"c2dfb667-0fbe-4796-9a5b-cc472487a5b0","status":{"message":"","code":200,"attributes":{}},"result":{"data":[99],"meta":{}}}

但以下内容并未返回任何内容:

curl http://localhost:8182 -d '{"gremlin": "g.V()"}'
{"requestId":"8ba30f35-31e7-46ff-b16e-3e01fb9a49bf","status":{"message":"","code":200,"attributes":{}},"result":{"data":[],"meta":{}}}

我的阅读来自:http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#_connecting_via_rest

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:5)

当您最初与Gremlin控制台交互时,您创建了一个内存中的TinkerGraph。您根本没有与Gremlin服务器进行交互,因此当您退出控制台时,该图表已丢失。

Gremlin Server提供的图形在gremlin-server.yaml文件中配置。其配置在TinkerPop documentation中进行了更深入的描述。

如果你从TinkerPop看一下这个example configurationgraph configuration是一个空的TinkerGraph,但还有一个加载modern graph的附加脚本。要使用此配置运行,请在启动服务器时将其作为参数传递:

./bin/gremlin-server.sh ./conf/gremlin-server-rest-modern.yaml

同样的方法也可以和Titan一起使用,但我强烈建议在深入了解Titan之前先学习TinkerPop。 TinkerPop为Titan的图形结构和查询基础架构提供了坚实的基础。