2013-02-26 33 views
4

我正在閱讀neo4j文檔tutorials-java-embedded-index。它描述了參考節點的概念。創建用戶參考節點usersReferenceNode,用於連接在數據庫中創建的所有用戶節點。neo4j中引用節點的概念仍然使用還是被棄用?

這個參考節點的用途是什麼?當我嘗試使用graphDb.getReferenceNode()時,它顯示爲已棄用的方法。

那麼,是否會有任何需要創建參考節點?如果是,那麼使用這樣的參考節點是什麼和如何?

謝謝。

回答

2

參考節點I的一個用例可以看到的是刪除特定節點。例如考慮以下情況:

> I have two types of nodes, say ANIMAL and BIRD 
> I have a reference node `animalsReference` linked to all ANIMAL nodes and 
> I have a reference node `birdsReference` linked to all BIRD nodes 

現在將來假設我想要刪除所有BIRD節點。在這裏,我可以使用'birdsReference'來獲取所有BIRD類型的節點並將其全部刪除。

如果graphDb.getReferenceNode()已被棄用,我們如何完成這種類型的任務(刪除一些節點)?我可以看到graphDb.getAllNodes()已被棄用。那麼檢索graphDB中所有節點的方法是什麼?

+2

那一個現在在http://api.neo4j.org/current/org/neo4j/tooling/GlobalGraphOperations.html – 2013-02-27 12:40:06

8

由於系統的設計,參考節點的概念不推薦使用。索引應用於檢索某些類型的節點等。因此,您可以使用名爲Animal的索引和名爲Bird的索引,這些索引可以存儲這些「類型」的節點。

參考節點被刪除的一個原因是密集節點問題,如果您不能將所有內容都存儲在Neo4j的RAM中,則會導致問題。這是你擁有一個擁有許多關係的節點的地方。在某個點之後(取決於系統,但通常是成千上萬)根據關係類型找到節點。