Gremlin-Go: langkah pokok tidak boleh bersiri

王林
Lepaskan: 2024-02-09 10:51:19
ke hadapan
992 orang telah melayarinya

Gremlin-Go: langkah pokok tidak boleh bersiri

editor php Apple Gremlin-Go ialah jenis pangkalan data teragih baharu yang menggunakan teknologi langkah pokok yang tidak boleh disiri untuk menyediakan pengguna dengan penyelesaian penyimpanan dan pemprosesan data yang lebih cekap dan boleh dipercayai. Dengan menyimpan data dalam struktur pokok dan menggunakan langkah yang tidak boleh disiri untuk membaca dan menulis data, Gremlin-Go dapat mengekalkan ketekalan dan kebolehpercayaan data dalam persekitaran yang diedarkan. Konsep reka bentuk yang inovatif ini menjadikan Gremlin-Go sebagai salah satu pangkalan data teragih terkemuka pada masa ini, menyediakan sokongan data yang berkuasa untuk perusahaan dari semua saiz.

Kandungan soalan

Saya menjalankan pertanyaan untuk mengulangi semua tepi "masuk" di belakang label tertentu, kemudian saya akan melakukan pertanyaan serupa untuk tepi "keluar". Saya ingin menjadikan ini pokok kerana mungkin terdapat bucu dengan berbilang tepi untuk dilalui dan perlu mencerminkannya dalam klien saya, jadi saya tidak boleh menggunakan tolist() di sini.

Saya sedang menggunakan gremlin-go sdk, tetapi saya mendapat ralat penyahserikatan semasa memanggil langkah tree(). Berikut ialah coretan kod pelanggan saya:

    res, err := g.v(id).
        emit().
        repeat(__.in(label)).
        tree().
        next() // other terminal steps produce same issue
Salin selepas log masuk

Ini akan menghasilkan ralat penyahserialisasian pada jenis data 0x2b iaitu jenis data teras grafbinari "pokok"

2023/02/28 12:23:05 Error occurred during operation gremlinServerWSProtocol.readLoop(): 'E0408: unknown data type to deserialize 0x2b'
2023/02/28 12:23:05 Read loop error 'E0408: unknown data type to deserialize 0x2b', closing read loop.
2023/02/28 12:23:05 Connection error callback invoked, closing protocol.
Salin selepas log masuk

Dokumentasi rujukan gremlin-go nampaknya tidak menyebut apa-apa tentang sokongan bersiri tertentu. Menurut gremlin-go readme, ia menyokong semua jenis data grafbinari teras. Saya telah menguji pertanyaan saya dalam konsol gremlin untuk mengesahkan pertanyaan dan pelayan: g.v(<id>).emit().repeat(__.in(<label>)).tree().next()</label></id>.

Untuk beberapa konteks tambahan, saya sedang membangun secara tempatan terhadap gremlin-server:3.5.3 untuk bereksperimen dengan matlamat menyelesaikan pertanyaan dengan sokongan untuk aws neptune. Saya tahu ini tidak boleh ditukar ganti sepenuhnya dan akan mengikut rujukan neptune-gremlin. Versi terbaharu neptune menyatakan bahawa versi terkini gremlin yang disokong ialah 3.5.3.

Penyelesaian

Secara amnya, hanya Java (dan pelanggan berasaskan JVM yang lain) dapat menyahsiri struktur seperti subgraf atau pokok. Ini kerana ini adalah satu-satunya pelanggan Gremlin yang mempunyai pelaksanaan asli bagi struktur data yang tersedia pada masa ini (cth. klien JVM mempunyai TinkerGraph tersedia).

Ini adalah sesuatu yang sangat diketahui oleh komuniti TinkerPop, dan ia terdapat dalam senarai perkara yang patut dipertingkatkan.

Penyelesaian yang mungkin (tidak begitu bagus) ialah menggunakan titik akhir HTTP (menghantar pertanyaan sebagai teks) dan mengendalikan GraphSON yang dikembalikan (jika struktur data sedemikian mesti dikembalikan).

Atas ialah kandungan terperinci Gremlin-Go: langkah pokok tidak boleh bersiri. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:stackoverflow.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!