Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Petunjuk kueri repeatMode Gremlin

Mode fokus
Petunjuk kueri repeatMode Gremlin - Amazon Neptune

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

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

Petunjuk kueri repeatMode Neptune menentukan bagaimana mesin Neptune mengevaluasi langkah repeat() dalam traversal Gremlin: breadth first, depth first, atau chunked depth first.

Mode evaluasi langkah repeat() penting ketika digunakan untuk menemukan atau mengikuti jalur, bukan hanya mengulangi langkah dalam jumlah pengulangan terbatas.

Sintaks

Petunjuk kueri repeatMode ditentukan dengan menambahkan langkah withSideEffect untuk kueri.

g.withSideEffect('Neptune#repeatMode', 'mode').gremlin-traversal
catatan

Semua efek samping petunjuk kueri Gremlin diprefiks dengan Neptune#.

Mode yang Tersedia
  • BFS

    Pencarian Breadth-First

    Mode eksekusi default untuk langkah repeat(). Ini mendapat semua node saudara sebelum pergi lebih dalam sepanjang jalur.

    Versi ini intensif memori dan perbatasan bisa menjadi sangat besar. Ada risiko yang lebih tinggi bahwa kueri akan kehabisan memori dan dibatalkan oleh mesin Neptune. Ini paling cocok dengan implementasi Gremlin lainnya.

  • DFS

    Pencarian Depth-First

    Mengikuti setiap jalur ke kedalaman maksimum sebelum beralih ke solusi berikutnya.

    Ini menggunakan lebih sedikit memori. Ini dapat memberikan performa yang lebih baik dalam situasi seperti menemukan jalur tunggal dari titik awal ke beberapa hop.

  • CHUNKED_DFS

    Pencarian Chunked Depth-First

    Pendekatan hibrida yang mengeksplorasi depth-first grafik dalam potongan 1.000 node, bukan 1 node (DFS) atau semua node (BFS)).

    Mesin Neptune akan mendapatkan hingga 1.000 node pada setiap tingkat sebelum mengikuti jalur yang lebih dalam.

    Ini adalah pendekatan yang seimbang antara kecepatan dan penggunaan memori.

    Hal ini juga berguna jika Anda ingin menggunakan BFS, tapi kueri menggunakan terlalu banyak memori.

Contoh

Bagian berikut menjelaskan efek dari mode pengulangan pada traversal Gremlin.

Di Neptune, mode default untuk langkah repeat() adalah untuk melakukan strategi eksekusi breadth-first (BFS) untuk semua traversal.

Dalam kebanyakan kasus, TinkerGraph implementasi menggunakan strategi eksekusi yang sama, tetapi dalam beberapa kasus mengubah eksekusi traversal.

Misalnya, TinkerGraph implementasi memodifikasi query berikut.

g.V("3").repeat(out()).times(10).limit(1).path()

Langkah repeat() dalam traversal ini di-“unrolled” ke dalam traversal berikut, yang menghasilkan strategi depth-first (DFS).

g.V(<id>).out().out().out().out().out().out().out().out().out().out().limit(1).path()
penting

Mesin permintaan Neptune tidak melakukan ini secara otomatis.

Breadth-first (BFS) adalah strategi eksekusi default, dan mirip dengan TinkerGraph dalam kebanyakan kasus. Namun, ada kasus-kasus tertentu di mana strategi depth (DFS) lebih baik.

BFS (Default)

Breadth-first (BFS) adalah strategi eksekusi default untuk operator repeat().

g.V("3").repeat(out()).times(10).limit(1).path()

Mesin Neptune sepenuhnya mengeksplorasi perbatasan sembilan hop pertama sebelum menemukan sepuluh hop solusi. Hal ini efektif dalam banyak kasus, seperti kueri jalur terpendek.

Namun, untuk contoh sebelumnya, traversal akan jauh lebih cepat menggunakan mode depth-first (DFS) untuk operator repeat().

DFS

Kueri berikut menggunakan mode depth-first (DFS) untuk operator repeat().

g.withSideEffect("Neptune#repeatMode", "DFS").V("3").repeat(out()).times(10).limit(1)

Ini mengikuti setiap solusi individu ke kedalaman maksimum sebelum menjelajahi solusi berikutnya.

Di halaman ini

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.