0

私のデータベースには、タグ付けされた製品があります。各 Product には、タグ内のすべての単語を含む index という配列プロパティがあります。Neo4j の最後の更新の前に、次のクエリでクエリを実行できましたが、機能しなくなりました。廃止される可能性があると思います。

MATCH (p:Product)-[:has_tag]->(tag:Tag)
WHERE ALL (x IN ['game', 'action']
WHERE x IN p.index)  RETURN p;

エラーが発生します

 Type mismatch: p already defined with 
 conflicting type Node (expected Collection<Any>)     

この場合、「ゲーム」と「アクション」の両方を含むすべての製品タグを検索できるように、このクエリを機能させるにはどうすればよいですか?

また、そのようなクエリのパフォーマンスはどうですか?これはこの種の検索を行う良い方法ですか?それとも遅くなる可能性がありますか?

4

1 に答える 1

1

現在のバージョンで動作しない理由はわかりませんが、これは可能です。

MATCH (p:Product)-[:has_tag]->(tag:Tag)
WHERE length(filter(x IN p.index WHERE x in ['game', 'action'])) = 2
RETURN p

インデックスに重複したタグがないことを前提としています

于 2013-10-18T19:31:41.420 に答える