2

Neo4jノードとしてマップされた次のクラスを使用しています。

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

データベース検索は、 Nameプロパティ、またはSynonyms配列内の任意のアイテムと一致する必要があるという考え方です。

次の検索では、大文字と小文字が区別される一致が実行されます(簡潔にするためにクリップされています)。

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

2 に答える 2

4

私はこれに頼りました。これはトリックを行うようです:

WHERE item.Name =~ '(?i)searchTerm') OR (ANY(s IN item.Synonyms! WHERE s =~ '(?i)searchTerm')
于 2013-02-06T10:11:30.757 に答える
2

str()次の関数を使用できます。

WHERE str(item.Synonyms) =~ '(?).*whatever.*'
于 2013-02-05T13:13:28.017 に答える