我正在添加这样的Verticle:
g.addV("foobar").property("id", 1).property(...etc...
如何使用uuid而不是整数id设置属性?
答案 0 :(得分:1)
“id”可以有多种含义。如果您只是想要使用UUID作为唯一标识符来查找顶点,那么在与所选图形数据库的基础索引功能结合使用时,采用您拥有的方法就可以了。换句话说,只要你有一个“id”索引,你就可以快速找到你的顶点。在这种用法中,“id”实际上只是顶点的一个属性,你可能会发现,对于某些图形数据库,“id”实际上是一个保留的术语,不能用作属性键。最好选择不同的密钥名称。
如果不是使用“id”作为属性键,而是指您希望设置由T.id
引用的实际顶点标识符,如:
g.addV(T.id, uuid)
然后您首先需要使用允许分配标识符的图形数据库实现。 TinkerGraph就是这样一种实现方式。通过这种方式,您可以原生地分配顶点的标识符,而不是允许图形数据库为您创建它。
gremlin> graph = TinkerGraph.open()
==>tinkergraph[vertices:0 edges:0]
gremlin> g = graph.traversal()
==>graphtraversalsource[tinkergraph[vertices:0 edges:0], standard]
gremlin> g.addV(id, UUID.randomUUID())
==>v[c2d673de-2425-4b42-bc1e-68ff20e3b0a8]
gremlin> g.V(UUID.fromString("c2d673de-2425-4b42-bc1e-68ff20e3b0a8"))
==>v[c2d673de-2425-4b42-bc1e-68ff20e3b0a8]