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 中创建唯一索引。
我使用 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 中创建唯一索引。