從neo4j
手冊中,我知道如何使用Traversal框架。 但是當我的圖在Neo4j
斷開時,我不知道如何遍歷所有的節點。在neo4j中,如何遍歷使用JAVA API的斷開圖形?
0
A
回答
0
我不認爲可以使用遍歷框架來完成。您可以使用GlobalGraphOperations.at(db).getAllNodes()來訪問所有節點。 http://api.neo4j.org/2.0.3/org/neo4j/tooling/GlobalGraphOperations.html
0
遍歷通常假定節點已連接;遍歷是指經過一些關係。如果你不能通過關係從A到B,那麼在同一個遍歷中你不能達到它們。
This method in the Java API會讓你瀏覽整個數據庫中的每一個節點,但它不會假定任何順序。
所以這取決於你的要求。一種做法可能是啓動匹配節點(即密碼中的MATCH n RETURN n
或使用上述方法)。使用您遇到的每個節點作爲遍歷所有關係的基礎。保留已經遇到的節點ID列表。當您從遍歷一組節點返回時(返回到緩慢迭代的完整列表),然後跳過通過遍歷已經訪問的總列表中返回的任何節點。
所以,在僞代碼,像這樣:
HashSet<Long> seenIds = new HashSet<Long>();
for(Node n : allNodesInDatabase) {
if(seenIds.contains(n.getId()) continue;
traverse(n);
}
function traverse(n) {
// Use traversal framework to walk all relationships in/out of "n".
// Update "seenIds" with anything the traversal framework sees.
}
這會發現所有「斷開子圖」,並都確保您在數據庫中接觸的一切,但它是通過一些遍歷爲了你做定義。
相關問題
- 1. Neo4j遍歷API
- 2. php api vs neo4j的java遍歷框架
- 3. 使用REST API在JAVA中遍歷Neo4j節點和關係
- 4. 在查詢執行過程中,neo4j如何遍歷圖形
- 5. GremlinPipeLine在Titan圖形用例中的java API鏈遍歷
- 6. 遍歷使用暗號在Neo4j的
- 7. 使用過濾器在遍歷的Neo4j
- 8. 如何在neo4j java遍歷中排除連續的RelationshipTypes?
- 9. Neo4j圖深度遍歷Cypher
- 10. Neo4j的VS的Apache Giraph在圖遍歷
- 11. 如何使Neo4j遍歷更快?
- 12. Neo4J中的遍歷樹
- 13. 如何用ArangoDB和PHP遍歷圖形
- 14. 如何在neo4j中存儲這種圖形以進行快速遍歷?
- 15. Neo4j:遍歷返回
- 16. C#圖形遍歷
- 17. 遍歷器關係方向order neo4j java
- 18. 遍歷在Java中
- 19. 打開圖遍歷
- 20. nodejs遍歷(js-traverse)模塊:如何'中斷'遍歷
- 21. Neo4j Cypher:如何遍歷ExecutionResult結果
- 22. 在java遍歷框架中的neo4j密碼查詢
- 23. 如何遍歷使用thymeleaf
- 24. 如何從遍歷Subprocess.Popen標準輸出的循環中斷開?
- 25. 如何循環遍歷D中的常量引用的圖形?
- 26. 在Neo4j中識別遍歷順序
- 27. Neo4j - 爲圖遍歷添加邏輯
- 28. Neo4j藍圖vs本機遍歷速度。 。
- 29. 遍歷在Java
- 30. 樹的遍歷在Java中
非常感謝您的回覆。由於這個圖中有很多節點,我不能把它們全部放在內存中。現在我試圖過濾一些無用的節點並使圖形變小。 – user3615912