42

neo4j で大文字と小文字を区別しない暗号クエリを実行することは可能ですか?

それを試してみてください:http://console.neo4j.org/

これに入力すると:

start n=node(*) 
match n-[]->m 
where (m.name="Neo") 
return m

1 行を返します。しかし、これを入力すると:

start n=node(*) 
match n-[]->m 
where (m.name="neo") 
return m

何も返しません。名前が「Neo」として保存されるためです。大文字と小文字を区別しないクエリを実行する簡単な方法はありますか?

4

4 に答える 4

56

はい。大文字と小文字を区別しない正規表現を使用します。

WHERE m.name =~ '(?i)neo'

https://neo4j.com/docs/cypher-manual/current/clauses/where/#case-insensitive-regular-expressions

于 2012-11-18T10:54:13.353 に答える
10

別の方法は次のとおりです。

WHERE LOWER(m.Name) = LOWER("Neo")

また、Neo4j クライアント (.NET) を使用している場合:

Client.Cypher.Match("(m:Entity)")
    .Where("LOWER(m.Name) = LOWER({name})")
    .WithParam("name", inputName)
    .Return(m => m.As<Entity>())
    .Results
    .FirstOrDefault();
于 2017-01-05T15:46:48.323 に答える