如何在 Titan Graph 数据库中使用 Java API 在新顶点和现有顶点之间创建边

how to create edge between new vertex and existing vertex using Java API in Titan Graph database

{
    Vertex person1 = titanGraph.addVertex(null);
    person1.setProperty("userId", 1);
    person1.setProperty("username", "abc");


    Vertex person2 = titanGraph.addVertex(null);
    person2.setProperty("userId", 2);
    person2.setProperty("username", "bcd");


    Edge knows = titanGraph.addEdge(null, person1, person2, "Knows");
}

我使用 JavaAPI 在它们之间创建了两个顶点 (person1,person2) 和边 (“knows”)。一段时间后,我想添加顶点(person3)。如何使用 JavaAPI 在 person1 和 person3 之间创建边(“知道”)? 请帮我解决这个问题。

这是使用 Titan 1.0.0 和 Apache TinkerPop 3.0.1 API 的一种方法:

 // lookup existing person1 by userId
 GraphTraversalSource g = titanGraph.traversal();
 Vertex person1 = g.V().has("userId", 1).next();

 // create person3
 Vertex person3 = titanGraph.addVertex("Person");
 person3.property("userId", 3);
 person3.property("username", "cde");

 // create edge from person1 to person3
 Edge knows = person1.addEdge("Knows", person3);

更多想法请参考Javadocs for Titan 1.0.0 and Javadocs for TinkerPop 3.0.1. See also this basic Titan + TinkerPop Java example程序。

如果您使用的是旧版本的 Titan,例如 0.5.4,则语法会有所不同,您问题中的代码似乎正在使用它。如果你开始一个新项目,你应该使用 1.0.0.