Neo4jデータベース(2.0.3)があります。現在、Cypherを使用して、データセットに対していくつかのテストクエリを実行しています。名前の配列を含むプロパティを持つレコードのセットがあります。基本的な正規表現を使用して検索しながら、この名前の配列を検索できるようにしたいです。これは暗号内で可能ですか?そうでない場合は、これについてどのように推奨しますか?
これらのクエリの両方を組み合わせるもの:
MATCH (s:Record) WHERE "John" IN s.name RETURN s;
MATCH (s:Record) WHERE s.name =~ '(?i).*john.*)' RETURN s;
次のサンプルデータについて考えてみます。
CREATE (:Record {name: ['John', 'Bob']}),
(:Record {name: ['Alice', 'Johnny']}),
(:Record {name: ['the johnster', 'Charles']}),
(:Record {name: ['Danny', 'Josh']})
プロパティ配列の要素のいずれかがname
正規表現に一致するすべてのレコードを検索する場合は、を使用しますANY
。プロパティ配列のすべての要素がname
正規表現に一致するすべてのレコードを検索する場合は、を使用しますALL
。私はあなたが前者を望んでいると信じています:
MATCH (s:Record)
WHERE ANY(name IN s.name WHERE name =~ '(?i).*john.*')
RETURN s.name
これは次を返します:
s.name
John, Bob
Alice, Johnny
the johnster, Charles
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加