在 Titan 1.0.0 中设置顶点 ID

Setting vertex ID in Titan 1.0.0

我的应用目前使用 Titan 0.5.4 作为其图形数据库并执行以下操作 -

解析给定的原始数据,然后创建包含解析数据的顶点,并使用输入数据字段的组合创建唯一标识符。 稍后,在查询图形时,它会重新创建相同的唯一标识符以检查数据是否已经存在(并获取数据)。

我目前正在迁移到 Titan 1.0.0, 而且我找不到像以前一样设置顶点 ID 的方法。

如何在 Titan 1.0.0 上设置顶点 ID?

一种可能的解决方法是创建索引 属性(所谓的 id2),但对我来说这似乎是多余的。

谢谢

很抱歉,您无法在 Titan 中设置顶点 ID,因为它是在构建时生成的。 This and this 本质上是问同样的问题。

在 Titan 的情况下,我相信 id 指的是磁盘上的实际位置)。如所述 here:

The (64 bit) vertex id (which Titan uniquely assigns to every vertex) is the key which points to the row containing the vertex’s adjacency list

titan 事务似乎仍然允许您在创建顶点时提供一个 id。 请注意,这可能是一个错误,可能会在下一个版本中删除。 https://github.com/thinkaurelius/titan/blob/titan10/titan-core/src/main/java/com/thinkaurelius/titan/core/TitanTransaction.java

我认为解决这个问题的合理方法是在每个顶点上添加一个 属性 键和复合索引,并将其用于您的查询。

为什么不创建一个可以索引以提供相同功能的 属性?