在旧版本的 Titan DB(0.5.2 版) 中, TitanVertex TitanEdge 实现了 TitanElement 接口(interface),该接口(interface)具有我用来检索元素属性值的 getProperties(String key) 方法。此方法已在新版本的 Titan 中删除(我使用的是 1.0.0 版)。我发现 valueOrNull(PropertyKey key) 不是这种方法,它做同样的事情,但接收 PropertyKey 作为参数,而不是 String 作为键名。

仅使用属性键名称作为 String 对象检索属性值的最佳方法是什么?

或者是否有简单的方法从属性键名称中获取 PropertyKey 对象作为字符串?

最佳答案

Titan 1.0 基于 TinkerPop 3。在 Titan 1.0 中,您会发现之前在 Titan 0.5 中调用的一些方法是在 TinkerPop 接口(interface)中定义的,而不是在 Titan 接口(interface)中。

查看 com.thinkaurelius.titan.core.TitanVertex 的 Javadoc,您可以看到它扩展了 org.apache.tinkerpop.gremlin.structure.Vertex http://thinkaurelius.github.io/titan/javadoc/1.0.0/com/thinkaurelius/titan/core/TitanVertex.html

您可以在 VertexProperty property(String key) http://tinkerpop.incubator.apache.org/javadocs/3.0.1-incubating/full/org/apache/tinkerpop/gremlin/structure/Vertex.html#property-java.lang.String- 上找到 org.apache.tinkerpop.gremlin.structure.Vertex 方法

使用属性键检索顶点上的属性值的最佳方法是这样的:

gremlin> graph = TitanFactory.build().set('storage.backend','inmemory').open()
==>standardtitangraph[inmemory:[127.0.0.1]]
gremlin> g = graph.traversal()
==>graphtraversalsource[standardtitangraph[inmemory:[127.0.0.1]], standard]
gremlin> v = graph.addVertex('name', 'octopus')
==>v[4296]
gremlin> v.values('name')
==>octopus

您可以在 http://tinkerpop.incubator.apache.org/docs/3.0.1-incubating/#vertex-properties 的 TinkerPop3 文档中了解有关顶点属性的更多信息

关于java - 如何在 Titan DB 版本 1.0.0 中获取顶点或边元素的属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33065724/

10-11 22:27