私は現在、neo4jが新しく、手元にあるタスクについてのcypherクエリを調べています。私はJavaでneo4jボルトドライバを使用しています ここに私が達成しようとしているものです。neo4jグラフで1対多の関係を最も効率的に作成する方法は?
employerId 2:[社員1、社員2、employeeId3、...]基本的には雇用主と従業員との関係を示し
私は(HashMapのに保存されている)は、JavaのArrayListとして利用可能なデータ以下のようなものを持っています今
(これらは雇用者2の従業員です)、私はグラフにこれらの従業員に&雇用者を見つける必要がある(彼らは、またはすでに存在しない可能性があります)と「(X:雇用)を作成 - [採用] - >(y:従業員) "それらの間の関係。
私が考えてもいい方法は、毎回雇用主と従業員を検索し、それぞれに個別のCREATEクエリを実行することです。
match (employer:Employer{name:"John"}), (name:Employee{name:"Snow"}) CREATE (employer)-[pr:EMPLOYES]->(employee)
しかし、私は同じEmployerノードを何度も検索する必要はないと感じています。今のところ私にとっては時間が重要な基準なので、もっと良い方法を探しています(存在する場合)
neo4jへの初心者としては、雇用者IDの検索を一度行うだけで、その結果を使用して複数のクエリを実行し、毎回Employee IDを検索します。しかし、私はこれを行うための正しいクエリを見つけることができません。さらに、これは適切なアプローチですか?私はJavaからこのクエリを準備する必要があります。だから私は複数回クエリを行うか、単一のクエリを送信する必要がありますか?
は完璧に動作し、仕事をしていません。ベンチマークでパフォーマンスにも役立つかどうかを確認します。 (それがそうであるように見える) 回答を受け入れたものとしてマークする。 –