使用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中获取标签名称,怎么办
答案 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
这会将顶点标签强制为字符串,然后您将获得所需的内容。