Neo4j刪除節點和關係 徹底刪除節點標籤名

2022-06-16 19:27:15 字數 1683 閱讀 3128

總結提前:

先刪關係,再刪節點

當記不得關係名時,type(r)可以查到關係名

徹底刪除節點標籤名,需要刪除前期對該標籤名建立的索引

問題描述:

資料庫裡已經建立好了節點和關係,現在想刪除bc_company、bc_knowledge、bc_person、coin這4類節點,但是它們之間存在複雜的關係。

先刪節點會遇到錯誤。當節點與其他節點存在關係的時候,刪除該節點就會報錯,錯誤提示你應該先刪除它的關係們。所以應該先刪關係,再刪節點。

假設我目前想刪除bc_person這類節點,但是這類節點與其他節點存在關係,並且我還不知道是什麼關係,那麼怎麼刪除bc_person這類節點,以及它存在的所有關係?

通過語句:match (n:bc_person)-[r]-() return n,r可以檢視到以下資訊

雖然上圖執行語句後顯示:刪除了1520個節點,刪除了1530個關係。

如果再點選資料庫中的bc_person節點還有返回值,說明還有一些不存在關係的節點沒有刪除掉。所以還得再用語句:match (n:bc_person) delete n  確保bc_person型別節點完全刪除乾淨了。

使用以上語句刪除乾淨了所有節點,但是節點標籤bc_person還留存在資料標籤裡

如果bc_person該標籤名,你未來不想使用了,那麼可以參考how to delete labels in neo4j?該鏈結說沒有刪除標籤名是因為這個標籤名還建立得有索引。

刪除bc_person節點索引後,該標籤就不顯示在標籤列表裡了

假設要刪除bc_knowledge類節點的某個關係,但是你忘記具體的關係名是什麼了,所以應該檢視bc_knowledge類存在哪些關係,關係名是什麼。具體語句:match (n:bc_knowledge)-[r]-() return r,type(r)

然後再指定要刪除的具體的關係名,假如我要刪除bc_knowledge類的companytagis關係。語句:match (n:bc_knowledge)-[r:companytagis]-() delete r   具有刪除某乙個關係。注意,如果delete時將n也放在其後,會出問題,因為n即bc_knowledge還存在其他關係,在你還沒有刪除掉bc_knowledge的所有關係之前,是不能正確刪除節點的。

neo4j 刪除重複節點

這裡的重複節點指的是乙個label下的部分節點,屬性a相同,其他屬性不相同 本文中的資料為舉例說明,實際資料不便展示,但表達的意思一致 1.neo4j中label為person的的節點有name和wechat兩個屬性,關係type為friend 2.在進行資料的清洗和預處理過程中,name對應的we...

neo4j建立節點之間的關係

節點的建立時很簡單的,只要用create建立名字和屬性即可。但是節點的關係建立有點複雜,因為需要考慮如何匹配到有關係的兩個節點,以及關係本身的屬性如何設定。這裡我簡單學一下如何建立節點之間的關係。選擇的順序是由易到難,而不是場景的使用頻率。語法 create return 案例 create fb1...

neo4j初學和人物關係

本文不闡述開發具體工作,只是從以下幾個方面介紹整個開發的過程 1 原始需求 2 嘗試實現 3 改進 1 原始需求 最近想要畫乙個人物圖譜,人物數量過百。2 嘗試實現 1 尋找實現方式 開始是想要用思維導圖做的,但是發現拖動和聯絡太多的時候,不美觀了 後來在網上看了許多的關係展示效果,有echarts...