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”.

Dukungan langkah Gremlin asli di Amazon Neptune

Mode fokus
Dukungan langkah Gremlin asli di Amazon Neptune - 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.

Mesin Amazon Neptune saat ini tidak memiliki dukungan asli penuh untuk semua langkah Gremlin, seperti yang dijelaskan di Menyetel kueri Gremlin. Dukungan saat ini terbagi dalam empat kategori:

Langkah-langkah Gremlin yang selalu dapat dikonversi ke operasi mesin Neptune asli

Banyak langkah Gremlin dapat dikonversi ke operasi mesin Neptune asli selama mereka memenuhi kondisi berikut:

  • Mereka tidak didahului di dalam kueri dengan langkah yang tidak dapat dikonversi.

  • Langkah induk mereka, jika ada, dapat dikonversi,

  • Semua traversals turunan mereka, jika ada, dapat dikonversi.

Langkah-langkah Gremlin berikut selalu dikonversi ke operasi mesin Neptune asli jika mereka memenuhi kondisi tersebut:

Langkah Gremlin yang dapat dikonversi ke operasi mesin Neptune asli dalam beberapa kasus

Beberapa langkah Gremlin dapat dikonversi ke operasi mesin Neptune asli dalam beberapa situasi tetapi tidak pada situasi lain:

  • addE( ) — Langkah addE() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali segera diikuti oleh langkah property() yang berisi traversal sebagai kunci.

  • addV( ) — Langkah addV() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali segera diikuti oleh langkah property() yang berisi traversal sebagai kunci, atau kecuali beberapa label ditetapkan.

  • aggregate( ) — Langkah aggregate() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali langkah ini digunakan dalam traversal turunan atau sub-traversal, atau kecuali nilai yang disimpan adalah sesuatu selain vertex, edge, id, label atau nilai properti.

    Dalam contoh di bawah ini, aggregate() tidak dikonversi karena sedang digunakan dalam traversal turunan:

    g.V().has('code','ANC').as('a') .project('flights').by(select('a') .outE().aggregate('x'))

    Dalam contoh ini, aggregate( ) tidak dikonversi karena yang disimpan adalah min() dari nilai:

    g.V().has('code','ANC').outE().aggregate('x').by(values('dist').min())
  • barrier( ) — Langkah barrier() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali langkah yang mengikutinya tidak dikonversi.

  • cap( ) — Satu-satunya kasus di mana langkah cap() dikonversi adalah ketika dikombinasikan dengan langkah unfold() untuk mengembalikan versi tidak dilipat dari agregat vertex, edge, id, atau nilai poperti. Dalam contoh ini, cap() akan dikonversi karena diikuti oleh .unfold():

    g.V().has('airport','country','IE').aggregate('airport').limit(2) .cap('airport').unfold()

    Namun, jika Anda menghapus .unfold(), cap() tidak akan dikonversi:

    g.V().has('airport','country','IE').aggregate('airport').limit(2) .cap('airport')
  • coalesce () — Satu-satunya kasus di mana coalesce() langkah dikonversi adalah ketika mengikuti pola Upsert yang direkomendasikan pada halaman resep. TinkerPop Pola coalesce( ) lainnya tidak diperbolehkan. Konversi terbatas pada kasus di mana semua traversals turunan dapat dikonversi, mereka semua menghasilkan jenis yang sama sebagai output (vertex, edge, id, nilai, kunci, atau label), mereka semua melakukan traversal ke elemen baru, dan mereka tidak mengandung langkah repeat().

  • constant( ) — Langkah constant( ) saat ini hanya dikonversi jika digunakan dalam bagian sack().by() dari traversal untuk menetapkan nilai konstan, seperti ini:

    g.V().has('code','ANC').sack(assign).by(constant(10)).out().limit(2)
  • cyclicPath( ) — Langkah cyclicPath() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali langkah ini digunakan dengan modulator by(), from(), atau to(). Dalam kueri berikut, misalnya, cyclicPath() tidak dikonversi:

    g.V().has('code','ANC').as('a').out().out().cyclicPath().by('code') g.V().has('code','ANC').as('a').out().out().cyclicPath().from('a') g.V().has('code','ANC').as('a').out().out().cyclicPath().to('a')
  • drop( ) — Langkah drop() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali langkah ini digunakan di dalam langkah sideEffect( atau optional().

  • fold () — Hanya ada dua situasi di mana langkah fold () dapat dikonversi, yaitu ketika digunakan dalam pola Upsert yang direkomendasikan pada halaman TinkerPop resep, dan ketika digunakan dalam group().by() konteks seperti ini:

    g.V().has('code','ANC').out().group().by().by(values('code', 'city').fold())
  • has () — Langkah `has () `umumnya dapat dikonversi ke operasi mesin Neptunus asli yang disediakan kueri dengan `T` menggunakan predikat `P.eq`, `P.neq` atau `P.contains`. Harapkan variasi `has () `yang menyiratkan contoh `P` untuk dikonversi ke native juga, seperti `HasiD ('id1234')` yang setara dengan `has (eq, t.id, 'id1234') `.

  • id( ) — Langkah id() dikonversi kecuali digunakan pada properti, seperti ini:

    g.V().has('code','ANC').properties('code').id()
  • Mergee ()mergeE() Langkah dapat dikonversi ke operasi mesin Neptunus asli jika parameter (kondisi gabungan, onCreate danonMatch) konstan (baik, konstantanull, atau a). Map select() Map Semua contoh di tepi atas dapat dikonversi.

  • MergeV () — Langkah mergeV () dapat dikonversi ke operasi mesin Neptunus asli jika parameter (kondisi gabungan, onCreate danonMatch) konstan (baik, konstanta, atau null a). Map select() Map Semua contoh dalam simpul upserting dapat dikonversi.

  • order( ) — Langkah order() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali langkah yang mengikutinya adalah true:

    • Langkah order() berada dalam traversal turunan nested, seperti ini:

      g.V().has('code','ANC').where(V().out().order().by(id))
    • Pengurutan lokal sedang digunakan, seperti misalnya dengan order(local).

    • Sebuah pembanding kustom sedang digunakan dalam modulasi by() untuk mengurutkan. Contohnya adalah penggunaan sack() ini:

      g.withSack(0). V().has('code','ANC'). repeat(outE().sack(sum).by('dist').inV()).times(2).limit(10). order().by(sack())
    • Ada beberapa pengurutan pada elemen yang sama.

  • project( ) — Langkah project() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali jumlah pernyataan by() yang mengikuti project() tidak cocok dengan jumlah label yang ditentukan, seperti di sini:

    g.V().has('code','ANC').project('x', 'y').by(id)
  • range( ) — Langkah range() hanya dikonversi ketika ujung bawah rentang yang dimaksud adalah nol (misalnya, range(0,3)).

  • repeat( ) — Langkah repeat() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali di-nested di dalam langkah repeat() lain, seperti ini:

    g.V().has('code','ANC').repeat(out().repeat(out()).times(2)).times(2)
  • sack( ) — Langkah sack() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali dalam kasus berikut:

    • Jika operator sack non-numerik sedang digunakan.

    • Jika operator sack numerik selain +, -, mult, div, min dan max sedang digunakan.

    • Jika sack() digunakan di dalam langkah where() untuk menyaring berdasarkan nilai sack, seperti di sini:

      g.V().has('code','ANC').sack(assign).by(values('code')).where(sack().is('ANC'))
  • sum( ) — Langkah sum() umumnya dapat dikonversi ke operasi mesin Neptune asli, tetapi tidak ketika digunakan untuk menghitung penjumlahan global, seperti ini:

    g.V().has('code','ANC').outE('routes').values('dist').sum()
  • union ()union() Langkah ini dapat dikonversi ke operasi mesin Neptunus asli selama itu adalah langkah terakhir dalam kueri selain dari langkah terminal.

  • unfold ()unfold() Langkah ini hanya dapat dikonversi ke operasi mesin Neptunus asli ketika digunakan dalam pola Upsert yang direkomendasikan pada TinkerPop halaman resep, dan ketika digunakan bersama dengan seperti ini: cap()

    g.V().has('airport','country','IE').aggregate('airport').limit(2) .cap('airport').unfold()
  • where( ) — Langkah where() umumnya dapat dikonversi ke operasi mesin Neptune asli, kecuali dalam kasus berikut:

    • Saat modulasi by( ) digunakan, seperti ini:

      g.V().hasLabel('airport').as('a') .where(gt('a')).by('runways')
    • Ketika operator perbandingan selain eq, neq, within, dan without digunakan.

    • Ketika agregasi yang disediakan pengguna digunakan.

Langkah Gremlin yang tidak pernah dikonversi ke operasi mesin Neptune asli

Langkah-langkah Gremlin berikut didukung di Neptune tetapi tidak pernah dikonversi ke operasi mesin Neptune asli. Sebaliknya, mereka dieksekusi oleh server Gremlin.

Langkah-langkah Gremlin yang tidak didukung di Neptune sama sekali

Langkah-langkah Gremlin berikut tidak didukung sama sekali di Neptune. Dalam kebanyakan kasus ini karena mereka memerlukan GraphComputer, yang saat ini tidak didukung Neptune.

io()Langkah ini sebenarnya sebagian didukung, karena dapat digunakan untuk read() dari URL tetapi tidak untukwrite().

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