到目前为止,我从Dijkstra的算法中获得了所有路径,如下所示:
for(Node node_a: GlobalGraphOperations.at(graphDB).getAllNodes()){
for(Node node_b: GlobalGraphOperations.at(graphDB).getAllNodes()){
if(node_a.getId() != node_b.getId()){
Iterator<WeightedPath> paths = dijkstra.findAllPaths(node_a, node_b ).iterator();
while (paths.hasNext()){
WeightedPath path = paths.next();
Iterable<Relationship> relationships = path.relationships();
String pathString = "";
for(Node node :path.nodes()){
pathString += node.getProperty("company_name") + " ->";
}
System.out.println(pathString);
System.out.println(path);
}
}
}
}然而,我想得到每段关系的独立长度。例如,我有一条路径如下:
(3)--[PROGRESSED_TO,3800]-->(7)--[PROGRESSED_TO,4350]-->(894) weight:0.088345867
3Com ->Nortel ->Bay Networks但我也想,能看到3Com -(length:24)->Nortel -(length:10)->Bay Networks
有办法这样做吗?
发布于 2014-03-18 07:53:57
您还可以迭代路径的关系:
for(Relationship rel :path.relationships()){
pathString += "(length:" + rel.getProperty("length") + ")";
}或覆盖所有元素
for(PropertyContainer pc :path){
... pc.getProperty("foobar")...
}https://stackoverflow.com/questions/22418075
复制相似问题