Scala gremlin titan graph DB 中的顶点创建

Vertex creation in Scala gremlin titan graph DB

我使用 Scala 使用 Titan Cassandra 图数据库。 为

创建顶点和边
val conf = new BaseConfiguration ()
conf.setProperty("storage.backend", inmemory)
TitanFactory.open (conf)

val graph = TitanFactory.open (conf)
val v0 = graph + "test1"
val V1 = graph + "test2"
v1 ---("test", a→ 20, b → 30) --> v2

它正在创建具有这些属性的 2 个顶点和 1 个边。 我的问题是,

下次我执行它时,它会用它的边创建另外 2 个顶点。我不需要创建任何标签与 vextex 相同的顶点。

或者有什么方法可以用 ID 创建顶点,比如 v(test1) 而不是随机序列

谢谢

通常您会希望创建自己的唯一 属性 作为 ID。从 gremlin-scala 看来有两种方法可以做到这一点:

val vertex = graph + ("A Vertex", ID → "1")

val vertex = graph + "A Vertex"
vertex.setProperty(ID, "1")

这样以后可以通过下面的遍历找到这个顶点:

graph.traversal().V().has("ID", "1").next()

旁注: 由于您使用 Titan,您很可能想告诉 titan 这个 属性 应该被索引并且它应该是唯一的。 This 页面向您展示了如何在 Titan 中创建唯一索引。