简体   繁体   English

如何在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");
}

I have created two vertex(person1,person2) and edge(“knows”) between them using JavaAPI. 我使用JavaAPI在它们之间创建了两个顶点(person1,person2)和edge(“知道”)。 After some time, I want to add vertex(person3). 一段时间后,我想添加vertex(person3)。 How can I create edge(“knows”) between person1 and person3 using JavaAPI? 如何使用JavaAPI在person1和person3之间创建edge(“知道”)? Kindly help me to resolve this problem. 请帮助我解决这个问题。

Here is one way using Titan 1.0.0 and Apache TinkerPop 3.0.1 APIs: 这是使用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);

Please refer to the Javadocs for Titan 1.0.0 and Javadocs for TinkerPop 3.0.1 . 请参考Titan 1.0.0的 Javadocs和TinkerPop 3.0.1的Javadocs See also this basic Titan + TinkerPop Java example program for more ideas. 另请参见此基本的Titan + TinkerPop Java示例程序以获取更多想法。

The syntax is different if you are using an older version of Titan, such as 0.5.4, which the code in your question appears to be using. 如果使用的是较旧版本的Titan,例如0.5.4,则语法会有所不同,问题中的代码似乎正在使用该版本。 If you are starting a new project, you should be using 1.0.0. 如果要启动一个新项目,则应使用1.0.0。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM