2017-03-13 84 views
1

我有一些具有name屬性的標記節點。過了一段時間,我開始用小寫名稱創建它們,以避免同一標籤有不同字母的多個實例(例如:標籤,標籤等)。Cypher查詢:將節點屬性設置爲小寫

我想更新大寫名稱的現有標籤,並將它們設置爲小寫,這可能與密碼查詢?

+0

通過標籤,你是指標籤?如果是,那麼你需要刪除現有的和設置新的標籤。看看http://stackoverflow.com/questions/24056127/how-to-change-update-a-label-in-neo4j-cypher –

回答

2

像下面這樣的東西應該工作:

MATCH (tag:Tag) 
WHERE exists(tag.name) AND tag.name =~ '.*\\p{Lu}.*' 
SET tag.name = lower(tag.name) 
RETURN tag.name, lower(tag.name) 

如果你想所有標籤屬性小寫,你可以直接跳過正則表達式檢查,但只是爲了完整性,這應該與任何包含大寫-class字符(\p{Lu})。

與往常一樣,在運行這種破壞性更改之前,您應該備份數據庫!

+0

這樣做了!嘗試在當然的數據庫的副本上;)謝謝 –

相關問題