2

我使用 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 个顶点。我不需要创建任何顶点,其标签与顶点相同。

或者有没有办法用 ID 创建顶点,像这样 v(test1) 而不是随机序列

谢谢

4

1 回答 1

2

通常,您会希望创建自己的独特属性作为 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 该属性应该被索引并且它应该是唯一的。本页向您展示如何在 Titan 中创建唯一索引。

于 2016-09-28T09:24:02.800 回答