在Titan中创建版本节点

时间:2013-04-21 20:57:45

标签: clojure titan

我是图表数据库和Titan的新手。我正在将Titan嵌入到Clojure应用程序中。当应用程序启动时,它会创建一个BerkeleyDB支持的Titan商店。

我想知道/做三件事:

  1. 这个数据库是新的吗?如果是,请创建版本为0的版本节点。运行迁移过程以将“架构”置于最新版本。
  2. 如果没有,它是否有版本节点?如果没有,请抛出异常。
  3. 如果数据库已预先存在且具有版本节点,请运行迁移过程以使“模式”保持最新。
  4. 我如何在泰坦这样做?这是最好的做法吗?

    编辑:

    好的,经过进一步审核,我认为使用硬编码的顶点最有意义。有一个TitanTransaction.containsVertex(long vertexid)。这种方法有什么缺点吗?我想我不知道如何分配vertexids以及它们的保留范围是什么,所以这闻起来很危险。我是图表DB的新手,但我认为在Neo4j中建议从根节点创建一个参考节点。但Titan不鼓励根节点使用,因为它成为一个超级节点。 IDK ...

1 个答案:

答案 0 :(得分:2)

1-我不知道是否有办法通过Titan查看数据库是否是新的。在启动Titan之前,您可以检查是否存在BerkeleyDB存储的目录。

2 / 3-可能你最好的选择是带有索引属性“version”的硬编码顶点。在开头的“版本”中查找(几乎为空)索引,并根据这些结果建立逻辑。

除此之外,您可能对Titanium [0]感兴趣。我们正准备在接下来的一周内发布一个大的版本,以使其更有用[1]。

[0] http://titanium.clojurewerkz.org/

[1] http://blog.clojurewerkz.org/blog/2013/04/17/whats-going-on-with-titanium/