gpt4 book ai didi

java - 如何从 Titan 中提供的属性/键获取顶点

转载 作者:行者123 更新时间:2023-11-29 03:04:11 25 4
gpt4 key购买 nike

我正在关注 Titan 文档中的代码 GraphOfTheGodsFactory source code给定一些指定的值/键/属性,我想从图中检索一个顶点。

我搜索了文档(我使用的是 Titan 0.5.2),并尝试使用不同的函数,它们在执行时提供 null。

我尝试过的事情,

    `TitanManagement mgmt = graph.getManagementSystem();
final PropertyKey userid = mgmt.makePropertyKey("userid").dataType(Integer.class).make();
TitanGraphIndex namei = mgmt.buildIndex("userid",Vertex.class).addKey(userid).unique().buildCompositeIndex();
TitanTransaction tx = graph.newTransaction();
Vertex ver1 = tx.addVertexWithLabel("user");
ver1.setProperty("userid", "2");
ver1.setProperty("username", "abc");
Vertex found = graph.getVertex("2");`

发现返回 null。

请帮忙!

最佳答案

你无法通过这种方式找到Vertex:

Vertex found = graph.getVertex("2"); 

该方法按 id 向上查找顶点,但图中没有 id 为“2”的字符串顶点。现在,因为您有 ver1,所以您确实知道该 Vertex 的实际 ID,因此您可以:

Vertex found = graph.getVertex(ver1.getId()); 

通常,您并不总是拥有该标识符,因此您希望通过您的域数据和您创建的索引来查找内容。在这种情况下,您可以:

Vertex found = graph.getVertices("userid","2").next(); 

这将对您的 userid 属性进行索引查找。因为这实际上返回一个 Iterator,所以您必须 next() 关闭结果。显然,在这种情况下,这只会返回一个结果,所以不用担心 Iterator 中的任何其他内容,但您可能应该在某些实际代码中以某种方式考虑到这一点。

关于java - 如何从 Titan 中提供的属性/键获取顶点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33024798/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com