我在尝试用 Java 可视化 Neo4jGraph 时遇到了一个奇怪的问题。我创建了一个 GraphJung graphjung 对象并尝试访问之前定义的 Vertex 和 Edge 属性。即使可以正确检索边缘标签,顶点似乎也没有设置任何属性。代码片段如下:
Neo4jVertex c = (Neo4jVertex) graph.addVertex(null);
c.setProperty("name", ("In_"+i));
(...)
Cs.put("C_"+i, c); // a TreeMap with vertices saved.
Edge e = graph.addEdge(null, Cs.get("C_"+i), Cs.get("C_"+cToConnect), name);
(...)
// Render created graph online
Rendering render = new Rendering();
render.visualize(new GraphJung<Neo4jGraph>(graph));
并且,在 visual() 内部,以下代码在调用 .setproperty() 时返回一个空对象:
// Set the labels in Vertices.
Transformer<Vertex, String> vertexLabelTransformer = new Transformer<Vertex, String>() {
public String transform(Vertex vertex) {
**return (String)vertex.getProperty("name");**
}
};
Edges 代码可以正常工作:
// Set the labels in Edges.
Transformer<Edge, String> edgeLabelTransformer = new Transformer<Edge, String>() {
public String transform(Edge edge) {
return edge.getLabel();
}
};