2015-08-13 50 views
0

时,我也跟着上https://github.com/tinkerpop/frames/wiki/Getting-Started的例子,希望做到以下几点获取边缘:当添加一个新的项目,例如TinkerPop有关框架:在添加顶点

marko.addCreatedProject(pr); 

我也想马尔科之间的边缘和例如,设置重量。一种方法是获取marko的所有传出顶点并在顶点列表中找到pr。有一个更好的方法吗?是否有可能返回边缘,当我打电话addCreatedProject,要做到以下几点:

CreatededInfo cr = marko.addCreatedProject(pr); 
cr.setWeight(3); 

回答

1

你可以尝试使用上FramedGraph的addEdge方法,当你提供两个顶点涉及返回边缘。所以更细一点。

E.g.

com.tinkerpop.frames.FramedGraphFactory.FramedTransactionalGraph graph = ... 
Vertex user1 = graph.addVertex(null); 
Vertex project1 = graph.addVertex(null); 
Edge newEdge = graph.addEdge(null, user1, project1, "CREATED"); 
// ... do something with newEdge 

的TinkerPop有关FramedGraph接口addVertex和addEdge也有重载的方法,这样就可以提供您诬陷类的类型,有一个框架的顶点或边返回它可以是方便。

E.g.

Vertex user1 = graph.addVertex(null, Person.class); 
Vertex project1 = graph.addVertex(null, Project.class); 
Edge newEdge = graph.addEdge(null, user1, project1, "CREATED",Direction.OUT, MyEdge.class); 

当然也可以graph.frame(newEdge, MyEdge.class)后的事实也是如此,如果你只有一个com.tinkerpop.blueprints.Edge和。

Here is the Javadoc for FramedGraph