想获取标签名称但 return id,是否需要更改 gremlin 语句?
Wanna get label name but return id,if need change gremlin sentence?
使用 gremlin 控制台连接 gremlin 服务器时
run gremlin> graph=ConfiguredGraphFactory.open('test');
mgmt=graph.openManagement();mgmt.getVertexLabels()
将return:
==>person
==>animal
但是在java语言中使用相同的gremlin语句查询顶点标签时
它 return:
{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中的标签名称,怎么办
getVertexLabels()
方法 returns 一个 VertexLabel
对象。该对象实现了 TinkerPop 的 Vertex
接口。当您在 Java 中执行该代码时(大概是通过 JanusGraph 服务器中的远程脚本 - 即 Gremlin 服务器), VertexLabel
被强制转换为 DetachedVertex
- 这就是 Gremlin 服务器对待所有 Vertex
实例。我想如果你想要实际的 "label" 你只需发出你的脚本来获取标签本身:
mgmt.getVertexLabels().collect{it.name()}
这会将顶点标签强制转换为字符串,然后你就会得到你想要的。
使用 gremlin 控制台连接 gremlin 服务器时
run gremlin> graph=ConfiguredGraphFactory.open('test');
mgmt=graph.openManagement();mgmt.getVertexLabels()
将return:
==>person
==>animal
但是在java语言中使用相同的gremlin语句查询顶点标签时 它 return:
{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中的标签名称,怎么办
getVertexLabels()
方法 returns 一个 VertexLabel
对象。该对象实现了 TinkerPop 的 Vertex
接口。当您在 Java 中执行该代码时(大概是通过 JanusGraph 服务器中的远程脚本 - 即 Gremlin 服务器), VertexLabel
被强制转换为 DetachedVertex
- 这就是 Gremlin 服务器对待所有 Vertex
实例。我想如果你想要实际的 "label" 你只需发出你的脚本来获取标签本身:
mgmt.getVertexLabels().collect{it.name()}
这会将顶点标签强制转换为字符串,然后你就会得到你想要的。