我是图形数据库和 Titan 的新手。我将 Titan 嵌入到 Clojure 应用程序中。当应用程序启动时,它会创建一个 BerkeleyDB 支持的 Titan 存储。
我想知道/做三件事:
- 这个数据库是新的吗?如果是这样,请创建版本为 0 的版本节点。运行迁移过程以将“模式”带到最新版本。
- 如果没有,它是否有版本节点?如果不是,则抛出异常。
- 如果数据库预先存在并且具有版本节点,则运行迁移过程以使“模式”保持最新。
我如何在泰坦中做到这一点?对此有最佳做法吗?
编辑:
好的,经过进一步审查,我认为使用硬编码的顶点 ID 是最有意义的。有一个 TitanTransaction.containsVertex(long vertexid)。这种方法有什么缺点吗?我想我不知道顶点是如何分配的以及它们的保留范围是什么,所以这闻起来很危险。我是图形数据库的新手,但我认为在 Neo4j 中建议从根节点创建参考节点。但是 Titan 不鼓励使用根节点,因为它会成为超级节点。身份证...