2013-02-05 50 views
2

我使用映射爲一個節點的Neo4j以下類:如何將regex應用於Neo4j中的字符串數組?

public class Item 
{ 
    public long Id { get; set; } 
    public string Name { get; set; } 
    public string[] Synonyms { get; set; } 
} 

的想法是,數據庫檢索,應符合對名稱財產,或在同義詞任何項目陣列:

以下搜索執行區分大小寫匹配(限幅爲了簡潔):

START (...) WHERE item.Name = "searchTerm") OR ("searchTerm" IN item.Synonyms!) RETURN item; 

我試圖執行不區分大小寫比賽,但只得到儘可能的:

START (...) WHERE item.Name =~ '(?i)searchTerm') OR ("searchTerm" IN item.Synonyms!) RETURN item; 

是否有可能對同義詞字符串數組進行不區分大小寫的比賽嗎?

回答

4

我使出這一點,似乎這樣的伎倆:

WHERE item.Name =~ '(?i)searchTerm') OR (ANY(s IN item.Synonyms! WHERE s =~ '(?i)searchTerm') 
2

您可以使用str()功能:

WHERE str(item.Synonyms) =~ '(?).*whatever.*' 
相關問題