我是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
非常感谢任何帮助。提前谢谢。
答案 0 :(得分:5)
当您最初与Gremlin控制台交互时,您创建了一个内存中的TinkerGraph。您根本没有与Gremlin服务器进行交互,因此当您退出控制台时,该图表已丢失。
Gremlin Server提供的图形在gremlin-server.yaml
文件中配置。其配置在TinkerPop documentation中进行了更深入的描述。
如果你从TinkerPop看一下这个example configuration,graph configuration是一个空的TinkerGraph,但还有一个加载modern graph的附加脚本。要使用此配置运行,请在启动服务器时将其作为参数传递:
./bin/gremlin-server.sh ./conf/gremlin-server-rest-modern.yaml
同样的方法也可以和Titan一起使用,但我强烈建议在深入了解Titan之前先学习TinkerPop。 TinkerPop为Titan的图形结构和查询基础架构提供了坚实的基础。