这个问题看起来像是 -如何使用 Tinkerpop Frames 查找特定类的顶点(今天也被问到)的副本。
据我了解,Tinkerpop Frame 框架充当顶点周围的包装类。顶点实际上并未存储为接口类。因此,我们需要一种方法来将顶点识别为特定的type
.
我的解决方案是在我的 Frame 类中添加@TypeField
和@TypeValue
注释。然后我使用这些值来查询我的FramedGraph
.
这些注释的文档可以在这里找到:https ://github.com/tinkerpop/frames/wiki/Typed-Graph
示例代码
@TypeField("type")
@TypeValue("person")
interface Person extends VertexFrame { /* ... */ }
然后通过像这样FramedGraphFactory
添加来定义。TypedGraphModuleBuilder
static final FramedGraphFactory FACTORY = new FramedGraphFactory(
new TypedGraphModuleBuilder()
.withClass(Person.class)
//add any more classes that use the above annotations.
.build()
);
然后检索类型的顶点Person
Iterable<Person> people = framedGraph.getVertices('type', 'person', Person.class);
我不确定这是最有效/最简洁的解决方案(我想看看@stephen mallette 的建议)。它目前不可用,但能够执行以下操作是合乎逻辑的:
// framedGraph.getVertices(Person.class)