2

我对 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

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

4

1 回答 1

5

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

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

如果您从 TinkerPop看一下这个示例配置,图形配置是针对一个空的 TinkerGraph,但是还有一个额外的脚本可以加载现代图形。要使用此配置运行,请在启动服务器时将其作为参数传递:

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

同样的方法也可以用于 Titan,但我强烈建议先学习 TinkerPop,然后再深入了解 Titan。TinkerPop 为 Titan 的图结构和查询基础设施提供了坚实的基础。

于 2016-03-30T01:34:46.363 回答