我創建了很多帶有幾個屬性值爲NULL的節點(也許它的值是「」),現在我想刪除所有屬性。我無法使用其屬性名稱逐步刪除屬性。 更新1: 當我呼籲瀏覽器match(u:User) return properties(u)
,它返回: enter image description here通過Cypher刪除不知道屬性名稱的節點的屬性
0
A
回答
0
啊,沒關係,這些都是空字符串值,你猜。
我們需要一個圖表範圍的查詢,它將查找具有空字符串屬性的節點。這將不得不觸及所有節點的所有屬性,因此在更大的圖上可能會很昂貴。
至於動態去除這些,Cypher對這種操作沒有很好的支持。但是,如果您可以安裝APOC Procedures,那麼我們可以輕鬆清除這些屬性。
我在這個查詢中使用的方法是在節點的鍵上使用過濾器/提取,並創建一個到null
的鍵的配對,作爲具有空字符串值的所有鍵的兩元素列表。
然後,我們將使用apoc.map.fromPairs()
生成地圖這些鍵爲空值,則使用節點,將所有這些地圖值適用於該節點的屬性,因爲設置屬性有效去除這些屬性在+=
操作至null
與刪除它相同。
MATCH (u:User) // if you want this run for all nodes, remove the label
WITH u, [key in keys(u) WHERE u[key] = '' | [key, null]] as nullifiers
WHERE size(nullifiers) <> 0
WITH u, apoc.map.fromPairs(nullifiers) as nullifyMap
SET u += nullifyMap
+0
好的!非常感謝! –
相關問題
- 1. Neo4j/Cypher - 通過不同的屬性值返回節點
- 2. 通過屬性名稱通過ASP.NET中的XSL選擇節點
- 3. 通過屬性名稱
- 4. 通過屬性值刪除節點的XML JavaScript
- 5. 如何刪除節點的屬性(MSXML)
- 6. 刪除文檔節點上的屬性
- 7. 尋找對象的屬性的值與不知道屬性的名稱
- 8. 刪除SimpleDB中的「列」名稱/屬性
- 9. 使用MetdataId查找已刪除屬性的屬性名稱
- 10. 當您知道使用路徑的屬性時,節點的名稱?
- 11. 流星:通過文本屬性刪除屬性不工作
- 12. Xpath如何通過屬性C++刪除子節點libxml2
- 13. 的Python:通過屬性名稱
- 14. 刪除節點,其中屬性=變量
- 15. 刪除屬性各個節點在XSLT
- 16. 刪除屬性(軌道2)
- 17. XSLT排序節點名稱,則屬性名稱,然後根據屬性值
- 18. 在pom.xml中刪除屬性名稱
- 19. 如何讓一個屬性知道它所在的屬性的名稱?
- 20. neo4j屬性名稱,節點名稱和邊緣名稱長度
- 21. Neo4j Cypher:根據節點屬性的值匹配並刪除子圖
- 22. Cypher - 刪除具有給定屬性的節點並重新連接圖
- 23. 如何從xml中的節點中刪除重複的名稱空間屬性?
- 24. 如何通過C#中的屬性名稱獲取XML節點過濾值?
- 25. 我可以通過屬性名稱設置屬性嗎?
- 26. 通過映射屬性名稱複製屬性值
- 27. XSLT根據另一個節點的屬性刪除節點
- 28. Neo4j Cypher:檢查路徑中不連續節點的屬性
- 29. 通過屬性值獲取節點neo4j
- 30. 通過名稱獲取屬性
'null'永遠不會是Neo4j中的屬性值,這表示不存在。你可以顯示你用來檢測這些有問題的屬性的查詢嗎? – InverseFalcon
對不起。它的值是帶字符串值的「」。當我在瀏覽器上獲得財產時,它返回的財產是空的 –