这看起来是可能的,但需要一些工作。Vertex
和Edge Ids
inTinkerGraph
是使用IDManagers
which is done here确定的。
您可以看到这是通过配置值决定的,该值最终使用反射来构造IDManager
.
因此,您必须执行以下操作:
IDManager
通过实现您可以使用默认管理器作为指导的接口来创建您自己的。例如:
public enum DefaultIdManager implements IdManager {
...
ANY {
@Override
public Long getNextId(final TinkerGraph graph) {
return unique random number
}
}
...
}
然后,您必须使用指定的新管理器创建配置,并使用该管理器创建 tinkergraph:
BaseConfiguration config = new BaseConfiguration();
config.addProperty(TinkerGraph.GREMLIN_TINKERGRAPH_EDGE_ID_MANAGER, "your.package.structure.YourIdManager.ANY");
TinkerGraph.open(config);
我很想知道是否有更简单的方法,但我认为这会奏效。
边注:
检查您的生产图形数据库是否提供内存层可能更容易。我知道一些图形数据库会这样做并且使用它而不是TinkerGraph
可能会更好。TinkerGraph
我相信真的只是为了电镀。