想获取标签名称,但返回ID,是否需要更改gremlin语句?

时间:2018-07-21 22:26:51

标签: gremlin janusgraph

使用gremlin控制台连接gremlin服务器时

run gremlin> graph=ConfiguredGraphFactory.open('test');
mgmt=graph.openManagement();mgmt.getVertexLabels()

将返回:

==>person
==>animal

但是当使用Java语言中的相同gremlin语句查询顶点标签时 它返回:

{result{object=v[525] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex},
result{object=v[2061] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedVertex}}

我想在Java中获取标签名称,怎么办

1 个答案:

答案 0 :(得分:2)

<?php // Divide by 1000*1000 because given number is epoch with microseconds // but the DateTime expects time in seconds // By dividing we will get 1532131481.886863 // We dont need the microseconds so we cast (int) on it to get 1532131481 $epoch = (int)((1532131481886863 /1000) /1000); $dt = new DateTime("@$epoch"); // convert UNIX timestamp to PHP DateTime echo $dt->format('Y-m-d H:i:s'); 方法返回一个getVertexLabels()对象。该对象实现TinkerPop的VertexLabel接口。当您使用Java执行该代码(大概是通过JanusGraph Server中的远程脚本,即Gremlin Server)执行时,Vertex被强制为VertexLabel-这就是Gremlin Server处理所有DetachedVertex实例的方式。我猜想,如果您想要实际的“标签”,只需发出脚本以获取标签本身即可:

Vertex

这会将顶点标签强制为字符串,然后您将获得所需的内容。