Tempatkan node yang lebih ketat di sisi kiri dalam ekspresi Variable-Length Path (VLP) - Amazon Neptune

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Tempatkan node yang lebih ketat di sisi kiri dalam ekspresi Variable-Length Path (VLP)

Dalam kueri Variable-Length Path (VLP), mesin kueri mengoptimalkan evaluasi dengan memilih untuk memulai traversal di sisi kiri atau kanan ekspresi. Keputusan didasarkan pada kardinalitas pola di sisi kiri dan kanan. Kardinalitas adalah jumlah node yang cocok dengan pola yang ditentukan.

  • Jika pola yang tepat memiliki kardinalitas satu, maka sisi kanan akan menjadi titik awal.

  • Jika sisi kiri dan kanan memiliki kardinalitas satu, ekspansi diperiksa di kedua sisi dan dimulai di samping dengan ekspansi yang lebih kecil. Ekspansi adalah jumlah tepi keluar atau masuk untuk node di sebelah kiri dan node di sisi kanan ekspresi VLP. Bagian optimasi ini hanya digunakan jika hubungan VLP searah dan jenis hubungan disediakan.

  • Jika tidak, sisi kiri akan menjadi titik awal.

Untuk rantai ekspresi VLP, optimasi ini hanya dapat diterapkan pada ekspresi pertama. Yang lain VLPs dievaluasi dimulai dengan sisi kiri. Sebagai contoh, biarkan kardinalitas (a), (b) menjadi satu, dan kardinalitas (c) lebih besar dari satu.

  • (a)-[*1..]->(c): Evaluasi dimulai dengan (a).

  • (c)-[*1..]->(a): Evaluasi dimulai dengan (a).

  • (a)-[*1..]-(c): Evaluasi dimulai dengan (a).

  • (c)-[*1..]-(a): Evaluasi dimulai dengan (a).

Sekarang biarkan tepi masuk (a) menjadi dua, dan tepi keluar (a) menjadi tiga, tepi masuk (b) menjadi empat, dan tepi keluar (b) menjadi lima.

  • (a)-[*1..]->(b): Evaluasi dimulai dengan (a) karena tepi keluar (a) kurang dari tepi masuk (b).

  • (a)<-[*1..]-(b): Evaluasi dimulai dengan (a) karena tepi masuk (a) kurang dari tepi keluar (b).

Sebagai aturan umum, tempatkan pola yang lebih ketat di sisi kiri ekspresi VLP.