Tinkerpop框架:添加顶点时获取边缘

时间:2015-08-13 15:33:28

标签: orientdb frames edge vertex tinkerpop

我按照https://github.com/tinkerpop/frames/wiki/Getting-Started上的示例进行操作,并希望执行以下操作:添加新项目时,例如

marko.addCreatedProject(pr);
例如,我还想在marko和pr之间设置边缘以设置重量。一种方法是获取marko的所有传出顶点并在顶点列表中找到pr。有一个更好的方法吗?当我调用addCreatedProject时,是否可以返回边缘来执行以下操作:

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

1 个答案:

答案 0 :(得分:1)

您可以尝试在FramedGraph上使用addEdge方法,当您提供两个要关联的顶点时,它会返回Edge。所以更细粒度。

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