如何使用其 Java 驱动程序从 JanusGraph 获取顶点或边的数据?

How to fetch data of a a vertex or an edge from JanusGraph using its Java driver?

我正在连接到远程 JanusGraph 服务器。连接没有问题但是我看不懂 Java API.

我是 运行 一个 Java Spring HTTP 服务器。在 HTTP 响应方法中,我正在创建一个图形遍历源,如

GraphTraversalSource g = traversal().withRemote("conf/remote-graph.properties");

好像还不错。但是当我想获取有关顶点的数据时,我无法使用以下代码。

g.V(28712).next().keys()

它给出了一个空洞的回应!为什么?

如果我对 gremlin shell 做同样的事情,我就明白了。见下图

如果我在 Java 中执行 g.V(28712).valueMap(true).unfold().toList();,我会看到一些结果。

我只想使用 Java 获取顶点或边的数据。我应该怎么做?

谢谢

默认情况下,当您使用其中一个 Gremlin 客户端连接到 Gremlin 服务器并请求一个顶点时,您得到的是一个参考顶点。参考顶点仅包含 ID 和标签。要获得一些属性,您需要使用 valueMapelementMapproject 等来包含它们。或者,您可以将 Gremlin 服务器配置为 return 所有属性。以这种方式设置默认值以减少发送回客户端的数据量。

请参阅文档了解更多详情。

https://tinkerpop.apache.org/docs/current/reference/#gremlin-applications

https://tinkerpop.apache.org/docs/current/reference/#_properties_of_elements

在该文档中有一个 link 到 post 关于为什么做出决定。为方便起见,我在这里也包括 link。

https://lists.apache.org/thread.html/e959e85d4f8b3d46d281f2742a6e574c7d27c54bfc52f802f7c04af3%40%3Cdev.tinkerpop.apache.org%3E