Java Tinkerpop3自定义边缘id生成器
我使用Java Tinkerpop3自定义边缘id生成器,java,tinkerpop3,tinkergraph,Java,Tinkerpop3,Tinkergraph,我使用TinkerGraph进行Java中的集成测试(扩展单元测试)。在此实现中,边ID作为整数序列生成。我想改变这一点,以便将它们生成为随机UUID。这样做的原因是为了使测试设置更接近生产图数据库。我可以在Tinkerpop3中执行此操作吗?如果可以,如何执行 我发现在Tinkerpop/blueprints()中存在一个IdGraph.IdFactory,它似乎可以提供我所需要的。但是据我所知,Tinkerpop3不提供此功能。这看起来是可能的,但需要一些工作顶点和边ID 您可以看到,这是通
TinkerGraph
进行Java中的集成测试(扩展单元测试)。在此实现中,边ID
作为整数序列生成。我想改变这一点,以便将它们生成为随机UUID。这样做的原因是为了使测试设置更接近生产图数据库。我可以在Tinkerpop3
中执行此操作吗?如果可以,如何执行
我发现在Tinkerpop/blueprints()中存在一个
IdGraph.IdFactory
,它似乎可以提供我所需要的。但是据我所知,Tinkerpop3不提供此功能。这看起来是可能的,但需要一些工作<使用IDManagers
确定TinkerGraph
中的code>顶点和边ID
您可以看到,这是通过一个配置值决定的,该配置值最终使用反射来构造IDManager
因此,您必须执行以下操作:
IDManager
,您可以使用作为指导原则。例如:
public enum DefaultIdManager implements IdManager {
...
ANY {
@Override
public Long getNextId(final TinkerGraph graph) {
return unique random number
}
}
...
}
BaseConfiguration config = new BaseConfiguration();
config.addProperty(TinkerGraph.GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER, "your.package.structure.YourIdManager.ANY");
TinkerGraph.open(config);
TinkerGraph
可能会更好<代码>TinkerGraph真的只适合在周围电镀