我是Titan / Gremlin / TinkerPop3的新手,正在使用Restful API接口进行实验/实验,以在数据库中创建/修改/删除顶点/边。
我基本上想看看是否有可能使用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
任何帮助都非常感谢。提前致谢。
最佳答案
最初与Gremlin Console进行交互时,您创建了一个内存中的TinkerGraph。您根本没有与Gremlin Server进行交互,因此当您退出控制台时,该图将丢失。
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的图形结构和查询基础结构提供了坚实的基础。