web-dev-qa-db-ja.com

Neo4jCypherで文字列にフィルターを含めるにはどうすればよいですか?

Neo4Jで文字列にフィルターを含める必要があります。アイデアは単純です。

良い例は、人のデータベースから、彼の名前に車の部分文字列を含むすべての人を取得する必要があることです。

これどうやってするの?

16
chfumero

正規表現を使用して、名前の一部に一致させることができます。次に例を示します。

MATCH (n)
WHERE n.name =~ '.*car.*'
RETURN n

データベース内のすべての人に「Person」というラベルが割り当てられている場合、クエリは次のようになります。

MATCH (n:Person)
WHERE n.name =~ '.*car.*'
RETURN n

詳細については、 http://docs.neo4j.org/chunked/stable/query-where.html#_regular_expressions を参照してください。

17
Axel Morgner

追加のアップデートとして、neo4j 3.0から、以下を使用する方が読みやすくなる場合があります。

MATCH(n)
WHERE n.name CONTAINS 'car'
RETURN n

(編集して Maciej 私の応答を修正しました。ありがとうございます!)

23
yawmoght