0
我有一個Neo4j圖形數據庫,它映射由表示文件夾和文件的節點組成的文件系統結構。 每個節點都有一個FATHER_OF和一個CHILD_OF關係。寬度第一個Neo4j樹遍歷和TreeNode創建
現在我需要在Java中創建樹節點結構從Neo4j的圖形開始:目前我實現了Neo4j的結構的廣度優先打印如下:
public Traverser getTraverser()
{
Transaction tx = graphDb.beginTx();
Traverser traverser = traverseStorage(rootNode);
return traverser;
}
private static Traverser traverseStorage(final Node startNode) {
TraversalDescription td = Traversal.description()
.breadthFirst()
.relationships(GraphStorage.RelTypes.FATHER_OF, Direction.OUTGOING);
return td.traverse(startNode);
}
現在我試圖創建一個樹使用上面的廣度優先遍歷器,但不知道如何正確地分配正確的父節點到每個節點。
TreeNode root = new DefaultTreeNode("root", null);
Traverser traverser = graphStorage.getTraverser();
TreeNode parent = root;
for (Path directoryPath : traverser) {
DefaultTreeNode tmp1 = new DefaultTreeNode((String)directoryPath.endNode().getProperty("name"), parent);
}
我希望有像directoryPath.endNode()。getParent()這樣的東西,但顯然沒有。 我正在尋找一個不需要我使用Cypher查詢語言的解決方案,有什麼幫助?