如何在 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.
{
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.