我按照https://github.com/tinkerpop/frames/wiki/Getting-Started上的示例进行操作,并希望执行以下操作:添加新项目时,例如
marko.addCreatedProject(pr);
例如,我还想在marko和pr之间设置边缘以设置重量。一种方法是获取marko的所有传出顶点并在顶点列表中找到pr。有一个更好的方法吗?当我调用addCreatedProject时,是否可以返回边缘来执行以下操作:
CreatededInfo cr = marko.addCreatedProject(pr);
cr.setWeight(3);
答案 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
。