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

Rah*_*bas 2 gremlin titan tinkerpop tinkerpop3

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

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

我使用以下命令在gremlin服务器中创建了现代图形:

gremlin> graph = TinkerFactory.createModern()
gremlin> g = graph.traversal()
Run Code Online (Sandbox Code Playgroud)

我可以通过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":{}}}
Run Code Online (Sandbox Code Playgroud)

但以下内容不会返回任何内容:

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

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

非常感谢任何帮助.提前致谢.

Jas*_*rad 5

当您最初与Gremlin控制台交互时,您创建了一个内存中的TinkerGraph.您根本没有与Gremlin Server进行交互,所以当您退出控制台时,该图表就丢失了.

Gremlin Server提供的图形在gremlin-server.yaml文件中配置.其配置在TinkerPop文档中有更深入的描述.

如果您从TinkerPop 查看此示例配置,则图形配置适用于空TinkerGraph,但还有一个附加脚本可加载现代图形.要使用此配置运行,请在启动服务器时将其作为参数传递:

./bin/gremlin-server.sh ./conf/gremlin-server-rest-modern.yaml
Run Code Online (Sandbox Code Playgroud)

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